fix(leads): persist licensed auth across reloads; manage tab UX fixes

**Session persistence bug** — leads_loc_defaults was missing __version: 1.
store_versions.ts wipes ae_leads_loc when parsed.__version !== 1 (always true
when the field is absent), so every page reload cleared auth_exhibit_kv and
forced re-login. Adding __version: 1 to both the interface and defaults fixes
this for all auth types.

**Manage tab fixes:**
- Description: collapsed by default with ChevronDown/Up toggle — same pattern
  as session_view.svelte. Avoids long promo copy dominating the manage screen.
- Staff Passcode: removed duplicate green plain-text display for admins; the
  Element_ae_obj_field_editor already shows the value (was showing twice).
- Booth Identifier: replaced static read-only display with Element_ae_obj_field_editor
  so the booth code (exhibit.code) is editable inline.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Scott Idem
2026-04-06 17:19:35 -04:00
parent f95243a9c7
commit 10e9206ca4
2 changed files with 51 additions and 31 deletions

View File

@@ -7,6 +7,7 @@
*/
export interface LeadsLocState {
__version: number;
show_option__paid_tab: boolean;
show_content__scan_alert: boolean;
show_content__scan_requirements: boolean;
@@ -78,6 +79,7 @@ export interface LeadsSessState {
// Persisted leads config — survives browser sessions.
export const leads_loc_defaults: LeadsLocState = {
__version: 1,
show_option__paid_tab: true,
show_content__scan_alert: true, // Workaround for QR scanner edge-case bug.
show_content__scan_requirements: true,