Add edit mode button

This commit is contained in:
Manuel Ruwe
2022-12-10 17:58:01 +01:00
parent be910ca62b
commit ad643616ba
4 changed files with 57 additions and 12 deletions

View File

@@ -0,0 +1,11 @@
{
"tooltip": "The edit mode enables you to configure your dashboard",
"button": {
"disabled": "Enter Edit Mode",
"enabled": "Exit Edit Mode"
},
"popover": {
"title": "Edit mode is enabled",
"text": "You can adjust and configure your apps now"
}
}

View File

@@ -0,0 +1,36 @@
import { Button, Popover, Tooltip, Text } from '@mantine/core';
import { IconEditCircle, IconEditCircleOff } from '@tabler/icons';
import { useTranslation } from 'next-i18next';
import { useEditModeStore } from '../../../../Dashboard/Views/useEditModeStore';
export const ToggleEditModeAction = () => {
const { t } = useTranslation('layout/header/actions/toggle-edit-mode');
const { enabled, toggleEditMode } = useEditModeStore();
return (
<Tooltip label={t('tooltip')} withinPortal>
<Popover opened={enabled} width={250} withArrow>
<Popover.Target>
<Button
onClick={() => toggleEditMode()}
leftIcon={enabled ? <IconEditCircleOff /> : <IconEditCircle />}
variant="default"
radius="md"
color="blue"
style={{ height: 'auto', alignSelf: 'stretch' }}
>
{enabled ? t('button.enabled') : t('button.disabled')}
</Button>
</Popover.Target>
<Popover.Dropdown>
<Text align="center">
<Text weight="bold">{t('popover.title')}</Text>
{t('popover.text')}
</Text>
</Popover.Dropdown>
</Popover>
</Tooltip>
);
};

View File

@@ -1,10 +1,10 @@
import { ActionIcon, Box, createStyles, Group, Header as MantineHeader } from '@mantine/core';
import { Box, createStyles, Group, Header as MantineHeader, Text } from '@mantine/core';
import { openContextModal } from '@mantine/modals';
import { IconCode } from '@tabler/icons';
import { useConfigContext } from '../../../config/provider';
import { Logo } from '../Logo';
import { useCardStyles } from '../useCardStyles';
import { AddElementAction } from './Actions/AddElementAction/AddElementAction';
import { ToggleEditModeAction } from './Actions/ToggleEditMode/ToggleEditMode';
import { Search } from './Search';
import { SettingsMenu } from './SettingsMenu';
@@ -23,10 +23,7 @@ export function Header(props: any) {
<Logo />
</Box>
<Group position="right" noWrap>
<Search />
<AddElementAction />
<ActionIcon
<Text
onClick={() => {
openContextModal({
modal: 'changeTilePosition',
@@ -36,14 +33,14 @@ export function Header(props: any) {
},
});
}}
variant="default"
radius="md"
size="xl"
color="blue"
variant="link"
>
<IconCode />
</ActionIcon>
Test: Open Change Pos Modal
</Text>
<Search />
<AddElementAction />
<ToggleEditModeAction />
<SettingsMenu />
</Group>
</Group>

View File

@@ -5,6 +5,7 @@ export const dashboardNamespaces = [
'layout/app-shelf-menu',
'layout/tools',
'layout/element-selector/selector',
'layout/header/actions/toggle-edit-mode',
'settings/common',
'settings/general/theme-selector',
'settings/general/config-changer',