From 60fbfc434e17fae4d2939d3aabf7bf6aa1cbfc36 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Wed, 17 Sep 2025 16:36:04 -0400 Subject: [PATCH] More work on the Launcher and related --- .../(launcher)/launcher/+layout.svelte | 13 +- .../(launcher)/launcher_file_cont.svelte | 34 +- .../(launcher)/launcher_menu.svelte | 144 ++---- .../(launcher)/launcher_presenter_view.svelte | 6 +- .../(launcher)/launcher_session_view.svelte | 464 ++++++++++-------- .../(launcher)/menu_location_list.svelte | 6 +- .../(launcher)/menu_session_list.svelte | 39 +- 7 files changed, 341 insertions(+), 365 deletions(-) diff --git a/src/routes/events/[event_id]/(launcher)/launcher/+layout.svelte b/src/routes/events/[event_id]/(launcher)/launcher/+layout.svelte index 6a8c4abd..ac37776b 100644 --- a/src/routes/events/[event_id]/(launcher)/launcher/+layout.svelte +++ b/src/routes/events/[event_id]/(launcher)/launcher/+layout.svelte @@ -703,7 +703,7 @@ $effect(() => { static m-auto - border border-gray-200 dark:border-gray-600 + border-x border-gray-200 dark:border-gray-600 mt-12 mb-14 sm:mb-12 h-full w-full max-w-7xl " @@ -753,7 +753,7 @@ $effect(() => { flex flex-col sm:flex-row flex-wrap sm:flex-nowrap gap-0 items-center justify-center - py-1 px-1 + py-1 px-0.5 bg-gray-100 " > @@ -765,10 +765,11 @@ $effect(() => { basis-1/5 min-w-56 md:min-w-64 lg:min-w-72 max-w-xs - py-1 px-0.5 + pt-0.5 pr-0.5 flex flex-col gap-1 items-center justify-start overflow-y-auto - border-r border-gray-300 dark:border-gray-600 + border-r border-gray-200 dark:border-gray-700 + hover:bg-surface-100-900 " class:hidden={$events_loc.launcher.hide__launcher_menu} > @@ -793,6 +794,7 @@ $effect(() => { bind:loading__session_li_status={$events_sess.launcher.loading__session_li_status} lq__event_session_obj_li={lq__event_session_obj_li} + bind:loading__session_id_status={$events_sess.launcher.loading__session_id_status} lq__event_session_obj={lq__event_session_obj} slct__event_session_id={$events_slct.event_session_id} > @@ -814,13 +816,12 @@ $effect(() => { h-full min-w-xs max-w-full - py-1 px-1 + py-1 px-0.5 basis-4/5 flex flex-col gap-1 items-center justify-center overflow-y-auto - " > diff --git a/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte b/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte index 337b741f..8c4f57f6 100644 --- a/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte +++ b/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte @@ -586,18 +586,42 @@ async function handle_open_file() { - - - + + + + {ae_util.iso_datetime_formatter(event_file_obj.created_on, 'date_short')} - + {ae_util.iso_datetime_formatter(event_file_obj.created_on, 'time_12_short')} + - + {#if event_file_obj.file_size}{ae_util.format_bytes(event_file_obj.file_size)}{/if} diff --git a/src/routes/events/[event_id]/(launcher)/launcher_menu.svelte b/src/routes/events/[event_id]/(launcher)/launcher_menu.svelte index f92e0f2e..af635e93 100644 --- a/src/routes/events/[event_id]/(launcher)/launcher_menu.svelte +++ b/src/routes/events/[event_id]/(launcher)/launcher_menu.svelte @@ -51,7 +51,7 @@ let { // *** Import Aether specific variables and functions import type { key_val } from '$lib/ae_stores'; -// import { ae_util } from '$lib/ae_utils/ae_utils'; +import { ae_util } from '$lib/ae_utils/ae_utils'; import { api } from '$lib/api'; // import Element_ae_crud from '$lib/element_ae_crud.svelte'; // import Element_data_store from '$lib/element_data_store_v2.svelte'; @@ -104,8 +104,6 @@ let ae_promises: key_val = $state({ " > - - {#if $lq__event_event_file_obj_li}
@@ -138,9 +136,32 @@ let ae_promises: key_val = $state({ hover:preset-tonal-success transition-all " + title={`Download this file:\n${event_file_obj.filename}\n[API] SHA256: ${event_file_obj.hash_sha256.slice(0, 10)}... Hosted ID: ${event_file_obj.hosted_file_id_random} Event File ID: ${event_file_obj.event_file_id_random}`} > - - {event_file_obj?.filename} + {#await ae_promises[event_file_obj.event_file_id_random]} + + + Downloading + {#if $ae_sess.api_download_kv[event_file_obj.hosted_file_id_random]} + {$ae_sess.api_download_kv[event_file_obj.hosted_file_id_random].percent_completed}% + {/if} + : + + {:then} + + + + {/await} + + + {ae_util.shorten_filename({filename: event_file_obj.filename, max_length: 30})} + + + + {/each}
@@ -156,113 +177,6 @@ let ae_promises: key_val = $state({ /> {/if} - - - {#if $lq__location_event_file_obj_li}
@@ -287,6 +201,7 @@ let ae_promises: key_val = $state({ hover:preset-tonal-success transition-all " + title={`Download this file:\n${event_file_obj.filename}\n[API] SHA256: ${event_file_obj.hash_sha256.slice(0, 10)}... Hosted ID: ${event_file_obj.hosted_file_id_random} Event File ID: ${event_file_obj.event_file_id_random}`} > {event_file_obj?.filename} @@ -296,18 +211,15 @@ let ae_promises: key_val = $state({ {/if} - - - {#if $lq__event_session_obj_li} {/if} - {#if $ae_loc.edit_mode}
{ {#if $lq__event_file_obj_li && $lq__event_file_obj_li.length}
-
+
Presenter Files: - {#if $ae_loc.administrator_access} - ({$lq__event_file_obj_li?.length}) + {#if $ae_loc.administrator_access && $ae_loc.edit_mode} + ({$lq__event_file_obj_li?.length}×) {/if}
diff --git a/src/routes/events/[event_id]/(launcher)/launcher_session_view.svelte b/src/routes/events/[event_id]/(launcher)/launcher_session_view.svelte index 036eb924..bedf2e08 100644 --- a/src/routes/events/[event_id]/(launcher)/launcher_session_view.svelte +++ b/src/routes/events/[event_id]/(launcher)/launcher_session_view.svelte @@ -146,239 +146,267 @@ ae_promises[$events_slct.event_session_id] = events_func.load_ae_obj_li__event_p event_launcher_session_view grow h-full w-full space-y-1 + relative " > - {#if $lq__event_session_obj && $lq__event_session_obj.event_session_id_random} -
+{#if $events_sess.launcher.loading__session_id_status} + + + Loading session information... + + +{/if} -

+ +

+ +

+

+ + {$lq__event_session_obj?.name} + {#if $lq__event_session_obj?.code} + + + {$lq__event_session_obj?.code} + + {/if} + +

+ +
+ + + + {#if !$lq__event_session_obj?.file_count_all} +

+ + Warning + +
+ No files available show for this session. + +

+ {/if} + + + {#if $lq__event_file_obj_li && $lq__event_file_obj_li.length} +
+
+
+ + + Session Files: + + + ({$lq__event_file_obj_li?.length}×) + + +
+ +
+
    + {#each $lq__event_file_obj_li as event_file_obj, index} +
  • - -

    - - {$lq__event_session_obj?.name} - {#if $lq__event_session_obj?.code} - - - {$lq__event_session_obj?.code} - - {/if} - -

    - - - - - {#if !$lq__event_session_obj?.file_count_all} -

    - - Warning - -
    - No files available show for this session. - -

    - {/if} - - - {#if $lq__event_file_obj_li && $lq__event_file_obj_li.length} -
    -
    -
    - - Session Files: - {#if $ae_loc.administrator_access} - ({$lq__event_file_obj_li?.length}) - {/if} -
    - -
    -
      - {#each $lq__event_file_obj_li as event_file_obj, index} -
    • - - - - - -
    • - {/each} -
    -
    - {/if} - - - -
    - - - - - {#if $lq__event_presentation_obj_li} - -
    - {#if $lq__event_session_obj.type_code == 'poster'} - - Posters: - {:else} - - Presentations: - {/if} - {#if $ae_loc.administrator_access} - ({$lq__event_presentation_obj_li?.length}) - {/if} -
    - - -
      - {#each $lq__event_presentation_obj_li as event_presentation_obj} -
    • - - -
      - - {#if event_presentation_obj?.start_datetime} - {ae_util.iso_datetime_formatter(event_presentation_obj?.start_datetime, 'time_12_short_no_leading')} + {#await ae_promises[event_file_obj.event_file_id_random]} + + + Downloading + {#if $ae_sess.api_download_kv[event_file_obj.hosted_file_id_random]} + {$ae_sess.api_download_kv[event_file_obj.hosted_file_id_random].percent_completed}% {/if} + : + + {:then} + + + + {/await} - {event_presentation_obj?.name} - + + {ae_util.shorten_filename({filename: event_file_obj.filename, max_length: 30})} + + + + {event_file_obj.file_purpose} + + + + + + - {#if $lq__event_presenter_obj_li && $lq__event_presenter_obj_li.length} -
        - {#each $lq__event_presenter_obj_li as event_presenter_obj, index} - {#if event_presenter_obj.event_presentation_id_random == event_presentation_obj.event_presentation_id_random} -
      • - {#if $lq__event_session_obj.type_code == 'poster'} - - {:else} - - {/if} -
      • - {/if} - {/each} -
      - {:else} - No presenters to display - {/if} - -
    • - {/each} -
    - {:else} -

    No presentations available to display.

    - {/if} -
    - {:else} - - No session selected + --> +
  • + {/each} +
+
{/if} + + +
+ + + + + {#if $lq__event_presentation_obj_li} + +
+ {#if $lq__event_session_obj.type_code == 'poster'} + + Posters: + {:else} + + Presentations: + {/if} + {#if $ae_loc.administrator_access && $ae_loc.edit_mode} + ({$lq__event_presentation_obj_li?.length}×) + {/if} +
+ + +
    + {#each $lq__event_presentation_obj_li as event_presentation_obj} +
  • + + +
    + + {#if event_presentation_obj?.start_datetime} + {ae_util.iso_datetime_formatter(event_presentation_obj?.start_datetime, 'time_12_short_no_leading')} + {/if} + + {event_presentation_obj?.name} + +
    + + + {#if $lq__event_presenter_obj_li && $lq__event_presenter_obj_li.length} +
      + {#each $lq__event_presenter_obj_li as event_presenter_obj, index} + {#if event_presenter_obj.event_presentation_id_random == event_presentation_obj.event_presentation_id_random} +
    • + {#if $lq__event_session_obj.type_code == 'poster'} + + {:else} + + {/if} +
    • + {/if} + {/each} +
    + {:else} + No presenters to display + {/if} + +
  • + {/each} +
+ {:else} +

No presentations available to display.

+ {/if} +
+{:else} + + No session selected +{/if} +
diff --git a/src/routes/events/[event_id]/(launcher)/menu_location_list.svelte b/src/routes/events/[event_id]/(launcher)/menu_location_list.svelte index f42670d0..58a518d7 100644 --- a/src/routes/events/[event_id]/(launcher)/menu_location_list.svelte +++ b/src/routes/events/[event_id]/(launcher)/menu_location_list.svelte @@ -45,15 +45,15 @@ let ae_promises: key_val = $state({ - +
{#if $lq__event_location_obj_li && $lq__event_location_obj_li.length > 0} -
+
Location: diff --git a/src/routes/events/[event_id]/(launcher)/menu_session_list.svelte b/src/routes/events/[event_id]/(launcher)/menu_session_list.svelte index 26c121a8..f1ec0966 100644 --- a/src/routes/events/[event_id]/(launcher)/menu_session_list.svelte +++ b/src/routes/events/[event_id]/(launcher)/menu_session_list.svelte @@ -48,12 +48,12 @@ let hover_timer: any = $state(null);
{#if $lq__event_session_obj_li && $lq__event_session_obj_li.length > 0} -
+
Sessions: @@ -70,10 +70,10 @@ let hover_timer: any = $state(null);
    {#each $lq__event_session_obj_li as event_session_obj} -
  • +