diff --git a/public/locales/en/layout/header/actions/toggle-edit-mode.json b/public/locales/en/layout/header/actions/toggle-edit-mode.json new file mode 100644 index 000000000..ed42b4742 --- /dev/null +++ b/public/locales/en/layout/header/actions/toggle-edit-mode.json @@ -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" + } +} \ No newline at end of file diff --git a/src/components/layout/header/Actions/ToggleEditMode/ToggleEditMode.tsx b/src/components/layout/header/Actions/ToggleEditMode/ToggleEditMode.tsx new file mode 100644 index 000000000..0f52356bf --- /dev/null +++ b/src/components/layout/header/Actions/ToggleEditMode/ToggleEditMode.tsx @@ -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 ( + + + + + + + + {t('popover.title')} + {t('popover.text')} + + + + + ); +}; diff --git a/src/components/layout/header/Header.tsx b/src/components/layout/header/Header.tsx index 96acb610e..68185c409 100644 --- a/src/components/layout/header/Header.tsx +++ b/src/components/layout/header/Header.tsx @@ -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) { - - - - { openContextModal({ modal: 'changeTilePosition', @@ -36,14 +33,14 @@ export function Header(props: any) { }, }); }} - variant="default" - radius="md" - size="xl" - color="blue" + variant="link" > - - + Test: Open Change Pos Modal + + + + diff --git a/src/tools/translation-namespaces.ts b/src/tools/translation-namespaces.ts index 5d155f258..b1fd0ec79 100644 --- a/src/tools/translation-namespaces.ts +++ b/src/tools/translation-namespaces.ts @@ -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',