feat(launcher): dedicated Digital Poster session card-grid view
Create launcher_session_view_posters.svelte — a touch-first card-grid layout for Digital Poster sessions, designed for tablet/phone PWA use. Layout: - 1 column on mobile, 2 on sm, 3 on xl - Each poster card: title (line-clamp-3) + presenter name/affiliation + 'Open Poster' action button at card bottom - Poster code (or 1-based index fallback) badge in top-right corner - Card active:scale-[0.98] for tactile touch press feedback - Sticky compact session header strip with name, code, and poster count - Optional 'Session Resources' strip for rare session-level files - overflow-y-auto + grow so the grid scrolls; header strip stays fixed Integration: - launcher_session_view.svelte: import + delegate when type_code==='poster' - launcher_file_cont.svelte: min-w-96 → w-full on poster button so it fills its container (card or list row) without overflow on small screens - WS open/close/zoom command pipeline unchanged (all in launcher_file_cont and +layout.svelte which were not modified for the WS paths)
This commit is contained in:
@@ -16,6 +16,8 @@
|
||||
import Launcher_presentation_view from './launcher_presentation_view.svelte';
|
||||
import Launcher_presenter_view from './launcher_presenter_view.svelte';
|
||||
import Launcher_presenter_view_posters from './launcher_presenter_view_posters.svelte';
|
||||
// WHY: Poster sessions get a dedicated card-grid view optimised for touch/PWA use.
|
||||
import Launcher_session_view_posters from './launcher_session_view_posters.svelte';
|
||||
|
||||
import { liveQuery } from 'dexie';
|
||||
// import { core_func } from '$lib/ae_core_functions';
|
||||
@@ -163,6 +165,10 @@
|
||||
{/if}
|
||||
|
||||
{#if $lq__event_session_obj && $lq__event_session_obj.event_session_id}
|
||||
{#if type_code === 'poster'}
|
||||
<!-- WHY: Poster sessions use a dedicated touch-first card-grid layout. -->
|
||||
<Launcher_session_view_posters {slct__event_session_id} {log_lvl} />
|
||||
{:else}
|
||||
<!--
|
||||
Session header: flex-col keeps datetime and name on separate rows so
|
||||
the header height is predictable regardless of session name length.
|
||||
@@ -462,6 +468,7 @@
|
||||
<p>No presentations available to display.</p>
|
||||
{/if}
|
||||
</section>
|
||||
{/if}<!-- end type_code !== 'poster' -->
|
||||
{:else}
|
||||
<span class="fas fa-spinner fa-spin"></span>
|
||||
No session selected
|
||||
|
||||
Reference in New Issue
Block a user