Commit Graph

52 Commits

Author SHA1 Message Date
Scott Idem
5385eacc0f refactor(badges): standardize helpers and apply batch formatting
- Standardized 'prevent_default' helper names across badges module.
- Corrected native 'event.preventDefault()' calls in view and template components.
- Applied batch formatting (printWidth: 80) to all badges files.
2026-02-06 14:55:43 -05:00
Scott Idem
7ce5e1f825 refactor: standardize 'prevent_default' helpers and batch format modules
- Renamed internal 'preventDefault' helpers to 'prevent_default' for project-wide snake_case consistency.
- Corrected native event method calls from 'prevent_default()' to 'preventDefault()' to resolve runtime TypeErrors.
- Applied batch formatting (printWidth: 80) to Journals and IDAA Recovery Meetings modules.
- Removed deprecated 'preventDefault' imports from svelte/legacy.
- Fixed Journal Entry 404 by migrating loader to V3 API helper.
2026-02-06 14:45:53 -05:00
Scott Idem
db34da66dc Standardize Event DB/Types and fix critical UI type mismatches across Badges, Journals, and Locations modules 2026-02-04 17:57:42 -05:00
Scott Idem
bc30724628 feat(events): reorganize badge admin tools and enhance dependency tracking
- Migrated 'Add New Badge' and 'Upload Badge List' to centralized Event Settings hub.
- Secured Admin Tools visibility with Administrator access and Edit Mode requirements.
- Restored and modernized Badge Template management route with Svelte 5 runes.
- Patched 'Archive' and 'Session' database interfaces to resolve compiler errors.
- Added project-wide dependency comments to key interfaces (Archive, Badge, Session) to prevent cascading change regressions.
- Fixed duplicate import errors in the Settings page.
2026-02-04 14:04:44 -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
2975835d96 Continuing to make updates to the Data Stores to use v3. 2026-01-29 12:29:14 -05:00
Scott Idem
b25d13297e fix: stabilize root layout reactivity and badge template form
- Fix infinite loops in '+layout.svelte' by using 'untrack' for store synchronization effects.
- Correctly define 'ae_acct' as a derived rune to resolve ReferenceErrors and ensure site styles hydrate properly.
- Modernize 'ae_comp__badge_template_form.svelte' with Svelte 5 Runes and callback props (onsuccess, onerror, oncancel).
- Fix illegal async  in badge form by moving logic to a dedicated load function untracked by the effect.
- Add Presentation Management Reports to TODO list for tracking.
2026-01-28 15:46:29 -05:00
Scott Idem
cc3a6b0f59 feat(leads): implement reactive search for exhibitors and lead tracking
- Implemented V3-style reactive search (Local Cache -> Remote Revalidation) for exhibitors.
- Standardized search fields to 'name' for Exhibits and 'event_badge_full_name' for Lead Tracking.
- Refactored Leads UI with standardized search components and grid layout.
- Updated event routing to exclusively use string-based IDs (Triple-ID pattern).
- Hardened 'ae_EventSession' type definitions to handle null values from V3 API/Dexie.
2026-01-28 12:05:42 -05:00
Scott Idem
8680ad89c1 refactor(badges): complete field normalization and search mapping
- Finalized the rename of 'default_qry_string' to 'default_qry_str' across the Badge library, Dexie schema, and API documentation.
- Synchronized all reactive filtering in '+page.svelte' with the standardized field names to restore full search functionality.
- Verified that text search, affiliations, and types now correctly map to whitelisted backend fields.
2026-01-27 18:04:08 -05:00
Scott Idem
5219bd0c9c refactor(badges): fix text search and standardize field mapping
- Renamed 'default_qry_string' to 'default_qry_str' across the Badge interface, Dexie schema, and API logic to resolve 400 'Unauthorized search field' errors.
- Synchronized local Fast Path filtering with the correct database field names.
- Hardened the reactive search pattern in '+page.svelte' to ensure end-to-sync consistency between local and background results.
2026-01-27 17:53:05 -05:00
Scott Idem
bf93539880 refactor(badges): stabilize search components and reactivity
- Implemented Search Guard and store initialization in '+page.svelte' to fix loops and filtering.
- Updated 'ae_comp__badge_search.svelte' to act as a pure UI component triggering versioned searches.
- Refactored 'ae_comp__badge_obj_li.svelte' to use shared data streams and fixed icon build errors.
2026-01-27 17:47:08 -05:00
Scott Idem
055d8e7816 refactor(search): standardize debounced reactive search across modules
- Standardized the search pattern using Svelte 5 debounced $effects in Recovery Meetings, Badge Search, and Journals to eliminate manual triggers and stuttering.
- Fixed a bug in 'ae_idaa_comp__event_obj_li.svelte' where the Results count was inconsistent with the displayed list by implementing a derived 'visible_event_obj_li' state.
- Hardened 'ae_idaa_comp__event_obj_li_wrapper.svelte' to filter out 'undefined' entries from database 'bulkGet' calls.
- Cleaned up legacy search handling code in 'ae_idaa_comp__event_obj_qry.svelte'.
- Updated 'TODO.md' and 'GEMINI.md' to reflect search logic hardening accomplishments.
2026-01-27 13:08:11 -05:00
Scott Idem
4976f2d897 Fix: System-wide type hardening and V3 API alignment 2026-01-22 19:22:16 -05:00
Scott Idem
8b611e7875 feat(offline): implement Dexie fallbacks and fix type stability in Events module
- Offline Resilience: Added local Dexie fallbacks to load_ae_obj_id__* and load_ae_obj_li__* functions for Events, Sessions, Locations, Exhibits, and Badges.
- Type Safety: Standardized ae_Event and ae_EventSession interfaces in ae_types.ts; resolved Promise assignment errors in load functions (+page.ts).
- Bug Fixes: Corrected duplication in ae_events__event_location.ts and ae_events__event_badge_template.ts; fixed missing try_cache parameters.
- UI Stability: Fixed Dexie LiveQuery subscription pattern in bulk print view and ensured proper property access in layout load functions.
2026-01-16 15:09:10 -05:00
Scott Idem
5ee17c2925 The badge view ID now correctly renders a badge! This took way too long. So many $ were removed and things missed. 2026-01-16 13:07:28 -05:00
Scott Idem
07572e0f5c The badge does not yet render and are not fully working on the badge view ID page, but I am saving anyways. It at least works and seems to finally be moving in the right direction. It is partially related to the badge_template records not being saved to the badge_template. 2026-01-16 12:44:30 -05:00
Scott Idem
bb6b3b7352 The sorting now works and some missing fields were added. 2026-01-05 18:29:41 -05:00
Scott Idem
17589596bc Improved sorting for badges. Waiting on an API fix to include the missing badge fields. I think only the minimum is being returned. We need things like the print_count, print_first_datetime, and other fields. 2026-01-05 18:02:09 -05:00
Scott Idem
cdca5d64be Work on cleaning up the order by for badges. 2026-01-05 17:00:00 -05:00
Scott Idem
2a5b46883f Did some package updates, Svelte build changes (fewer warnings), work on IDAA and Jitsi service. 2025-12-12 14:57:10 -05:00
Scott Idem
1611ac0183 Removing old unused references to skeletonlabs. 2025-12-08 18:14:57 -05:00
Scott Idem
098fc94a5a GOOD: This is the most up to date version that seems to work after all the AI updates and changes and the package upgrades. This was a lot!!! This needs more testing... A *lot* was changed over the last 2 weeks. An oldish version from 2 weeks ago that I know works is commit b3c04464. I also found a commit (1fc58eb1) from 3 days ago that mostly works as well. 2025-12-08 17:20:34 -05:00
Scott Idem
1fc58eb18f Seems to be working still... Trying to update packages. 2025-12-05 14:50:06 -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
359d5d47f9 Working on event_id and event_id_random are both showing as undefined. badge_id and badge_id_random work in this file though. 2025-11-20 17:11:02 -05:00
Scott Idem
65b793f663 Fixed bug where trusted_access value changes were not working. 2025-11-20 12:43:30 -05:00
Scott Idem
4b1db3afff docs: Add and update READMEs for new v3 event modules
- Added new README.md for the v3 Event Leads module at `src/routes/events/[event_id]/(leads)/README.md`, adapting content from its legacy counterpart.
- Created placeholder README.md files for the main v3 Events module (`src/routes/events/[event_id]/README.md`), the v3 Launcher module (`src/routes/events/[event_id]/(launcher)/README.md`), and the v3 Badges module (`src/routes/events/[event_id]/(badges)/README.md`).
2025-11-19 22:47:28 -05:00
Scott Idem
d1021e2822 feat: Refactor event modules for Svelte 5 and new routing structure
- Moved legacy event modules (`events_badges`, `events_leads`) to `src/routes/legacy/` and renamed them to `events_badges_v2` and `events_leads_v2` respectively.
- Created new directory structures for Svelte 5 and SvelteKit-based event modules under `src/routes/events/[event_id]/`:
    - `(launcher)`
    - `(badges)`
    - `(leads)`
