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:
@@ -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)}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -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) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user