import { ActionIcon, Menu, Modal, Text } from '@mantine/core'; import { showNotification } from '@mantine/notifications'; import { useState } from 'react'; import { IconCheck as Check, IconEdit as Edit, IconMenu, IconTrash as Trash } from '@tabler/icons'; import { useTranslation } from 'next-i18next'; import { useConfig } from '../../tools/state'; import { serviceItem } from '../../tools/types'; import { AddAppShelfItemForm } from './AddAppShelfItem'; import { useColorTheme } from '../../tools/color'; export default function AppShelfMenu(props: any) { const { service }: { service: serviceItem } = props; const { config, setConfig } = useConfig(); const { secondaryColor } = useColorTheme(); const { t } = useTranslation('layout/app-shelf-menu'); const [opened, setOpened] = useState(false); return ( <> setOpened(false)} title={t('modal.title')} > {t('menu.labels.settings')} } onClick={() => setOpened(true)}> {t('menu.actions.edit')} {t('menu.labels.dangerZone')} { setConfig({ ...config, services: config.services.filter((s) => s.id !== service.id), }); showNotification({ autoClose: 5000, title: ( Service {service.name} removed successfully! ), color: 'green', icon: , message: undefined, }); }} icon={} > {t('menu.actions.delete')} ); }