import { Title } from '@mantine/core'; import { useTranslation } from 'next-i18next'; import { openContextModalGeneric } from '../../../../tools/mantineModalManagerExtensions'; import { IntegrationsType } from '../../../../types/integration'; import { TileBaseType } from '../../../../types/tile'; import { GenericTileMenu } from '../GenericTileMenu'; import { IntegrationChangePositionModalInnerProps } from '../IntegrationChangePositionModal'; import { IntegrationRemoveModalInnerProps } from '../IntegrationRemoveModal'; import { IntegrationEditModalInnerProps, integrationModuleTranslationsMap, IntegrationOptionLabels, IntegrationOptions, } from '../IntegrationsEditModal'; interface IntegrationsMenuProps { integration: TIntegrationKey; module: TileBaseType | undefined; options: IntegrationOptions | undefined; labels: IntegrationOptionLabels>; } export const IntegrationsMenu = ({ integration, options, labels, module, }: IntegrationsMenuProps) => { const { t } = useTranslation(integrationModuleTranslationsMap.get(integration)); if (!module) return null; const handleDeleteClick = () => { openContextModalGeneric({ modal: 'integrationRemove', title: {t('descriptor.remove.title')}, innerProps: { integration, }, }); }; const handleChangeSizeClick = () => { openContextModalGeneric({ modal: 'integrationChangePosition', size: 'xl', title: null, innerProps: { integration, module, }, }); }; const handleEditClick = () => { openContextModalGeneric>({ modal: 'integrationOptions', title: {t('descriptor.settings.title')}, innerProps: { integration, options, labels, }, }); }; return ( ); };