28 lines
596 B
TypeScript
28 lines
596 B
TypeScript
enum LayoutActionConstants {
|
|
TOGGLE_SIDEBAR = "TOGGLE_SIDEBAR",
|
|
}
|
|
|
|
interface LayoutState {
|
|
isSidebarCollapsed: boolean;
|
|
}
|
|
|
|
const initialState: LayoutState = {
|
|
isSidebarCollapsed: false,
|
|
};
|
|
|
|
export const layoutReducer = (
|
|
state: LayoutState = initialState,
|
|
action: { type: string },
|
|
): LayoutState => {
|
|
switch (action.type) {
|
|
case LayoutActionConstants.TOGGLE_SIDEBAR:
|
|
return { ...state, isSidebarCollapsed: !state.isSidebarCollapsed };
|
|
default:
|
|
return state;
|
|
}
|
|
};
|
|
|
|
export const toggleSidebar = () => ({
|
|
type: LayoutActionConstants.TOGGLE_SIDEBAR as const,
|
|
});
|