feat(events): restore inc_file_counts opt-in, session list layout + button polish
- Add `inc_file_counts` flag to `load_ae_obj_id__event_session` — maps to backend alt view (v_event_session_w_file_count) when true; default stays lightweight. Callers never pass raw view names. - Preserve-on-write fallback in `_refresh_session_id_background` keeps cached file_count/file_count_all if API response omits them. - Session detail +page.ts uses `inc_file_counts: true` so SvelteKit prefetch no longer clobbers counts via bulkPut on hover. - Remove explicit `view: 'alt'` from launcher +page.ts (now invalid param). - Session list link: flex-1 + min-w-0 for full-row width; name flex-1 pushes badge group right; code + file_count stacked in flex-col items-end. - Hover styling: button-like appearance with slow fade-out (duration-500) / fast snap-in (hover:duration-150). - Session +page.svelte: use url_session_id (string) for link_to_id props and auth__kv.session[] index — fixes TS type error from number|undefined. - IDAA layout: dormant tech notice banner (guarded by 1==3, remove when ready). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -149,7 +149,7 @@ function toggle_details(id: string) {
|
||||
<div class="flex items-center gap-2">
|
||||
<a
|
||||
href="/events/{session_obj?.event_id}/session/{session_obj?.event_session_id}"
|
||||
class="hover:text-primary-500 flex flex-row items-center gap-2 text-left text-lg font-bold transition-colors duration-200">
|
||||
class="hover:text-primary-800-200 hover:bg-surface-400-600 active:bg-surface-200-700 flex flex-1 flex-row items-center gap-2 rounded-lg px-2 py-2 text-left text-lg font-bold transition-colors duration-1000 hover:duration-300 min-w-0">
|
||||
{#if session_obj?.hide}
|
||||
<EyeOff
|
||||
size="1em"
|
||||
@@ -160,15 +160,24 @@ function toggle_details(id: string) {
|
||||
class="text-primary-500 flex-none" />
|
||||
{/if}
|
||||
|
||||
<span>{session_obj?.name}</span>
|
||||
<span class="flex-1">{session_obj?.name}</span>
|
||||
|
||||
{#if session_obj?.file_count_all}
|
||||
<span
|
||||
class="badge preset-tonal-success flex items-center gap-1 px-1 py-0 text-xs">
|
||||
<Check size="1em" />
|
||||
{#if (!$events_loc.pres_mgmt.hide__session_code && session_obj?.code) || session_obj?.file_count_all}
|
||||
<div class="flex flex-col items-end gap-0.5">
|
||||
{#if !$events_loc.pres_mgmt.hide__session_code && session_obj?.code}
|
||||
<span class="border-surface-300-700 text-surface-700-300 bg-surface-200-800 rounded border px-1.5 py-0.5 font-mono text-xs select-all hover:bg-surface-100-900">
|
||||
{session_obj.code}
|
||||
</span>
|
||||
{/if}
|
||||
|
||||
{session_obj.file_count_all}
|
||||
</span>
|
||||
{#if session_obj?.file_count_all}
|
||||
<span
|
||||
class="badge preset-tonal-success flex items-center gap-1 px-1 py-0 text-xs">
|
||||
<Check size="1em" />
|
||||
{session_obj.file_count_all}
|
||||
</span>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
</a>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user