feat(pres_mgmt): extract session search component + time window filter

- Extract session search form into ae_comp__pres_mgmt_session_search.svelte
  (parallels ae_comp__badge_search.svelte); removes ~145 lines from +page.svelte
- Add time window filter: Clock icon toggle button reveals compact before/after
  selects; trusted users get 3d/7d options; active state highlighted in amber
- Add passes_hide_filter to IDB fast path to mirror API qry_hidden logic and
  eliminate the hidden-session blink on revalidation
- Add passes_time_window applied to both IDB fast path and API results
- Add time window state fields to PresMgmtLocState + pres_mgmt_loc_defaults
- Add contextual warning in "No sessions found" when time filter is active
- badges: hide "Start Here" button for trusted_access users; tweak button shade
- badges: scope placeholder CSS fix to input only (not textarea)
- Add MODULE__AE_Events_PressMgmt_Launcher.md doc

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Scott Idem
2026-04-16 19:01:35 -04:00
parent e4265f69af
commit 2595664dd1
6 changed files with 775 additions and 109 deletions

View File

@@ -106,6 +106,11 @@ export interface PresMgmtLocState {
location_name_qry_str: string | null; // persisted location filter text
refresh_interval: number; // auto-refresh interval in seconds (0 = disabled)
// --- Time window filter (onsite use: show only sessions near current time) ---
enable_time_window: boolean; // false = off (show all); true = apply window
time_window_before_minutes: number; // include sessions that started up to N min ago
time_window_after_minutes: number; // include sessions starting within next N min
// --- Report display preferences (user-controlled, persisted) ---
rpt__session_no_files: boolean; // show "sessions with no files" report section
rpt__session_poc_agree: boolean; // show "session POC agreement" report section
@@ -282,6 +287,11 @@ export const pres_mgmt_loc_defaults: PresMgmtLocState = {
location_name_qry_str: null,
refresh_interval: 0,
// Time window filter
enable_time_window: false,
time_window_before_minutes: 30,
time_window_after_minutes: 720,
// Report display preferences
rpt__session_no_files: true,
rpt__session_poc_agree: false,