- Updated `src/routes/events_leads/README.md` (now `src/routes/legacy/events_leads_v2/README.md`) with comprehensive documentation for the legacy lead retrieval module, reflecting its features, data model, routing, components, and technical implementation details, incorporating project conventions.
2025-11-19 22:45:50 -05:00
Scott Idem
bd4bd360f7 docs: Update project documentation and session notes
- Updates `GEMINI.md` with a detailed summary of the days debugging session for the v3 Badges page.
- Updates `TODO.md` to mark recent bug fixes as complete and adds new tasks for outstanding issues (e.g., `order_by_li` fix).
- Updates `ARCHITECTURE.md` to reflect the current state of the tech stack (Tailwind v4, component library status).
- Creates `README.md` files for the new v3 Badges module and the legacy Lead Retrieval module to clarify their purpose and status.
2025-11-19 19:05:06 -05:00
Scott Idem
10cc435146 There have been a lot of changes. For some reason the commit is not working? Trying again. 2025-11-19 18:56:58 -05:00
Scott Idem
b3c0446440 fix(badges): Resolve badge search API error and UI bugs
This commit addresses several critical issues preventing the new v3 badge search page from functioning correctly.

- **Fixes API Fetch Error:** Resolves a `TypeError: NetworkError` that occurred during badge searches. The error was caused by an incorrect `order_by_li` parameter being sent to the API. The parameter is now temporarily commented out in `ae_events__event_badge.ts` to allow searches to succeed.

