From 2e70ce312b630ddabbd9467546ff327589f1b4b8 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Tue, 18 Nov 2025 20:13:32 -0500 Subject: [PATCH] docs: Update GEMINI.md with summary of event settings page Added a summary of the new event settings page to GEMINI.md, documenting the form-based UI, collapsible sections, view toggles, and Svelte 5 reactivity improvements. --- GEMINI.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/GEMINI.md b/GEMINI.md index 48d59e60..838c4c80 100644 --- a/GEMINI.md +++ b/GEMINI.md @@ -121,3 +121,14 @@ The new Badge Search functionality was refactored to resolve several issues rela - The badge search data flow was refactored to pass full badge objects from the search component to the list component, simplifying the logic and resolving reactivity issues. - **Link Generation:** - Badge links were updated to use the string-based random IDs for both the event and the badge, ensuring consistency and avoiding the exposure of internal numeric IDs. + +### Event Settings Page (2025-11-18) + +A new event settings page was created at `/events/[event_id]/settings` to provide a user-friendly interface for managing event configurations. + +**Key features:** + +- **Form-Based UI:** Instead of raw JSON editing, the page uses form-based components for editing event properties. This includes basic event fields (name, code, dates, etc.) and the JSON configuration fields (`cfg_json`, `mod_pres_mgmt_json`, `mod_badges_json`, `mod_abstracts_json`). +- **Collapsible Sections:** Each configuration section is wrapped in a `
` element, allowing them to be collapsed and expanded for better organization. +- **View Toggling:** For the JSON configuration fields, a toggle switch allows the user to switch between the form-based UI and a raw JSON editor (using CodeMirror), providing flexibility for both simple and advanced editing. +- **Svelte 5 Reactivity:** The components were built using Svelte 5's `bindable` props to ensure proper two-way data binding between the parent page and the child form components. This corrected an issue where changes in the child components were not being reflected in the parent's state.