From 05e47b56648cfbf61eb66c5e35b3774de924a7ed Mon Sep 17 00:00:00 2001 From: Manuel Ruwe Date: Sun, 11 Dec 2022 19:32:51 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Add=20propagation=20for=20service?= =?UTF-8?q?=20name=20to=20service=20icon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Modals/EditService/EditServiceModal.tsx | 40 +++------- .../Tabs/AppereanceTab/AppereanceTab.tsx | 17 ++++- .../IconSelector/IconSelector.tsx | 35 ++++++++- .../Tabs/GeneralTab/GeneralTab.tsx | 2 +- .../Overview/AvailableElementsOverview.tsx | 73 ++++++++++--------- .../Dashboard/Tiles/Service/ServiceMenu.tsx | 3 +- src/types/iconSelector/iconSelectorItem.ts | 1 + 7 files changed, 97 insertions(+), 74 deletions(-) diff --git a/src/components/Dashboard/Modals/EditService/EditServiceModal.tsx b/src/components/Dashboard/Modals/EditService/EditServiceModal.tsx index 9c8e33319..80b6b279b 100644 --- a/src/components/Dashboard/Modals/EditService/EditServiceModal.tsx +++ b/src/components/Dashboard/Modals/EditService/EditServiceModal.tsx @@ -1,7 +1,6 @@ import { Alert, Button, createStyles, Group, Stack, Tabs, Text, ThemeIcon } from '@mantine/core'; import { useForm } from '@mantine/form'; import { ContextModalProps } from '@mantine/modals'; -import { hideNotification, showNotification } from '@mantine/notifications'; import { IconAccessPoint, IconAdjustments, @@ -11,7 +10,6 @@ import { IconPlug, } from '@tabler/icons'; import { useTranslation } from 'next-i18next'; -import Image from 'next/image'; import { useState } from 'react'; import { useConfigContext } from '../../../../config/provider'; import { useConfigStore } from '../../../../config/store'; @@ -31,11 +29,13 @@ export const EditServiceModal = ({ context, id, innerProps, -}: ContextModalProps<{ service: ServiceType }>) => { +}: ContextModalProps<{ service: ServiceType; allowServiceNamePropagation: boolean }>) => { const { t } = useTranslation(); - const { classes } = useStyles(); const { name: configName, config } = useConfigContext(); const updateConfig = useConfigStore((store) => store.updateConfig); + const [allowServiceNamePropagation, setAllowServiceNamePropagation] = useState( + innerProps.allowServiceNamePropagation + ); const form = useForm({ initialValues: innerProps.service, @@ -94,29 +94,7 @@ export const EditServiceModal = ({ const [activeTab, setActiveTab] = useState('general'); - const tryCloseModal = () => { - if (form.isDirty()) { - showNotification({ - id: 'unsaved-edit-service-modal-changes', - title: 'You have unsaved changes', - message: ( - - If you close, your changes will be discarded and not saved. - - - ), - }); - return; - } - + const closeModal = () => { context.closeModal(id); }; @@ -196,12 +174,16 @@ export const EditServiceModal = ({ setActiveTab(targetTab)} /> - + setAllowServiceNamePropagation(false)} + allowServiceNamePropagation={allowServiceNamePropagation} + /> -