- Add popover shadcn component (radix-ui based)
- Create DateTimePicker component: Calendar popover for date + hour/minute
selects for time, allDay-aware, emits ISO / YYYY-MM-DD strings
- Replace datetime-local / date <Input> fields in EventDialog with DateTimePicker
- Remove unused CalendarIcon and Clock imports from event-dialog
- Add event action props (events, onAddEvent, onImport, onExport, onClearAll)
- Show skeleton loading state while session is pending
- Render event action buttons (Add, Import, Export, Clear) in action bar
- Add AnimatePresence for image preview attach/remove
- Replace Card summary panel with animated glass-card panel
- Inline AI Summarize button into action bar when authenticated
- Add Sparkles icon to AI command section header
- Apply glass-strong to DialogContent
- Add LucideMapPin and CalendarIcon/Clock icons to input fields
- Replace native checkbox with Checkbox + Label component
- Unify allDay date inputs into single relative-positioned blocks
- Add Cancel button to DialogFooter
- Rename Save to Create for new events
- Wrap card in motion.div with layout/enter/exit animations
- Replace Card/CardHeader/CardContent with flat glass-card div
- Add hover-reveal action menu with opacity transition
- Improve date formatting with locale options for month/day/time
- Show end time inline next to start
- Add ExternalLink for event URLs
- Add icons to dropdown menu items with DropdownMenuSeparator
- add DialogDescription (sr-only) to EventDialog to satisfy Radix UI
aria-describedby requirement and silence the React console warning
- add htmlFor/id pairing to the all-day checkbox label in EventDialog
- add id and name attributes to all raw form fields (textarea, checkbox)
in event-dialog to resolve biome a11y lint warnings (4 fields fixed)
- add name attribute to hidden file inputs in image-picker and ics-file-picker
- generate public/icon-192x192.png and public/icon-512x512.png so the PWA
manifest no longer returns 404 for the app icons
Replace manually duplicated variant/size type literals with
VariantProps<typeof buttonVariants> for type safety and
consistency with the Button component.
Add unoptimized prop to image preview to support blob URLs, contain
overflow on preview container, replace div with semantic section
element in DragDropContainer with aria-label, and import shared
image constants.
Sort imports alphabetically, convert value imports to type-only where
appropriate, normalize indentation to tabs, and sort exports
alphabetically across UI components, pages, and lib modules.
- Extract EventCard, EventsList, and event dialog into separate components
- Add new AI toolbar and drag-drop container components
- Simplify main page.tsx by removing inline component definitions
- Improve code organization and maintainability