diff --git a/src/components/layout/Aside.tsx b/src/components/layout/Aside.tsx index 9154fea10..9d05d196e 100644 --- a/src/components/layout/Aside.tsx +++ b/src/components/layout/Aside.tsx @@ -1,4 +1,5 @@ -import { Aside as MantineAside, Group } from '@mantine/core'; +import { Aside as MantineAside, createStyles, Group } from '@mantine/core'; +import { useMediaQuery } from '@mantine/hooks'; import { WeatherModule, DateModule, @@ -8,12 +9,29 @@ import { } from '../modules'; import { ModuleWrapper } from '../modules/moduleWrapper'; +const useStyles = createStyles((theme) => ({ + hide: { + [theme.fn.smallerThan('xs')]: { + display: 'none', + }, + }, + burger: { + [theme.fn.largerThan('sm')]: { + display: 'none', + }, + }, +})); + export default function Aside(props: any) { + const { classes, cx } = useStyles(); + const matches = useMediaQuery('(min-width: 800px)'); + return ( ); } diff --git a/src/components/layout/Header.tsx b/src/components/layout/Header.tsx index 28ed95f46..145e89e57 100644 --- a/src/components/layout/Header.tsx +++ b/src/components/layout/Header.tsx @@ -1,9 +1,29 @@ import React from 'react'; -import { createStyles, Header as Head, Group, Box } from '@mantine/core'; +import { + createStyles, + Header as Head, + Group, + Box, + Burger, + Drawer, + Title, + ScrollArea, + ActionIcon, + Transition, +} from '@mantine/core'; +import { useBooleanToggle } from '@mantine/hooks'; import { Logo } from './Logo'; import SearchBar from '../modules/search/SearchModule'; import { AddItemShelfButton } from '../AppShelf/AddAppShelfItem'; import { SettingsMenuButton } from '../Settings/SettingsMenu'; +import { ModuleWrapper } from '../modules/moduleWrapper'; +import { + CalendarModule, + TotalDownloadsModule, + WeatherModule, + DateModule, + SystemModule, +} from '../modules'; const HEADER_HEIGHT = 60; @@ -13,10 +33,18 @@ const useStyles = createStyles((theme) => ({ display: 'none', }, }, + burger: { + [theme.fn.largerThan('sm')]: { + display: 'none', + }, + }, })); export function Header(props: any) { + const [opened, toggleOpened] = useBooleanToggle(false); const { classes, cx } = useStyles(); + const [hidden, toggleHidden] = useBooleanToggle(true); + const drawerModule = CalendarModule; return ( @@ -28,6 +56,48 @@ export function Header(props: any) { + + { + toggleHidden(); + toggleOpened(); + }} + /> + + diff --git a/src/components/layout/Layout.tsx b/src/components/layout/Layout.tsx index ac2c3c742..116c6516f 100644 --- a/src/components/layout/Layout.tsx +++ b/src/components/layout/Layout.tsx @@ -1,16 +1,37 @@ -import { AppShell, createStyles } from '@mantine/core'; +import { AppShell, createStyles, Group } from '@mantine/core'; import { Header } from './Header'; import { Footer } from './Footer'; import Aside from './Aside'; +import { ModuleWrapper } from '../modules/moduleWrapper'; +import { + CalendarModule, + TotalDownloadsModule, + WeatherModule, + DateModule, + SystemModule, +} from '../modules'; const useStyles = createStyles((theme) => ({ main: {}, })); export default function Layout({ children, style }: any) { + const drawerContent = ( + + + + + + + + ); const { classes, cx } = useStyles(); return ( - } header={
} footer={