The Launcher is looking pretty good for posters.
This commit is contained in:
@@ -733,6 +733,7 @@ export let close_event_file_as_modal = function close_event_file_as_modal({}) {
|
||||
size="xl"
|
||||
class="bg-white dark:bg-gray-800 text-gray-800 dark:text-gray-200 rounded-lg border-gray-200 dark:border-gray-700 divide-gray-200 dark:divide-gray-700 shadow-md relative flex flex-col mx-auto w-full divide-y"
|
||||
classHeader="px-1 py-0 md:px-1 md:py-0"
|
||||
bodyClass='p-0 flex-1 overflow-y-auto overscroll-contain'
|
||||
classBody="flex flex-col items-center p-0 md:px-0 py-0"
|
||||
on:close={async () => {
|
||||
if ($events_loc.launcher.controller == 'local_push' && $events_sess.launcher.ws_connect_status == 'connected') {
|
||||
|
||||
@@ -237,7 +237,11 @@ async function handle_open_file() {
|
||||
</script>
|
||||
|
||||
|
||||
<div class="event_launcher_file_cont flex flex-col md:flex-row gap-1 wrap items-center justify-between w-full max-w-full">
|
||||
<div
|
||||
class="event_launcher_file_cont flex flex-col md:flex-row gap-1 wrap items-center w-full max-w-full"
|
||||
class:justify-between={!hide_meta}
|
||||
class:justify-center={hide_meta}
|
||||
>
|
||||
|
||||
{#if open_file_clicked}
|
||||
<div class="open_file_clicked alert" in:fade="{{ duration: 250 }}" out:fade="{{ duration: 2000 }}">
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
<script lang="ts">
|
||||
|
||||
import type { key_val } from '$lib/ae_stores';
|
||||
import { ae_util } from '$lib/ae_utils/ae_utils';
|
||||
import { api } from '$lib/api';
|
||||
|
||||
import { liveQuery } from "dexie";
|
||||
|
||||
import { ae_snip, ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_stores';
|
||||
import { db_events } from "$lib/db_events";
|
||||
import { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_events_stores';
|
||||
import { events_func } from '$lib/ae_events_functions';
|
||||
|
||||
import Event_launcher_file_cont from './launcher_file_cont.svelte';
|
||||
|
||||
// export let slct_event_presentation_id: string;
|
||||
// export let slct_event_presenter_id: string;
|
||||
export let lq__event_presenter_obj: any; // This is not actually the LiveQuery object. This was pulled from the list of presenters for a presentation. With Svelte 5 this should not matter.
|
||||
|
||||
let ae_promises: key_val = {
|
||||
get_li__event_file: null,
|
||||
};
|
||||
|
||||
// Event File
|
||||
$: lq__event_file_obj_li = liveQuery(async () => {
|
||||
let results = await db_events.files
|
||||
// .where('event_session_id_random')
|
||||
.where('for_id_random')
|
||||
.equals(lq__event_presenter_obj?.event_presenter_id)
|
||||
.reverse()
|
||||
.sortBy('created_on')
|
||||
return results;
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<strong>
|
||||
{#if lq__event_presenter_obj?.given_name && lq__event_presenter_obj?.given_name != 'Group' }
|
||||
<span class="fas fa-user"></span>
|
||||
{lq__event_presenter_obj?.full_name}
|
||||
{:else if lq__event_presenter_obj?.given_name == 'Group'}
|
||||
<span class="fas fa-users"></span>
|
||||
{lq__event_presenter_obj?.affiliations}
|
||||
{:else}
|
||||
--not set--
|
||||
{/if }
|
||||
</strong>
|
||||
|
||||
{#if !lq__event_presenter_obj?.file_count}
|
||||
<p class="text-sm text-center text-gray-400">
|
||||
<!-- <span class="fas fa-exclamation"></span> -->
|
||||
No files to show for this presenter at this time.
|
||||
<!-- <span class="fas fa-exclamation"></span> -->
|
||||
</p>
|
||||
{/if}
|
||||
|
||||
{#if $lq__event_file_obj_li && $lq__event_file_obj_li.length }
|
||||
<section class="event_session_file_list">
|
||||
<!-- <div>
|
||||
<div class="text-xs"><strong>
|
||||
<span class="fas fa-file-archive"></span>
|
||||
Presenter Files:
|
||||
{#if $ae_loc.administrator_access}
|
||||
({$lq__event_file_obj_li?.length})
|
||||
{/if}
|
||||
</strong></div>
|
||||
</div> -->
|
||||
<ul class="space-y-1">
|
||||
{#each $lq__event_file_obj_li as event_file_obj, index}
|
||||
<li
|
||||
class="flex flex-col md:flex-row wrap gap items-center justify-center"
|
||||
class:hidden={!$events_loc.launcher.show_content__hidden_files && event_file_obj.hide}
|
||||
>
|
||||
<Event_launcher_file_cont
|
||||
event_file_obj={event_file_obj}
|
||||
hide_created_on={false}
|
||||
hide_meta={true}
|
||||
show_bak_download={$ae_loc.trusted_access}
|
||||
session_type={event_file_obj?.event_session_type_code ?? 'oral'}
|
||||
open_method={event_file_obj?.event_session_type_code == 'poster' ? 'modal' : null}
|
||||
modal_title={lq__event_presenter_obj?.event_presentation_name}
|
||||
/>
|
||||
</li>
|
||||
{/each}
|
||||
</ul>
|
||||
</section>
|
||||
{/if}
|
||||
@@ -6,6 +6,7 @@ import { api } from '$lib/api';
|
||||
// import Element_ae_crud from '$lib/element_ae_crud.svelte';
|
||||
// import Launcher_file_cont from './launcher_file_cont.svelte';
|
||||
import Launcher_presenter_view from './launcher_presenter_view.svelte';
|
||||
import Launcher_presenter_view_posters from './launcher_presenter_view_posters.svelte';
|
||||
|
||||
import { liveQuery } from "dexie";
|
||||
// import { core_func } from '$lib/ae_core_functions';
|
||||
@@ -308,7 +309,13 @@ ae_promises[$events_slct.event_session_id] = events_func.load_ae_obj_li__event_p
|
||||
{#if $lq__event_presentation_obj_li}
|
||||
|
||||
<div class="text-xs"><strong>
|
||||
Presentations:
|
||||
{#if $lq__event_session_obj.type_code == 'poster'}
|
||||
<span class="fas fa-image"></span>
|
||||
Posters:
|
||||
{:else}
|
||||
<span class="fas fa-tv"></span>
|
||||
Presentations:
|
||||
{/if}
|
||||
{#if $ae_loc.administrator_access}
|
||||
({$lq__event_presentation_obj_li?.length})
|
||||
{/if}
|
||||
@@ -336,9 +343,15 @@ ae_promises[$events_slct.event_session_id] = events_func.load_ae_obj_li__event_p
|
||||
{#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}
|
||||
<li>
|
||||
<Launcher_presenter_view
|
||||
lq__event_presenter_obj={event_presenter_obj}
|
||||
{#if $lq__event_session_obj.type_code == 'poster'}
|
||||
<Launcher_presenter_view_posters
|
||||
lq__event_presenter_obj={event_presenter_obj}
|
||||
/>
|
||||
{:else}
|
||||
<Launcher_presenter_view
|
||||
lq__event_presenter_obj={event_presenter_obj}
|
||||
/>
|
||||
{/if}
|
||||
</li>
|
||||
{/if}
|
||||
{/each}
|
||||
|
||||
@@ -168,7 +168,7 @@ if (!$events_loc.pres_mgmt?.location_kv) {
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="/events/{event_location_obj?.event_id}/launcher/{event_location_obj?.event_location_id_random}"
|
||||
href="/event/{event_location_obj?.event_id}/launcher/{event_location_obj?.event_location_id_random}"
|
||||
class="btn btn-sm variant-glass-secondary hover:variant-filled-secondary transition-all hover:transition-all *:hover:inline text-xs"
|
||||
title="The legacy launcher that not actively being developed. Use with the native launcher for oral sessions."
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user