Files
landscape-template/src/redux/features/theme.slice.ts
2022-01-16 20:51:24 +02:00

31 lines
738 B
TypeScript

import { createSlice, PayloadAction } from "@reduxjs/toolkit";
interface StoreState {
navHeight: number;
isMobileScreen: boolean;
}
const initialState = {
navHeight: 88,
isMobileScreen: /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) || window.innerWidth < 480,
} as StoreState;
export const themeSlice = createSlice({
name: "theme",
initialState,
reducers: {
setNavHeight(state, action: PayloadAction<number>) {
state.navHeight = action.payload;
},
setIsMobileScreen(state, action: PayloadAction<boolean>) {
state.isMobileScreen = action.payload;
},
},
});
export const { setNavHeight, setIsMobileScreen } = themeSlice.actions;
export default themeSlice.reducer;