) {
+ const { isResponsive } = useResponsiveStore();
const { themeTokens, colorsTokens } = useCunninghamTheme();
const tokens = themeTokens();
const colors = colorsTokens();
@@ -27,17 +31,24 @@ export function MainLayout({
-
+ {leftPanelContent}
void;
+ toggleMobileMenu: () => void;
isResponsive: boolean;
initializeResizeListener: () => () => void;
}
const initialState = {
isMobile: false,
- isSmallMobile: false,
isTablet: false,
+ isSmallMobile: false,
isResponsive: false,
+ isMobileMenuOpen: false,
screenSize: 'desktop' as ScreenSize,
screenWidth: 0,
};
@@ -27,9 +30,13 @@ export const useResponsiveStore = create((set) => ({
isTablet: initialState.isTablet,
isSmallMobile: initialState.isSmallMobile,
screenSize: initialState.screenSize,
+ isMobileMenuOpen: initialState.isMobileMenuOpen,
screenWidth: initialState.screenWidth,
setScreenSize: (size: ScreenSize) => set(() => ({ screenSize: size })),
isResponsive: initialState.isResponsive,
+ toggleMobileMenu: () => {
+ set((old) => ({ isMobileMenuOpen: !old.isMobileMenuOpen }));
+ },
initializeResizeListener: () => {
const resizeHandler = () => {
const width = window.innerWidth;