feat(calendar): add number labels to ViewSwitcher and extended day views

- Replace icons with number labels (1, 3, 5, 7, 10, 14, 30, 60, 90, 365, M, Y, L)
- Add new standard view types: 30day, 60day, 90day, 365day
- Add 3day view as standard option
- Add custom day range input (1-365 days) in context menu
- Update PillTabGroup to show labels when no icon is provided
- Change MultiDayView dayCount prop from union to number type
- Add ultra-compact class for views with 14+ days

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Till-JS 2025-12-15 02:54:10 +01:00
parent 1395291b49
commit 3edb65c2c3
9 changed files with 627 additions and 63 deletions

View file

@ -1,9 +1,28 @@
/**
* Calendar view types
*/
export type CalendarViewType =
| 'day'
| '3day'
| '5day'
| 'week'
| '10day'
| '14day'
| '30day'
| '60day'
| '90day'
| '365day'
| 'month'
| 'year'
| 'agenda'
| 'custom';
/**
* Calendar settings stored in JSONB
*/
export interface CalendarSettings {
/** Default view when opening the calendar */
defaultView?: 'day' | '5day' | 'week' | '10day' | '14day' | 'month' | 'year' | 'agenda';
defaultView?: CalendarViewType;
/** 0 = Sunday, 1 = Monday */
weekStartsOn?: 0 | 1;
/** Show week numbers in calendar views */
@ -57,19 +76,6 @@ export interface UpdateCalendarInput {
settings?: CalendarSettings;
}
/**
* Calendar view types
*/
export type CalendarViewType =
| 'day'
| '5day'
| 'week'
| '10day'
| '14day'
| 'month'
| 'year'
| 'agenda';
/**
* Default calendar colors
*/