mirror of
https://github.com/block/goose.git
synced 2026-07-17 12:56:20 +02:00
dcf94c6abe
Add comprehensive navigation system with two modes (push/overlay), four positions, three interactive widgets, and full customization capabilities. Components: - TopNavigation: Expanded tile-based layout with auto-fit grid - CondensedNavigation: Compact row-based layout - NavigationCustomizationSettings: Preferences management - Navigation mode/position/style selectors Features: - Two navigation modes: push (sidebar) and overlay (launcher) - Four positions: top, bottom, left, right - Two styles: expanded (tiles) and condensed (rows) - Three widgets: analog clock, activity heatmap, token counter - Drag & drop reordering of navigation items - Show/hide controls for navigation items - Comprehensive settings UI with collapsible sections - Persistent user preferences in localStorage - Settings tab state persistence across mode changes - Centered overlay mode (always expanded) - Real-time stats and live data updates Technical: - Added custom CSS animations to main.css (nav-tile, nav-overlay-enter, etc.) - Components use framer-motion for animations (needs manual refactor to CSS) - All TypeScript types properly defined - Settings integration complete Note: The navigation components currently import framer-motion for animations. These imports need to be manually replaced with the CSS animations prepared in main.css. Automated refactoring broke JSX structure in testing. TODO: Replace framer-motion imports with CSS-based animations before merge.