diff --git a/src/app.postcss b/src/app.postcss index 80ce9510..5cd27709 100644 --- a/src/app.postcss +++ b/src/app.postcss @@ -2,6 +2,7 @@ @tailwind components; @tailwind utilities; @tailwind variants; +/* There are no more Tailwind layers. */ html, body { diff --git a/src/lib/ae_events__event_file.ts b/src/lib/ae_events__event_file.ts index 2e8e740a..98d6186e 100644 --- a/src/lib/ae_events__event_file.ts +++ b/src/lib/ae_events__event_file.ts @@ -399,6 +399,7 @@ export async function search__event_file( // This function will loop through the event_file_obj_li and save each one to the DB. +// Updated 2024-10-04 export function db_save_ae_obj_li__event_file( { obj_type, @@ -468,11 +469,15 @@ export function db_save_ae_obj_li__event_file( event_location_code: obj.event_location_code, event_location_name: obj.event_location_name, event_session_code: obj.event_session_code, + event_session_type_code: obj.event_session_type_code, event_session_name: obj.event_session_name, event_session_start_datetime: obj.event_session_start_datetime, + event_session_end_datetime: obj.event_session_end_datetime, event_presentation_code: obj.event_presentation_code, + event_presentation_type_code: obj.event_presentation_type_code, event_presentation_name: obj.event_presentation_name, event_presentation_start_datetime: obj.event_presentation_start_datetime, + event_presentation_end_datetime: obj.event_presentation_end_datetime, event_presenter_given_name: obj.event_presenter_given_name, event_presenter_family_name: obj.event_presenter_family_name, event_presenter_full_name: obj.event_presenter_full_name, diff --git a/src/lib/ae_events_stores.ts b/src/lib/ae_events_stores.ts index 48a353dc..01ae105c 100644 --- a/src/lib/ae_events_stores.ts +++ b/src/lib/ae_events_stores.ts @@ -99,7 +99,9 @@ let events_local_data_struct: key_val = { // Event Presentation Launcher (and native Electron app) 'launcher': { - controller_group_code: 'ae_launcher', + // default - browser, onsite - browser onsite, native - Electron app onsite + app_mode: 'default', // 'default', 'native', 'onsite' + ws_connect: false, qry_limit__sessions: 50, qry_limit__presentations: 25, @@ -137,6 +139,17 @@ let events_local_data_struct: key_val = { // 'host_file_temp_path': aether_cfg_data.app.host_file_temp_path, 'host_file_config_path': 'device_configs/ae_native_app_config.default.json', }, + + screen_saver_img_list: [], + modal__title: '-- Not Set --', + modal__open: null, + modal__open_filename: null, + modal_img_src: null, + + controller: 'local', + controller_group_code: 'launcher-00', + // controller_cmd: null, + // controller_trigger_send: null, }, // Lead Retrievals (Exhibit) @@ -324,6 +337,11 @@ let events_session_data_struct: key_val = { // Event Presentation Launcher (and native Electron app) 'launcher': { + ws_connect_status: null, + av_recording_status: null, + controller_cmd: null, + controller_trigger_send: null, + event_file_open: {}, // This is from the older Launcher. native: { }, }, diff --git a/src/lib/db_events.ts b/src/lib/db_events.ts index 5031d576..70b444c1 100644 --- a/src/lib/db_events.ts +++ b/src/lib/db_events.ts @@ -262,11 +262,15 @@ export interface File { event_location_code?: null|string; event_location_name?: null|string; event_session_code?: null|string; + event_session_type_code?: null|string; event_session_name?: string; event_session_start_datetime?: null|Date; + event_session_end_datetime?: null|Date; event_presentation_code?: null|string; + event_presentation_type_code?: null|string; event_presentation_name?: string; event_presentation_start_datetime?: null|Date; + event_presentation_end_datetime?: null|Date; event_presenter_given_name?: null|string; event_presenter_family_name?: null|string; event_presenter_full_name?: null|string; diff --git a/src/lib/element_websocket_v2.svelte b/src/lib/element_websocket_v2.svelte index c1ca796b..f23d8f5b 100644 --- a/src/lib/element_websocket_v2.svelte +++ b/src/lib/element_websocket_v2.svelte @@ -1,18 +1,18 @@ -
+
-

Websockets

+

Websocket Messages & Commands

-{#if 1==2} +{#if 1==1}
- - + + - +
{/if} @@ -258,38 +281,62 @@ ae_open:event_file=Kljq0uiTlXt (video) -

Messages

+

Messages [grp, client, target, type]

- +
-

Commands

+

Commands

- +
diff --git a/src/routes/events/[event_id]/(launcher)/+layout.svelte b/src/routes/events/[event_id]/(launcher)/+layout.svelte index 86ec0d2f..734e98af 100644 --- a/src/routes/events/[event_id]/(launcher)/+layout.svelte +++ b/src/routes/events/[event_id]/(launcher)/+layout.svelte @@ -3,25 +3,19 @@ export let data: any; let log_lvl = 0; -import { onMount } from 'svelte'; +import { onMount, tick } from 'svelte'; import { sineIn } from 'svelte/easing'; import { liveQuery } from "dexie"; -import { Drawer, Footer } from 'flowbite-svelte'; +import { Drawer, Footer, Modal } from 'flowbite-svelte'; import { ae_util } from '$lib/ae_utils/ae_utils'; import { db_events } from '$lib/db_events'; import { ae_snip, ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger, time } from '$lib/ae_stores'; import { events_loc, events_sess, events_slct, events_trigger, events_trig } from '$lib/ae_events_stores'; +import Launcher_cfg from './launcher_cfg.svelte'; +import Launcher_menu from './launcher_menu.svelte'; +import Launcher_session_view from './launcher_session_view.svelte'; import Element_websocket_v2 from '$lib/element_websocket_v2.svelte'; -import Event_launcher_menu from './launcher_menu.svelte'; -import Event_launcher_session_view from './launcher_session_view.svelte'; - -// import { AppShell, AppBar, initializeStores } from '@skeletonlabs/skeleton'; - -// import { ae_loc, ae_sess, ae_api, slct, slct_trigger } from '$lib/ae_stores'; -// import { events_loc, events_slct } from '$lib/ae_events_stores'; - - // Variables // Quickly save the data passed from the parent(s) to the Svelte stores, localStorage, and other. @@ -30,6 +24,21 @@ $slct.account_id = data.account_id; let ae_acct = data[$slct.account_id]; // console.log(`ae_acct = `, ae_acct); +// This is a just in case check... +if (!$events_loc?.launcher) { + $events_loc.launcher = { + app_mode: 'default', + + controller: 'local', + controller_group_code: 'launcher-00', + ws_connect: false, + + hide_drawer__cfg: true, + hide_drawer__debug: true, + } +} + + console.log(`event_id: ${data.params.event_id}`); $events_slct.event_id = data.params.event_id; @@ -99,6 +108,14 @@ $: lq__event_session_obj_li = liveQuery(async () => { return results; }); +// $: if (!$events_sess.launcher.modal__open) { +// if ($events_loc.launcher.controller == 'local_push' && $events_sess.launcher.ws_connect_status == 'connected') { +// console.log(`Local Push Controller Command: ae_close:event_file_modal`); +// $events_sess.launcher.controller_cmd = `ae_close:event_file_modal`; +// $events_sess.launcher.controller_trigger_send = true; +// } +// } + onMount(() => { console.log('Events - Launcher: +layout.svelte'); // Hide the AppShell shell header (id="shell-header") and footer @@ -106,6 +123,199 @@ onMount(() => { document.getElementById('shell-footer').classList.add('hidden'); }); console.log(`BROWSER Events - [event_id] launcher +layout.svelte start`); + + +/* *** BEGIN *** Handle WebSocket events */ +function handle_ws_conn(event) { + console.log('*** handle_ws_conn() ***'); + console.log(event); + if (event.detail.status == 'connected') { + $events_sess.launcher.ws = {}; // Reset WS related values on a new connection. + $events_sess.launcher.ws.status = 'connected'; + } else { + $events_sess.launcher.ws = {}; // Reset WS related values when disconnected connection. + $events_sess.launcher.ws.status = 'disconnected'; + } + $events_sess.launcher = $events_sess.launcher; +} + + +// When this is called something seems to go wrong. It creates a loop when connected. +function handle_ws_recv(event) { + console.log('*** handle_ws_recv() ***'); + console.log(event); + + if (event.detail.type == 'cmd' && event.detail.cmd) { + let cmd = event.detail.cmd; + console.log(cmd); + + if (cmd.startsWith('ae_load:')) { + console.log(); + let cmd_parts = cmd.split(':'); + let obj_parts = cmd_parts[1].split('='); + let obj_type = obj_parts[0]; + let obj_id = obj_parts[1]; + + if (obj_type == 'event_session') { + $slct.event_session_id = obj_id; + $slct_trigger = 'event_session'; + $events_sess.launcher.show_launcher_message = false; + } + } else if (cmd.startsWith('ae_open:')) { + console.log(); + let cmd_parts = cmd.split(':'); + let obj_parts = cmd_parts[1].split('='); + let obj_type = obj_parts[0]; + let obj_id = obj_parts[1]; + + // NOTE: This is not finished yet. + if (obj_type == 'event_file') { + $slct.event_file_id = obj_id; + $slct_trigger = 'event_file'; + $events_sess.launcher.event_file_open.open_status = 'open'; + // $events_sess.launcher.show_launcher_message = false; + // NOTE: This is not finished yet. + // This should now trigger the Svelte component for the event launcher file container. Currently this does nothing. Need to bind to something or use the "events_sess.launcher" object? + + // let as_modal_result = open_event_file_as_modal({event_file_id: event_file_obj.event_file_id_random, method: 'modal', filename: event_file_obj.filename, extension: event_file_obj.extension, modal_title: poster_title}); + // if (as_modal_result) { + // console.log($events_sess.launcher); + // console.log(event_file_obj); + // events_sess.launcher.set({...$events_sess.launcher, ...as_modal_result}); + // } + + } + // NOTE: This is not finished yet. + } else if (cmd.startsWith('ae_close:')) { + console.log(); + let cmd_parts = cmd.split(':'); + let what = cmd_parts[1]; + // let obj_type = obj_parts[0]; + // let obj_id = obj_parts[1]; + + if (what == 'event_file_modal') { + $slct.event_file_id = null; + $slct_trigger = 'event_file'; + $events_sess.launcher.event_file_open.open_status = 'close'; + } + } else if (cmd.startsWith('ae_refresh:')) { + console.log(); + let cmd_parts = cmd.split(':'); + let what = cmd_parts[1]; + // let obj_type = obj_parts[0]; + // let obj_id = obj_parts[1]; + + if (what == 'now') { + // window.localStorage.clear(); + location.reload(); + } else { + console.log('OOPS? What went wrong?'); + } + } + } else { + console.log('Unrecognized command'); + } +} + + +function handle_ws_sent(event) { + console.log('*** handle_ws_sent() ***'); + console.log(event); + let command = event.detail.cmd; + console.log(command); + + $events_sess.launcher.controller_cmd = null; + $events_sess.launcher.controller_trigger_send = null; +} +/* *** END *** Handle WebSocket events */ + + +$: if ($slct_trigger == 'event_file' && $slct.event_file_id && $events_sess.launcher?.event_file_open.open_status == 'open') { + $slct_trigger = null; + // handle_event_file_open(); +} + +$: if ($slct_trigger == 'event_file' && $events_sess.launcher?.event_file_open.open_status == 'close') { + $slct_trigger = null; + // Assuming just event file modal for now + // handle_event_file_close(); +} + +async function handle_event_file_open () { + let event_file_obj; + if ($slct.event_file_obj && $slct.event_file_obj.event_file_id_random) { + console.log($slct.event_file_obj); + event_file_obj = $slct.event_file_obj; + } else { + console.log('Need to look up the event file details first.'); + // let get_event_file_obj_result = await get_event_file_obj({event_file_id: $slct.event_file_id}); + + // event_file_obj = get_event_file_obj_result; + // console.log(event_file_obj); + } + + // let as_modal_result = open_event_file_as_modal({ + // event_file_id: event_file_obj.event_file_id_random, + // filename: event_file_obj.filename, + // extension: event_file_obj.extension, + // modal_title: ae_util.shorten_filename(event_file_obj.filename, 75) + // }); + + // if (as_modal_result) { + // console.log($events_sess.launcher); + + // events_sess.launcher.set({...$events_sess.launcher, ...as_modal_result}); + // // $events_sess.launcher.event_file_open = as_modal_result; + // } +} + +async function handle_event_file_close () { + let as_modal_result = close_event_file_as_modal({ + }); + + if (as_modal_result) { + events_sess.launcher.set({...$events_sess.launcher, ...as_modal_result}); + } +} + + + +// Updated 2023-3-31 +// export let open_event_file_as_modal = function open_event_file_as_modal({event_file_id, filename=null, extension=null, modal_title='Poster'}) { +// console.log('*** open_event_file_as_modal() ***'); + +// // NOTE: I can not set the ae_event_launcher values directly. Passing them back to the component and setting them there. Not ideal. This might be improved/fixed in the future? +// let launcher_modal_values = {'show_modal_file': true, 'event_file_open': {}}; + +// // launcher_modal_values.show_modal_file = true; +// if (extension == 'png' || extension == 'jpg') { +// launcher_modal_values.event_file_open.file_type = 'image'; +// } else if (extension == 'mp4' || extension == 'mov') { +// launcher_modal_values.event_file_open.file_type = 'video'; +// } else { +// return false; +// } + +// launcher_modal_values.event_file_open.file_src = `/event/file/${event_file_id}/download`; +// launcher_modal_values.event_file_open.modal_title = modal_title; + +// // NOTE: Be sure to set these values in the actual ae_event_launcher object! +// return launcher_modal_values; +// } + +// Updated 2023-3-31 +export let close_event_file_as_modal = function close_event_file_as_modal({}) { + console.log('*** close_event_file_as_modal() ***'); + + // NOTE: I can not set the ae_event_launcher values directly. Passing them back to the component and setting them there. Not ideal. This might be improved/fixed in the future? + let launcher_modal_values = {'show_modal_file': false, 'event_file_open': {}}; + + // NOTE: Be sure to set these values in the actual ae_event_launcher object! + return launcher_modal_values; +} + + + @@ -167,6 +377,7 @@ console.log(`BROWSER Events - [event_id] launcher +layout.svelte start`); max-w-xs border-r border-gray-200 " + class:hidden={$events_loc.launcher.hide__launcher_menu} > - - + -
- -
-
@@ -241,14 +442,14 @@ console.log(`BROWSER Events - [event_id] launcher +layout.svelte start`); {/if} {#if $events_slct.event_session_id && $lq__event_session_obj} - - + {/if}
@@ -287,7 +488,7 @@ console.log(`BROWSER Events - [event_id] launcher +layout.svelte start`);
- {#if $events_loc.launcher?.av_recording} + {#if $events_sess.launcher?.av_recording_status} AV Recording Active {:else} AV Recording Inactive @@ -305,6 +506,18 @@ console.log(`BROWSER Events - [event_id] launcher +layout.svelte start`); + +
+ +
+ + -
-

- Launcher Configuration -

- - -
- - -
- -
-

- -

- -
- - - - -
- - {#if $events_loc.launcher.controller_group_code} - - - - - - {/if} -
- -
- - - - - -

- Screen Saver -

- -

- App Modes -

- -

- Local Config Refresh -

- +
-
- -
- -
- -
+ - \ No newline at end of file + + + + + { + if ($events_loc.launcher.controller == 'local_push' && $events_sess.launcher.ws_connect_status == 'connected') { + // This should work....???? + console.log(`TEST - FAIL??? Local Push Controller Command: ae_close:event_file_modal`); + console.log(`Before: ${$events_sess.launcher.controller_trigger_send}`); + $events_sess.launcher.controller_cmd = `ae_close:event_file_modal`; + $events_sess.launcher.controller_trigger_send = true; + $events_sess = $events_sess; + events_sess.set($events_sess); + tick(); + events_sess.set($events_sess); + console.log(`After: ${$events_sess.launcher.controller_trigger_send}`); + } + }} + > + + + + + + Placeholder + + + + + + + + +{#if $events_loc.launcher.controller_group_code && $events_loc.launcher.ws_connect} + + + +{/if} \ No newline at end of file diff --git a/src/routes/events/[event_id]/(launcher)/launcher_cfg.svelte b/src/routes/events/[event_id]/(launcher)/launcher_cfg.svelte new file mode 100644 index 00000000..252047a2 --- /dev/null +++ b/src/routes/events/[event_id]/(launcher)/launcher_cfg.svelte @@ -0,0 +1,220 @@ + + + +
+

+ Launcher Configuration +

+ + +
+ + +
+ +
+

+ +

+ +
+ + +
+ { + $events_sess.launcher.controller_unlock_group_code = !$events_sess.launcher.controller_unlock_group_code; + + $events_loc.launcher.ws_connect = false; + }} + readonly={!$events_sess.launcher.controller_unlock_group_code} + > + + +
+ + + + +
+
+ +
+ + +

+ Screen Saver +

+ + +
+ + + + + +
+

+ +

+ +
+ + {#if !$events_loc.launcher.app_mode || $events_loc.launcher.app_mode != 'default'} + + {/if} + {#if $events_loc.launcher.app_mode != 'native'} + + {/if} + {#if $events_loc.launcher.app_mode != 'onsite'} + + {/if} + +
+
+ + + +

+ Local Config Refresh +

+ + + +
+ + +
+ +
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 e9718888..a6f0e2c0 100644 --- a/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte +++ b/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte @@ -3,26 +3,25 @@ import { onMount, tick } from 'svelte'; import { fade, scale, fly } from 'svelte/transition'; -type key_val = { - [key: string]: any; -}; +import type { key_val } from '$lib/ae_stores'; +import { ae_util } from '$lib/ae_utils/ae_utils'; +import { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_events_stores'; // *** Import Aether core variables and functions // import { ae } from 'aether_npm_lib'; // import { } from '../../mods/electron.js'; -// import { ae_event_launcher, event_file_obj_def, open_event_file_as_modal, ae_screen_saver_img_list } from '../../stores_mod_events'; +// import { ae_event_launcher, event_file_obj_def, open_event_file_as_modal, screen_saver_img_list } from '../../stores_mod_events'; // *** Import Aether core components // *** Import Aether module variables and functions -// import { ae_event_launcher } from '../stores_event.js'; // import { download_event_file } from '../stores_event_api.js'; // *** Import Aether module components // *** Export/Exposed variables and functions for component -export let event_file_obj = $event_file_obj_def; +export let event_file_obj: any; // export let use_os: boolean = false; // export let os: string = null; export let max_filename_length: number = 50; @@ -36,43 +35,49 @@ export let show_bak_download: boolean = false; export let btn_size: string = 'btn_md'; -export let open_file_as: string = ''; -export let poster_title: string = ''; +export let session_type: string = 'oral'; // oral, poster, workshop, symposium, roundtable, other +export let open_method: null|string = 'download'; // modal, download, native open (download, cache, copy, open), URL +export let modal_title: string = ''; // *** Set initial variables let ae_promises: key_val = {}; let ae_downloads: key_val = {}; -let open_file_clicked = null; -let open_file_status = null; // null, 'checking_cache', 'checking_cache_failed', 'downloading_file', 'downloading_file_failed', 'opening_file', 'opening_file_failed', 'opening_file_success' -let open_file_status_message = null; +let open_file_clicked: null|boolean = null; +let open_file_status: null|string = null; // null, 'checking_cache', 'checking_cache_failed', 'downloading_file', 'downloading_file_failed', 'opening_file', 'opening_file_failed', 'opening_file_success' +let open_file_status_message: null|string = null; + +if (!$events_loc.launcher.screen_saver_img_list) { + $events_loc.launcher.screen_saver_img_list = {}; +} let screen_saver_exts = ['jpg', 'png', 'PNG', 'webp']; if (screen_saver_exts.includes(event_file_obj.extension)) { - // $ae_event_launcher.screen_saver_img_list.push(event_file_obj); - // $ae_event_launcher.screen_saver_img_list[event_file_obj.event_file_id_random] = event_file_obj; + // $events_loc.launcher.screen_saver_img_list.push(event_file_obj); + // $events_loc.launcher.screen_saver_img_list[event_file_obj.event_file_id_random] = event_file_obj; - $ae_screen_saver_img_list[event_file_obj.event_file_id_random] = Object.create(event_file_obj); + $events_loc.launcher.screen_saver_img_list[event_file_obj.event_file_id_random] = Object.create(event_file_obj); // let temp_obj = Object.create(event_file_obj) - // $ae_event_launcher.screen_saver_img_list[temp_obj.event_file_id_random] = Object.create(temp_obj); + // $events_loc.launcher.screen_saver_img_list[temp_obj.event_file_id_random] = Object.create(temp_obj); // $ae_event_launcher = $ae_event_launcher; } onMount(() => { console.log('** Component Mounted: ** Event Launcher File Container (Hash Open)'); + console.log(`Session Type: ${session_type}; Open Method: ${open_method}`); if (screen_saver_exts.includes(event_file_obj.extension)) { - // $ae_event_launcher.screen_saver_img_list[event_file_obj.event_file_id_random] = event_file_obj; + // $events_loc.launcher.screen_saver_img_list[event_file_obj.event_file_id_random] = event_file_obj; let temp_obj = Object.create(event_file_obj) - $ae_event_launcher.screen_saver_img_list[temp_obj.event_file_id_random] = Object.create(temp_obj); + $events_loc.launcher.screen_saver_img_list[temp_obj.event_file_id_random] = Object.create(temp_obj); - $ae_event_launcher = $ae_event_launcher; + // $ae_event_launcher = $ae_event_launcher; } window.addEventListener('message', function(event) { @@ -107,13 +112,13 @@ onMount(() => { async function handle_open_file() { console.log('*** handle_open_file() ***'); - console.log(`App Mode: ${$ae_event_launcher.app_mode}; Cache Path: ${$ae_event_launcher.local_file_cache_path}; Temp Path: ${$ae_event_launcher.host_file_temp_path}`); + console.log(`App Mode: ${$events_loc.launcher.app_mode}; Cache Path: ${$events_loc.launcher.local_file_cache_path}; Temp Path: ${$events_loc.launcher.host_file_temp_path}`); // null or "default" is for regular use in their preferred browser. // "app" mode is for Electron and node.js. // "onsite" mode is for Chrome or Firefox and downloading files with modified extensions and other slight changes. - if ($ae_event_launcher.app_mode == 'native' && native_app) { + if ($events_loc.launcher.app_mode == 'native' && native_app) { console.log('* ** *** **** BEGIN TESTING **** *** ** *'); console.log('Process: Check local hash file cache, Download hash file to cache, and Open cached hash file after copying to temp directory'); @@ -123,14 +128,14 @@ async function handle_open_file() { open_file_status = 'checking_cache'; open_file_status_message = 'Checking local cache...'; - let check_hash_file_cache_result = await native_app.check_hash_file_cache_v2({local_file_cache_path: $ae_event_launcher.local_file_cache_path, hash: event_file_obj.hash_sha256, check_hash: true}); + let check_hash_file_cache_result = await native_app.check_hash_file_cache_v2({local_file_cache_path: $events_loc.launcher.local_file_cache_path, hash: event_file_obj.hash_sha256, check_hash: true}); if (check_hash_file_cache_result) { console.log('Cached hash file found.'); } else if (check_hash_file_cache_result == null) { - console.log(`Cached hash file not found. Need to download from API server. Base URL ${$ae_event_launcher.api.base_url}`); + console.log(`Cached hash file not found. Need to download from API server. Base URL ${$events_loc.launcher.api.base_url}`); open_file_status = 'downloading_file'; open_file_status_message = 'Downloading file...'; - let download_hash_file_to_cache_result = await native_app.download_hash_file_to_cache_v2({api_base_url: $ae_event_launcher.api.base_url, api_base_url_backup: $ae_event_launcher.api.base_url_backup, local_file_cache_path: $ae_event_launcher.local_file_cache_path, event_file_id: event_file_obj.event_file_id_random, hash: event_file_obj.hash_sha256, verify_hash: true, overwrite_existing: false}); + let download_hash_file_to_cache_result = await native_app.download_hash_file_to_cache_v2({api_base_url: $events_loc.launcher.api.base_url, api_base_url_backup: $events_loc.launcher.api.base_url_backup, local_file_cache_path: $events_loc.launcher.local_file_cache_path, event_file_id: event_file_obj.event_file_id_random, hash: event_file_obj.hash_sha256, verify_hash: true, overwrite_existing: false}); // console.log(download_hash_file_to_cache_result); if (download_hash_file_to_cache_result) { console.log('Hash file downloaded to cache.'); @@ -148,7 +153,7 @@ async function handle_open_file() { return false; } } else { - console.log(`Cached hash file found, but hash did not match. May still be downloading from the API server. Base URL ${$ae_event_launcher.api.base_url}`); + console.log(`Cached hash file found, but hash did not match. May still be downloading from the API server. Base URL ${$events_loc.launcher.api.base_url}`); open_file_status = 'try_again'; open_file_status_message = 'Please try again...'; return null; @@ -172,7 +177,7 @@ async function handle_open_file() { } console.log(`Opening ${filename}`); - let electron_open_hash_file_to_temp_result = await native_app.open_hash_file_to_temp_v2({local_file_cache_path: $ae_event_launcher.local_file_cache_path, hash: event_file_obj.hash_sha256, host_file_temp_path: $ae_event_launcher.host_file_temp_path, filename: filename, verify_hash: true}); + let electron_open_hash_file_to_temp_result = await native_app.open_hash_file_to_temp_v2({local_file_cache_path: $events_loc.launcher.local_file_cache_path, hash: event_file_obj.hash_sha256, host_file_temp_path: $events_loc.launcher.host_file_temp_path, filename: filename, verify_hash: true}); if (electron_open_hash_file_to_temp_result) { console.log('Local hash file was opened to temp.'); open_file_status = 'opening_file_success'; @@ -189,16 +194,16 @@ async function handle_open_file() { } console.log('Done with test of cache check, download file, and open cached file from temp directory.'); - } else if ($ae_event_launcher.app_mode == 'onsite') { + } else if ($events_loc.launcher.app_mode == 'onsite') { open_file_clicked = true; await tick(); setTimeout(() => {console.log('Finished waiting to hide the message.'); open_file_clicked = false;}, 15000); } else { // NOTE: Add first test controller command here. - // $ae_event_launcher.controller_cmd = `ae:open:event_file_id=${$slct.event_file_id}`; - // $ae_event_launcher.controller_trigger_send = true; // Trigger the controller to send. - // $ae_event_launcher.controller_cmd = null; // Reset command to null + // $events_sess.launcher.controller_cmd = `ae:open:event_file_id=${$slct.event_file_id}`; + // $events_sess.launcher.controller_trigger_send = true; // Trigger the controller to send. + // $events_sess.launcher.controller_cmd = null; // Reset command to null open_file_clicked = true; @@ -207,18 +212,18 @@ async function handle_open_file() { } } -// function handle_open_file_as_poster() { -// console.log('*** handle_open_file_as_poster() ***'); +// function handle_open_method_poster() { +// console.log('*** handle_open_method_poster() ***'); -// $ae_event_launcher.show_modal_event_poster = true; +// $events_loc.launcher.show_modal_event_poster = true; // if (event_file_obj.extension == 'png' || event_file_obj.extension == 'jpg') { -// $ae_event_launcher.event_poster_file_type = 'image'; +// $events_loc.launcher.event_poster_file_type = 'image'; // } else if (event_file_obj.extension == 'mp4' || event_file_obj.extension == 'mov') { -// $ae_event_launcher.event_poster_file_type = 'video'; +// $events_loc.launcher.event_poster_file_type = 'video'; // } -// $ae_event_launcher.event_poster_src = `/event/file/${event_file_obj.event_file_id_random}/download`; -// $ae_event_launcher.event_poster_title = poster_title; +// $events_loc.launcher.poster_src = `/event/file/${event_file_obj.event_file_id_random}/download`; +// $events_loc.launcher.modal_title = modal_title; // } @@ -228,7 +233,7 @@ async function handle_open_file() { {#if open_file_clicked}
- {#if ($ae_event_launcher.app_mode == 'native')} + {#if ($events_loc.launcher.app_mode == 'native')} {#if (open_file_status)}
*** {open_file_status_message} ***
{/if} @@ -238,7 +243,7 @@ async function handle_open_file() {

PowerPoint or KeyNote will attempt to display in presenter view.

PDFs, videos, and images will attempt to be displayed mirrored.

Please close the file when finished.

- {:else if ($ae_event_launcher.app_mode == 'onsite')} + {:else if ($events_loc.launcher.app_mode == 'onsite')} *** Please wait while this file loads... ***

Most files will automatically be opened full screen.

PowerPoint or KeyNote will attempt to display in presenter view.

@@ -257,50 +262,66 @@ async function handle_open_file() {
{/if} -{#if (open_file_as == 'poster')} + +{#if (session_type == 'poster' || open_method == 'modal')} - -{:else if ($ae_event_launcher.app_mode == 'native')} + + +{:else if ($events_loc.launcher.app_mode == 'native')}
- {ae.util.shorten_filename(event_file_obj.filename, max_filename_length)} + {ae_util.shorten_filename({filename: event_file_obj.filename, max_length: max_filename_length})} -{:else if ($ae_event_launcher.app_mode == 'onsite' && (event_file_obj.extension == 'ppt' || event_file_obj.extension == 'pptx') && event_file_obj.open_in_os == 'win')} +{:else if ($events_loc.launcher.app_mode == 'onsite' && (event_file_obj.extension == 'ppt' || event_file_obj.extension == 'pptx') && event_file_obj.open_in_os == 'win')} - {ae.util.shorten_filename(event_file_obj.filename, max_filename_length)} + {ae_util.shorten_filename({filename: event_file_obj.filename, max_length: max_filename_length})} {:else} + + {/each} diff --git a/src/routes/events/[event_id]/location/[event_location_id]/location_view.svelte b/src/routes/events/[event_id]/location/[event_location_id]/location_view.svelte index cb0e97e7..498c7291 100644 --- a/src/routes/events/[event_id]/location/[event_location_id]/location_view.svelte +++ b/src/routes/events/[event_id]/location/[event_location_id]/location_view.svelte @@ -296,7 +296,7 @@ $: if ($lq__event_location_obj) { {#if show__launcher_link} diff --git a/tailwind.config.ts b/tailwind.config.ts index 5cc62e35..6e4b8d45 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -22,13 +22,13 @@ export default { // flowbite-svelte primary: { 50: '#FFF5F2', 100: '#FFF1EE', 200: '#FFE4DE', 300: '#FFD5CC', 400: '#FFBCAD', 500: '#FE795D', 600: '#EF562F', 700: '#EB4F27', 800: '#CC4522', 900: '#A5371B'}, }, - listStyleType: { - // none: 'none', - // disc: 'disc', - // decimal: 'decimal', - // square: 'square', - // roman: 'upper-roman', - }, + // listStyleType: { + // none: 'none', + // disc: 'disc', + // decimal: 'decimal', + // square: 'square', + // roman: 'upper-roman', + // }, }, // listStyleType: { // none: 'none',