Scott Idem
d12a4bf71f
feat(events): restore inc_file_counts opt-in, session list layout + button polish
...
- Add `inc_file_counts` flag to `load_ae_obj_id__event_session` — maps to
backend alt view (v_event_session_w_file_count) when true; default stays
lightweight. Callers never pass raw view names.
- Preserve-on-write fallback in `_refresh_session_id_background` keeps
cached file_count/file_count_all if API response omits them.
- Session detail +page.ts uses `inc_file_counts: true` so SvelteKit prefetch
no longer clobbers counts via bulkPut on hover.
- Remove explicit `view: 'alt'` from launcher +page.ts (now invalid param).
- Session list link: flex-1 + min-w-0 for full-row width; name flex-1 pushes
badge group right; code + file_count stacked in flex-col items-end.
- Hover styling: button-like appearance with slow fade-out (duration-500) /
fast snap-in (hover:duration-150).
- Session +page.svelte: use url_session_id (string) for link_to_id props and
auth__kv.session[] index — fixes TS type error from number|undefined.
- IDAA layout: dormant tech notice banner (guarded by 1==3, remove when ready).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 16:38:13 -04:00
Scott Idem
6018a94499
Prettier for Events as a whole. Everything else under that primary directory.
2026-03-24 12:16:44 -04:00
Scott Idem
d27ec58fe9
More code clean up
2026-03-24 10:56:31 -04:00
Scott Idem
519f5b949c
chore: move ae_events_functions.ts into ae_events/ module
...
Relocates the functions file from lib root into its module directory,
matching the pattern used by all other modules (ae_journals, ae_archives, etc.).
Updated all 85 import paths from \$lib/ae_events_functions → \$lib/ae_events/ae_events_functions.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-20 09:52:13 -04:00
Scott Idem
b543c8a930
chore: migrate all FA icons to Lucide (@lucide/svelte)
...
- Replaced all active FontAwesome <span class="fas fa-*"> icons with
Lucide components across 145 files (excluding /idaa/ which is intentional)
- Fixed merge script bug: consolidated lucide-svelte imports into @lucide/svelte
- Replaced dynamic toggle patterns (fa-toggle-on/off) with ToggleRight/ToggleLeft
- Replaced fa-eye/fa-eye-slash with Eye/EyeOff
- Replaced fa-bug/fa-bug-slash with Bug/BugOff
- Replaced fa-sync fa-spin with RefreshCw + animate-spin
- Replaced fa-microchip with Cpu
- Fixed {@const} placement in element_manage_event_file_li.svelte
- Removed obsolete CSS hover rules for .unlock_icon/.lock_icon
- svelte-check: 0 errors, 0 warnings
2026-03-16 18:07:43 -04:00
Scott Idem
99df204763
style: Phase 1+2 — FA→Lucide, variant-* → preset-*, dark mode forms
...
Phase 1 (global quick wins):
- app.css: add global dark mode utility for .input/.select/.textarea
- events menu nav + layout: replace all FontAwesome icons with Lucide
- events settings: replace FA icons, standardize variant-* → preset-*
Phase 2 (module-by-module migration):
- root +layout.svelte: fix hardcoded banner colors → preset-filled-error/warning
- journals entry list: replace slate-* with gray-*, HSL eye colors → CSS tokens
- pres mgmt presenter view: variant-soft-warning → preset-tonal-warning, FA edit → Lucide
- badges (4 files): variant-* → preset-*, FA spinner → Lucide Loader2, dynamic alert fix
- events session list + event hub: variant-soft/filled → preset-tonal/filled
- leads module (12 files): complete variant-* → preset-* migration across all
exhibitor sign-in, QR scanner, manual search, tracking list, manage tab,
custom questions, license list, exhibit page, lead detail page + form
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-16 11:53:07 -04:00
Scott Idem
1dd8e35720
pres_mgmt: redesign Session View, clean Presentation list, fix transitions
...
- session_view.svelte: replace flat <ul> with hero card layout
- Name as <h1>, date/time chip (primary teal), room chip (tertiary indigo)
- QR only rendered when URL is string (not true loading placeholder)
- Skeleton pulse placeholders while LiveQuery resolves
- Description in surface card with uppercase label
- Accessible: aria labels, focus rings, aria-live on no-results section
- ae_comp__event_session_obj_li.svelte:
- variant-soft-warning (Skeleton v3) -> preset-tonal-warning (v4)
- Add transition-colors duration-200 to <tr> rows and session <a> links
- ae_comp__event_presentation_obj_li.svelte:
- Remove debug breakpoint border colors (red/yellow/gray)
- overflow-x-scroll -> overflow-x-auto
- Remove heavy preset-filled-surface-400-600 from <ul> container
- <li> cards: surface tokens, rounded-xl, shadow-sm, transition
- <h4> title bar: bg-surface-100-900 with flex wrap layout
- Code badge: hardcoded yellow -> preset-tonal-warning
- Description <pre>: hardcoded bg-gray-100 -> bg-surface-100-900
- pres_mgmt/+page.svelte: 'no results' section
- bg-yellow-100 + text-yellow-500 -> preset-tonal-warning
- Search icon, aria-live, cleaner list in surface card
- [session_id]/+page.svelte: rounded-container-token (v3) -> rounded-xl
2026-03-06 21:15:27 -05:00
Scott Idem
73597cb8b4
chore: svelte-check cleanup — fix Svelte 5 patterns in events/pres_mgmt, badges, launcher, and tests
...
Source changes (0 errors, 175 warnings after):
- api_post__crud_obj_v3: add backward-compat migration aliases (for_obj_type/id, obj_type/id) to nested CRUD funcs
- ae_events__event_device/presenter/session: make event_id/presentation_id optional; fall back to store value
- element_ae_obj_field_editor_v3: import type Snippet properly; mark current_value as $bindable()
- ae_comp__badge_obj_view: fix $derived(() => false) → $derived(false) for show_receipt/show_tickets
- badge templates: pass explicit event_id param to delete/update calls
- launcher/+page: capture URL params as stable consts; pass event_id to update_ae_obj__event_device
- ae_comp__event_device_obj_li: wrap setInterval in $effect; onDestroy cleanup always registered
- ae_comp__event_device_obj_li_wrapper: move console.log to $effect; fix self-closing tag
- presenter form/menu/view/list: add missing event_presentation_id to all update/delete calls
- reports/locations/presenter/+page: move store assignments into $effect + untrack; ae_acct → $derived
- session/+page: add Comp_event_presenter_form_agree import; cast for type compat
- session_view: wrap <img onclick> in <button> for accessibility/validity
- ae_comp__event_presentation_obj_li: remove unneeded event_id/session_id from create_ae_obj__event_presenter
- ae_comp__event_session_obj_li: make lq prop optional; add plain-array fallback prop
- location/+page: refactor to $derived ae_acct, $effect+untrack for stores, simplified session/file sections
- location_page_menu: add optional data prop; export interface
Tests:
- Rename ae_events__event_badge.spec.ts → ae_events__event_badge.test.ts (extended coverage)
- All test files: 'warn' → 'warning' (Playwright API), addInitScript array-destructure pattern, import type fixes
- ae_defaults: remove duplicate hide_app_cfg key; meaningful sponsorship cfg_id placeholder
- create_event_badge.spec: fix import path to use $lib alias
- event_presenter.test: fix test URL to use /presenter/:id route
NOTE: location/+page.svelte — Element_manage_event_file_li_wrap no longer receives
allow_basic/allow_moderator (now default false); file list shows but management
actions may be restricted. Follow-up needed to restore auth__kv-based access.
2026-03-05 20:05:35 -05:00
Scott Idem
cdf56aadcd
refactor(crud): migrate v2 component usages to field-editor-v3
...
Replaces all active Element_ae_crud_v2 usages with Element_ae_obj_field_editor_v3,
and direct core_func.update_ae_obj_id_crud_v2 calls with api.update_ae_obj_v3.
Adds 'number' field_type to v3 editor. All on_success callbacks trigger SWR
refresh via events_func load functions so liveQuery updates Dexie correctly.
- element_ae_obj_field_editor_v3: add 'number' input type
- ae_comp__event_session_obj_li: replace core_func v2 API calls + dead import
- ae_comp__event_location_obj_li: migrate 2x Element_ae_crud_v2 (name, description)
- ae_tab__manage: migrate 7x Element_ae_crud_v2 (priority/checkbox, numbers, text, tiptap)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-05 16:39:29 -05:00
Scott Idem
d21e2f8e6f
refactor: standardize event file actions and apply batch formatting
...
- Updated 'create_event_file_obj_from_hosted_file_async' to use the modern V3 action endpoint.
- Standardized 'prevent_default' helper names in root Event and Archive components.
- Applied batch formatting (printWidth: 80) across the settings and events modules.
2026-02-06 16:17:31 -05:00
Scott Idem
49f0a888b0
refactor(ui): standardize button types and migrate file operations to V3 Action API
2026-02-03 22:54:22 -05:00
Scott Idem
811afb2fd7
refactor(sessions): standardize reactive search and fix list layout
...
- Migrated Session search to the debounced pattern with Search Guards and shared observables.
- Implemented 'Remote First' toggle support (Edit Mode only) for background-only revalidation.
- Resolved 'each_key_duplicate' crash and fixed icon scaling issues in the session list.
- Restored missing session alert visibility for managers.
- Standardized store initialization to prevent reactivity loops.
2026-01-27 18:41:19 -05:00
Scott Idem
30413e32d2
refactor(events): harden V3 String-Only ID vision and fix Session Alert store error
...
- Standardized Event module logic files to strictly use random string IDs, ensuring frontend consistency and avoiding 'Integer Trap' 404s.
- Refactored 'ae_comp__event_session_alert.svelte' to accept a plain object instead of a store/observable, resolving the 'store_invalid_shape' error in list loops.
- Updated all callers of the alert component to pass unwrapped session objects.
- Cleaned up event-related UI components to remove redundant '_random' field lookups and align with V3 CRUD patterns.
- Updated project metadata (GEMINI.md, TODO.md) to reflect the new memory structure and latest hardened state.
2026-01-27 12:18:12 -05:00
Scott Idem
a704779d1b
fix(ux): optimize event lists and fix editor line wrapping
...
- Implemented 'Details' toggle in Session lists to defer expensive presenter/file sub-component renders, improving initial hydration speed.
- Fixed line-wrapping for long lines in Journals Editor (both plain textarea and CodeMirror).
- Updated TODO.md and GEMINI.md to reflect Journals standardization and performance optimizations.
2026-01-26 20:25:56 -05:00
Scott Idem
a68d5439bd
feat: Remove legacy files and fix first svelte/no-at-html-tags error\n\n- Moved legacy files from src/routes/legacy to backups/legacy/src/routes/legacy.\n- Removed the empty src/routes/legacy directory.\n- Fixed a svelte/no-at-html-tags error in src/routes/idaa/(idaa)/archives/[archive_id]/+page.svelte by replacing '{@html ?.name ?? 'Archive'}' with '{?.name ?? 'Archive'}'.\n- Addressed a misidentified '{@html}' tag in src/lib/ae_core/ae_comp__hosted_files_clip_video.svelte by removing commented-out code that might have caused false positives.
2025-11-20 19:46:17 -05:00
Scott Idem
a1a33f794d
More fixes related to id_random vs id.
2025-11-20 16:56:13 -05:00
Scott Idem
ee9d9a0aca
Trying to commit these changes so they are not lost. This is right after Gemini tried to move the Pres Mgmt files into a new sub directory. Everything seems to be working but I am sure something was missed.
2025-11-20 16:13:20 -05:00
Scott Idem
0987cd6ad9
style: Apply Prettier formatting with 4-space indentation
...
Applied consistent code formatting across the project using Prettier, now configured to use 4-space indentation instead of tabs.
2025-11-18 18:40:50 -05:00
Scott Idem
7e1eaba3bc
feat: Migrate ESLint to flat config and resolve initial linting errors
...
Migrated the ESLint configuration to the new flat config format ()
and addressed several initial linting errors.
Key changes include:
- Updated ESLint configuration to treat as warnings instead of errors.
- Fixed errors in by declaring and .
- Corrected error in by using instead of an out-of-scope .
- Resolved error in by replacing the undefined directive with the component.
- Addressed errors in by replacing with and with .
- Fixed errors in by importing necessary modules (, , ) and adding missing props (, , , , ).
2025-11-17 18:46:54 -05:00
Scott Idem
a87fa02bc6
Revert: Legacy launcher link changes
...
Reverted changes to legacy launcher links in various components. These links are intentionally structured to work with nginx location aliases and should not be modified to conform to SvelteKit routing.
2025-11-13 19:15:55 -05:00
Scott Idem
0e960ba955
Fixing id_random vs id for links and other things. Fixed the hash SHA256 error.
2025-11-13 18:59:27 -05:00
Scott Idem
e9a8f7df00
This was a lot... things are mostly working again. The changing of id_random properties caused some problems. The hosted_file_hash_sha256 is not working? There are other issues as well... This will take some time.
2025-11-13 18:38:00 -05:00
Scott Idem
a84d06a28d
Refactor: Update import paths for elements after moving them to src/lib/elements/.
2025-11-13 16:37:24 -05:00
Scott Idem
d9887aba93
Making things look nicer
2025-10-17 18:14:09 -04:00
Scott Idem
bb993a1028
Last minute clean up before LCI.
2025-10-17 16:22:23 -04:00
Scott Idem
a2f2742f30
More clean up. Making this live now.
2025-10-03 14:44:18 -04:00
Scott Idem
bcee6c5281
More work on the alerts for sessions. I think they are pretty good now.
2025-10-03 14:29:24 -04:00
Scott Idem
75f7ed54a5
Cleaning up the new session alerts
2025-10-03 14:01:25 -04:00
Scott Idem
c70abc46f3
Finally using the alerts for sessions!!
2025-10-03 13:27:12 -04:00
Scott Idem
f96a14107a
More work on using the new Element_ae_crud_v2 component
2025-09-30 13:11:52 -04:00
Scott Idem
99fe486842
Work on auto reload and related single property updates. Also bug fix for saving searched sessions.
2025-09-30 12:05:55 -04:00
Scott Idem
53a03f971f
Added new auto reload for most object types with new v2 function and element.
2025-09-30 03:43:29 -04:00
Scott Idem
0c01eed5c8
More work on new CRUD element. Now able to update the session location in the list.
2025-09-29 18:58:54 -04:00
Scott Idem
22d7c4728d
More work on the CRUD element
2025-09-29 14:17:27 -04:00
Scott Idem
24ba3940f8
Work on updating the custom CRUD element.
2025-09-29 14:06:47 -04:00
Scott Idem
623b62f716
I think things are scrolling better. Other style clean up for dark mode.
2025-09-18 10:44:01 -04:00
Scott Idem
c7b8d49730
Lots of style improvements. Dark mode is mostly useable now. Work on reports.
2025-09-16 12:59:20 -04:00
Scott Idem
4861ae0499
Lot of updates to Svelte 5 syntax
2025-07-23 16:21:27 -04:00
Scott Idem
a3999e5617
Mass changes
2025-07-21 16:46:33 -04:00
Scott Idem
20ad1370e2
More style updates....
2025-07-11 16:30:27 -04:00
Scott Idem
ea30697ffb
Lots of work on searching. Other related code clean up.
2025-07-10 19:46:41 -04:00
Scott Idem
8bf9d488cd
Rework of the IDAA Recovery Meetings search. Other related updates and bug fixes. Added preventDefault()
2025-07-10 15:45:48 -04:00
Scott Idem
c47019ddba
Mostly style improvements in general and for LCI
2025-06-24 11:48:56 -04:00
Scott Idem
db4c061f19
Prep for LCI walk through again
2025-06-24 10:14:28 -04:00
Scott Idem
e18400d597
Updating styles to use the new Aether presets based on the TW and Skeleton presets. Prep for LCI
2025-06-19 20:25:09 -04:00
Scott Idem
13912fd145
Still working on upgrading to Tailwind CSS v4 an dSkeleton v3.....
2025-06-18 17:59:48 -04:00
Scott Idem
e0f0b774ef
Making the max person results sticky
2025-06-10 17:55:46 -04:00
Scott Idem
c10abd596e
General code clean up related to the person functions. Less direct use of params and params_json
2025-06-10 14:32:00 -04:00
Scott Idem
39a878ac38
Updated the person functions. General clean up of code.
2025-06-10 12:16:19 -04:00
Scott Idem
14f4adeafa
Finally getting the event session list to use the LiveQuery with a list of IDs to work correctly. Now replacing old version. Well... maybe some more testing tomorrow.
2025-05-22 18:19:20 -04:00