Files
Homarr/src/components/Dashboard/Views/ViewToggleButton.tsx

41 lines
1.3 KiB
TypeScript
Raw Normal View History

2022-12-10 22:14:31 +01:00
import { ActionIcon, Button, Text, Tooltip } from '@mantine/core';
import { IconEdit, IconEditOff } from '@tabler/icons-react';
2022-12-20 16:54:22 +09:00
import { useTranslation } from 'next-i18next';
2023-07-21 18:08:40 +09:00
2023-09-03 16:23:40 +02:00
import { useScreenLargerThan } from '~/hooks/useScreenLargerThan';
2022-12-10 22:14:31 +01:00
import { useEditModeStore } from './useEditModeStore';
export const ViewToggleButton = () => {
const screenLargerThanMd = useScreenLargerThan('md');
const { enabled: isEditMode, toggleEditMode } = useEditModeStore();
2022-12-20 16:54:22 +09:00
const { t } = useTranslation('layout/header/actions/toggle-edit-mode');
2022-12-10 22:14:31 +01:00
return (
2023-01-02 01:11:25 +09:00
<Tooltip width={100} label={<Text align="center">{t('description')}</Text>}>
2022-12-10 22:14:31 +01:00
{screenLargerThanMd ? (
<Button
variant={isEditMode ? 'filled' : 'default'}
h={44}
w={180}
leftIcon={isEditMode ? <IconEditOff /> : <IconEdit />}
onClick={() => toggleEditMode()}
color={isEditMode ? 'red' : undefined}
radius="md"
>
2022-12-20 16:54:22 +09:00
<Text>{isEditMode ? t('button.enabled') : t('button.disabled')}</Text>
2022-12-10 22:14:31 +01:00
</Button>
) : (
<ActionIcon
onClick={() => toggleEditMode()}
variant="default"
radius="md"
size="xl"
color="blue"
>
{isEditMode ? <IconEditOff /> : <IconEdit />}
</ActionIcon>
)}
</Tooltip>
);
};