import { Button, Flex, Grid, NumberInput } from '@mantine/core'; import { useForm } from '@mantine/form'; import { closeModal, ContextModalProps } from '@mantine/modals'; import { useConfigContext } from '../../../../config/provider'; import { useConfigStore } from '../../../../config/store'; import { ServiceType } from '../../../../types/service'; import { TileBaseType } from '../../../../types/tile'; export const ChangePositionModal = ({ context, id, innerProps, }: ContextModalProps<{ type: 'service' | 'type'; tile: TileBaseType }>) => { const updateConfig = useConfigStore((x) => x.updateConfig); const { name: configName } = useConfigContext(); const form = useForm({ initialValues: { tile: innerProps.tile, }, validateInputOnChange: true, validateInputOnBlur: true, }); const onSubmit = () => { if (!configName) { return; } const tileAsService = form.values.tile as ServiceType; updateConfig(configName, (previous) => ({ ...previous, services: [...previous.services.filter((x) => x.id === tileAsService.id), tileAsService], })); closeModal(id); }; return (
); };