Files
Homarr/src/components/layout/Aside.tsx

54 lines
1.2 KiB
TypeScript
Raw Normal View History

import { Aside as MantineAside, createStyles, Group } from '@mantine/core';
import { useMediaQuery } from '@mantine/hooks';
import {
WeatherModule,
DateModule,
CalendarModule,
TotalDownloadsModule,
SystemModule,
} from '../modules';
2022-05-17 21:36:07 +02:00
import { ModuleWrapper } from '../modules/moduleWrapper';
2022-05-10 18:58:21 +02:00
const useStyles = createStyles((theme) => ({
hide: {
[theme.fn.smallerThan('xs')]: {
display: 'none',
},
},
burger: {
[theme.fn.largerThan('sm')]: {
display: 'none',
},
},
}));
2022-05-16 13:53:40 +02:00
export default function Aside(props: any) {
const { classes, cx } = useStyles();
const matches = useMediaQuery('(min-width: 800px)');
2022-05-10 18:58:21 +02:00
return (
<MantineAside
2022-05-26 18:13:23 +02:00
pr="md"
hiddenBreakpoint="sm"
2022-05-10 18:58:21 +02:00
hidden
className={cx(classes.hide)}
2022-05-15 19:32:02 +02:00
style={{
border: 'none',
}}
2022-05-10 18:58:21 +02:00
width={{
base: 'auto',
}}
>
{matches && (
<Group my="sm" grow direction="column" style={{ width: 300 }}>
<ModuleWrapper module={CalendarModule} />
<ModuleWrapper module={TotalDownloadsModule} />
<ModuleWrapper module={WeatherModule} />
<ModuleWrapper module={DateModule} />
<ModuleWrapper module={SystemModule} />
</Group>
)}
2022-05-10 18:58:21 +02:00
</MantineAside>
);
}