perf(launcher): implement staggered data loading for sessions and presentations
- Optimized session list load to be shell-only, preventing initial request storms.\n- Moved deep data fetching (presenters/files) into the Presentation component level using Svelte effects.\n- Deferred child collection lookups until components are rendered in the DOM.\n- Fixed ae_api import in launcher_presentation_view.\n- Hardened background refresh logic to respect requested views.
This commit is contained in:
@@ -7,10 +7,26 @@
|
||||
|
||||
import { liveQuery } from 'dexie';
|
||||
import { db_events } from '$lib/ae_events/db_events';
|
||||
import { ae_loc } from '$lib/stores/ae_stores';
|
||||
import { ae_loc, ae_api } from '$lib/stores/ae_stores';
|
||||
import { events_loc, events_sess } from '$lib/stores/ae_events_stores';
|
||||
import { events_func } from '$lib/ae_events_functions';
|
||||
import Event_launcher_file_cont from './launcher_file_cont.svelte';
|
||||
|
||||
// Staggered Load: Trigger deep fetch only when component is active
|
||||
$effect(() => {
|
||||
const id = lq__event_presentation_obj?.event_presentation_id;
|
||||
if (id) {
|
||||
events_func.load_ae_obj_id__event_presentation({
|
||||
api_cfg: $ae_api,
|
||||
event_presentation_id: id,
|
||||
inc_file_li: true,
|
||||
inc_presenter_li: true,
|
||||
try_cache: true,
|
||||
log_lvl: 0
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Event File (Directly linked to presentation)
|
||||
let lq__event_file_obj_li = $derived(
|
||||
liveQuery(async () => {
|
||||
|
||||
Reference in New Issue
Block a user