Skip to content

feat(app): vertical schedule#13

Merged
chiptus merged 16 commits into
developfrom
feat/vertical-schedule
Aug 24, 2025
Merged

feat(app): vertical schedule#13
chiptus merged 16 commits into
developfrom
feat/vertical-schedule

Conversation

@chiptus

@chiptus chiptus commented Aug 21, 2025

Copy link
Copy Markdown
Owner

No description provided.

@vercel

vercel Bot commented Aug 21, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
upline Ready Ready Preview Comment Aug 24, 2025 11:58am

chiptus and others added 2 commits August 22, 2025 08:09
…st design

- Replace URL state management with proper nested React Router routes
- Create dedicated route components for each tab (Artists, Timeline, Map, Info, Social)
- Implement mobile-first navigation with bottom tab bar for mobile and horizontal tabs for desktop
- Add unified TAB_CONFIG for consistent navigation across platforms (Vote/Artists, Schedule/Timeline, etc.)
- Create shared EditionRoutes factory for both subdomain and main domain routing
- Update MainTabNavigation to use NavLink with proper active state detection
- Preserve filter state functionality using search parameters
- Add responsive design with proper safe area support for mobile devices
- Update Schedule page redirect to use new routing structure
- Remove deprecated MainViewToggle component and mainView state management
- Maintain backward compatibility while providing cleaner, semantic URLs

Routes structure:
- Artists (default): /editions/:slug or /festivals/:festival/editions/:slug
- Timeline: /editions/:slug/timeline
- Map: /editions/:slug/map
- Info: /editions/:slug/info
- Social: /editions/:slug/social

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
chiptus and others added 5 commits August 22, 2025 08:26
Add rule requiring automatic commits for all user requests involving code changes.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Major mobile optimizations for better content visibility:

- **Collapsible filters**: Timeline filters now collapse on mobile with expand/collapse toggle, showing active filter count badge
- **Compact view toggles**: Reduced button size and padding on mobile (px-3 py-2 vs px-4 py-3)
- **Reduced spacing**: Less vertical spacing throughout (space-y-3 on mobile vs space-y-6 on desktop)
- **Tighter layout**: Reduced page padding (py-4 on mobile vs py-8 on desktop)
- **Auto-expand on desktop**: Filters always visible on desktop, collapsible only on mobile

These changes significantly reduce header/control height, allowing more schedule content to be visible without scrolling.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Extract reusable components for better maintainability:

**New Components:**
- `GroupFilterDropdown`: Handles group selection with internal data loading
- `FilterToggle`: Shows/hides filter panel with active count badge
- `RefreshButton`: Refresh rankings when sort is locked

**Benefits:**
- Reduced FilterSortControls from 183 → 95 lines (~48% smaller)
- Better separation of concerns - each component has single responsibility
- GroupFilterDropdown now self-contained with data loading
- Easier to test and maintain individual pieces
- Consistent styling and behavior patterns

**Preserved Functionality:**
- All filtering and sorting behavior unchanged
- Mobile/desktop responsive layouts maintained
- Active filter counts and visual states preserved

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
**Timeline Filter Improvements:**
- **Integrated View Toggle**: Moved grid/feed buttons into TimelineFilters component
- **Consistent Layout**: Now matches FilterSortControls pattern with primary controls row + expandable filters
- **Better Organization**: View toggle on left, filter toggle on right with active count badge
- **Responsive Design**: Proper mobile/desktop styling consistent with voting filters
- **Cleaner API**: TimelineTab simplified to just pass view state to unified component

**New Components:**
- `ViewToggle`: Extracted reusable view toggle component for grid/list modes
- Enhanced `TimelineFilters`: Now handles both view switching and filtering in unified interface

**Benefits:**
- Consistent UX between voting and timeline pages
- Less visual clutter with integrated controls
- Better mobile experience with unified layout
- Easier maintenance with shared design patterns

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Create shared filter components in common/filters:
  - FilterToggle: enhanced with clear button and count badge
  - FilterContainer: reusable container styling
  - FilterHeader: standardized header with clear functionality

- Refactor TimelineFilters:
  - Use shared components for consistency
  - Move clear filters to top bar next to toggle
  - Remove FilterHeader from expanded section

- Refactor FilterSortControls:
  - Migrate to shared components
  - Add clear filters to top bar
  - Remove duplicate FilterToggle implementation

- Break ViewToggle into ViewToggleOption component:
  - Create reusable ViewToggleOption for individual toggle buttons
  - Improve maintainability and extensibility
  - Fix responsive styling for mobile devices

- Remove clear buttons from expanded filter sections:
  - Consolidate all filter clearing in top bar
  - Improve UX with centralized filter management

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@chiptus
chiptus merged commit d5abab4 into develop Aug 24, 2025
7 checks passed
@chiptus
chiptus deleted the feat/vertical-schedule branch August 24, 2025 12:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant