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

@@ -313,13 +313,15 @@ let step_label = $derived(
/* Placeholder text must read as a hint, not as filled content.
Tailwind v4 sets placeholder color too dark on light backgrounds.
Same fix as ae_comp__badge_print_controls.svelte. */
form input::placeholder,
form textarea::placeholder {
/* form textarea::placeholder */
form input::placeholder {
color: #9ca3af; /* gray-400 */
opacity: 1; /* Firefox: override default 0.54 opacity */
}
:global(.dark) form input::placeholder,
:global(.dark) form textarea::placeholder {
/* :global(.dark) form textarea::placeholder */
:global(.dark) form input::placeholder {
color: #6b7280; /* gray-500 in dark mode */
}
</style>

View File

@@ -177,8 +177,9 @@ function handle_qr_scan_result(event: {
onclick={() => document.getElementById('badge_fulltext_search_qry_str')?.focus()}
aria-label="Start here focus search field"
data-testid="badge-start-btn"
class="btn btn-sm preset-filled-secondary-300-700 font-semibold"
class="btn btn-sm preset-filled-secondary-200-800 font-semibold"
class:opacity-30={!!badges_loc.current.fulltext_search_qry_str}
class:hidden={$ae_loc.trusted_access}
>
<StepForward size="1em" class="mx-1" />
Start Here