1 import { combineReducers } from '@reduxjs/toolkit';
3 import { oauthTokenReducer } from '@proton/activation/src/logic/oauthToken';
5 calendarSettingsReducer,
6 calendarsBootstrapReducer,
8 holidaysDirectoryReducer,
9 } from '@proton/calendar';
10 import { breachesCountReducer } from '@proton/components';
11 import { sharedPersistReducer, sharedReducers } from '@proton/redux-shared-store';
12 import { selectPersistModel } from '@proton/redux-utilities';
14 import { busySlotsReducer } from './busySlots/busySlotsSlice';
15 import { eventsReducer } from './events/eventsSlice';
17 export const rootReducer = combineReducers({
20 ...calendarsBootstrapReducer,
21 ...calendarSettingsReducer,
22 ...holidaysDirectoryReducer,
24 ...breachesCountReducer,
29 export type CalendarState = ReturnType<typeof rootReducer>;
31 export const persistReducer: Partial<{ [key in keyof CalendarState]: any }> = {
32 ...sharedPersistReducer,
33 calendarUserSettings: selectPersistModel,
34 calendars: selectPersistModel,
35 holidaysDirectory: selectPersistModel,