fix(UI-Overhaul-Phase5): Kalender Visibility-Toggle fix

5.1: Toolbar already has PluginToolbar with navigation, view mode, actions — no changes needed
5.2: Calendar visibility toggle fix:
  - calendarStore.setCalendars now initializes visibleCalendarIds with all calendar IDs
  - CalendarTree.tsx visibility check simplified to visibleCalendarIds.has(cal.id)
  - No more empty-set-means-all-visible confusion

tsc clean
This commit is contained in:
Agent Zero
2026-08-21 13:38:20 +02:00
parent 7f61dfb25b
commit 9f89cb17a0
2 changed files with 8 additions and 4 deletions
@@ -128,9 +128,7 @@ function TypeSection({
<CalendarRow <CalendarRow
calendar={cal} calendar={cal}
selected={activeCalendarId === cal.id} selected={activeCalendarId === cal.id}
visible={ visible={visibleCalendarIds.has(cal.id)}
visibleCalendarIds.size === 0 || visibleCalendarIds.has(cal.id)
}
onSelect={() => onSelect(cal.id)} onSelect={() => onSelect(cal.id)}
onToggleVisibility={() => onToggleVisibility(cal.id)} onToggleVisibility={() => onToggleVisibility(cal.id)}
/> />
+7 -1
View File
@@ -139,7 +139,13 @@ export const useCalendarStore = create<CalendarState>((set) => ({
}), }),
setActiveCalendarId: (id) => set({ activeCalendarId: id }), setActiveCalendarId: (id) => set({ activeCalendarId: id }),
setCalendars: (calendars) => set({ calendars }), setCalendars: (calendars) => set((s) => {
// Initialize visibleCalendarIds with all calendar IDs if empty
const visibleCalendarIds = s.visibleCalendarIds.size === 0
? new Set(calendars.map((c) => c.id))
: s.visibleCalendarIds;
return { calendars, visibleCalendarIds };
}),
setSelectedEntry: (entry) => set({ selectedEntry: entry }), setSelectedEntry: (entry) => set({ selectedEntry: entry }),
toggleCalendarVisibility: (id) => toggleCalendarVisibility: (id) =>
set((s) => { set((s) => {