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.