Files
Homarr/src/components/Settings/SettingsMenu.tsx

52 lines
1.2 KiB
TypeScript
Raw Normal View History

2022-06-07 08:21:03 +02:00
import { ActionIcon, Title, Tooltip, Drawer, Tabs } from '@mantine/core';
import { useHotkeys } from '@mantine/hooks';
import { useState } from 'react';
2022-06-07 08:21:03 +02:00
import { IconSettings } from '@tabler/icons';
2022-06-07 00:07:56 +00:00
import AdvancedSettings from './AdvancedSettings';
2022-06-07 08:21:03 +02:00
import CommonSettings from './CommonSettings';
2022-04-27 03:12:17 +02:00
function SettingsMenu(props: any) {
return (
2022-06-07 08:21:03 +02:00
<Tabs grow>
<Tabs.Tab data-autofocus label="Common">
<CommonSettings />
2022-06-07 00:07:56 +00:00
</Tabs.Tab>
<Tabs.Tab label="Advanced">
<AdvancedSettings />
</Tabs.Tab>
</Tabs>
2022-04-27 03:12:17 +02:00
);
}
export function SettingsMenuButton(props: any) {
useHotkeys([['ctrl+L', () => setOpened(!opened)]]);
2022-04-27 03:12:17 +02:00
const [opened, setOpened] = useState(false);
return (
<>
<Drawer
size="xl"
padding="xl"
position="right"
2022-04-27 03:12:17 +02:00
title={<Title order={3}>Settings</Title>}
opened={props.opened || opened}
onClose={() => setOpened(false)}
>
<SettingsMenu />
</Drawer>
2022-04-27 03:12:17 +02:00
<ActionIcon
variant="default"
2022-05-14 21:42:11 +02:00
radius="md"
size="xl"
color="blue"
2022-04-27 03:12:17 +02:00
style={props.style}
onClick={() => setOpened(true)}
>
<Tooltip label="Settings">
<IconSettings />
2022-04-27 03:12:17 +02:00
</Tooltip>
</ActionIcon>
</>
);
}