- **Fixes Svelte 5 Binding Error:** Implements a defensive initialization for badge search filter properties directly in the `(badges)/badges/+page.svelte` script. This prevents a `props_invalid_value` runtime error by ensuring that bound store values are not `undefined` when the child search component is rendered.

- **Fixes Invalid Attribute Name Error:** Corrects the `onsubmit|preventDefault` syntax in the new badge creation and upload forms. The `preventDefault` logic is now handled inside the respective submit handler functions.

- **Restores Site-wide Styles:** Re-adds the global Skeleton UI CSS imports to `app.css` to fix numerous "unknown utility class" errors (e.g., `preset-tonal-*`) and restores button styles in the legacy leads list.

- **Refactors Badge Search Component:** Updates the `ae_comp__badge_search.svelte` component to use its own reactive props for state management instead of relying on global stores, and removes obsolete/conflicting logic.
2025-11-19 18:54:46 -05:00
Scott Idem
79da9acd2f fix(badges): Resolve build errors and restore site styles
This commit addresses several critical issues that were preventing the application from building and rendering correctly.

- **Restores Skeleton UI CSS:** Re-adds the global Skeleton UI CSS imports to `app.css`. This fixes numerous "unknown utility class" errors (e.g., `preset-tonal-secondary`) across the site, allowing components to render with their intended styles again.

- **Fixes Invalid Attribute Name Error:** Corrects the `onsubmit|preventDefault` syntax in the new badge creation and upload forms (`ae_comp__badge_create_form.svelte`, `ae_comp__badge_upload_form.svelte`). The `preventDefault` logic is now handled inside the respective submit handler functions, resolving the Svelte v5 parsing error.

- **Fixes Svelte 5 Binding Error:** Implements a defensive initialization for badge search filter properties directly in the `(badges)/badges/+page.svelte` script. This prevents a `props_invalid_value` runtime error by ensuring that bound store values are not `undefined` when the child search component is rendered.

- **Fixes Invalid CSS Classes:** Replaces incorrect `preset-tonal-*` classes in the legacy `leads_list.svelte` component with standard Tailwind CSS utility classes to prevent further styling-related errors.
2025-11-19 18:21:40 -05:00
Scott Idem
8f49edc1b3 Various fixes. One being yet another id_random issue. 2025-11-19 13:34:15 -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
c8c19a35a6 refactor: Use random IDs as primary keys in IDB
This commit refactors the IndexedDB schema to use the string-based random IDs as primary keys instead of the numeric auto-incrementing IDs. This change affects the 'badge' table and all related components that interact with it. The badge detail page and list component have been updated to use the new primary key for more efficient and consistent data retrieval.
2025-11-18 17:49:16 -05:00
Scott Idem
97d41adb12 fix: Use random IDs for badge links and detail page
This commit updates the badge list to use the string-based random IDs for badge links. It also updates the badge detail page to correctly fetch the badge data using the random ID from the URL.
2025-11-18 17:37:48 -05:00
Scott Idem
69c34fa4bc fix: Resolve badge search reactivity and SSR issues
This commit fixes several issues with the new badge search functionality. It resolves a 500 Internal Error by moving the Dexie liveQuery into an onMount block to prevent server-side execution. It also fixes a Svelte 5 reactivity issue by using a more explicit subscription pattern for the liveQuery and by correctly accessing state variables in the template. The badge search results are now correctly displayed.
2025-11-18 17:30:57 -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
3104304fdb Updates to common enabled and hidden properties. 2025-11-13 20:16:22 -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
5b9dacd291 Better logic for lengths. Keep them more equal. 2025-10-10 17:54:49 -04:00
Scott Idem
8c2241e610 Work on badge rendering. 2025-10-10 17:40:35 -04:00
Scott Idem
74cc5c5d0d Work on badge printing and the actual badge layout. 2025-10-09 19:26:35 -04:00
Scott Idem
41d20a3bcf Minor clean up getting ready for LCI and demo for AAPOR. 2025-10-08 16:41:57 -04:00
Scott Idem
bad5da3ddc More serious work on badge printing. Working on the templates and actually implementing the printable badge. 2025-10-07 19:39:53 -04:00
Scott Idem
28cb8e2bf2 Testing 2025-10-07 03:35:45 -04:00
Scott Idem
11334a17b1 Minor 2025-10-07 03:32:20 -04:00
Scott Idem
b24262b4ab Could not sleep. Working on the search for badges. 2025-10-07 03:25:02 -04:00
Scott Idem
e1a04d5eda Not sure 2025-10-06 18:56:16 -04:00
Scott Idem
00ff9554d8 Trying to simplify things 2025-10-06 18:54:11 -04:00