diff --git a/ordinis-admin-ui/src/api/mutations.ts b/ordinis-admin-ui/src/api/mutations.ts index 9df50d5..ff95cbc 100644 --- a/ordinis-admin-ui/src/api/mutations.ts +++ b/ordinis-admin-ui/src/api/mutations.ts @@ -442,6 +442,10 @@ export const useApproveDraft = () => { qc.invalidateQueries({ queryKey: ['review-queue'] }) qc.invalidateQueries({ queryKey: ['records'] }) qc.invalidateQueries({ queryKey: ['draft'] }) + // ['drafts'] = my-drafts list + by-dict list. Без этого "Мои" tab + // badge продолжал показывать счётчик после approve (status + // pending → decided, но cached list не обновлялся). + qc.invalidateQueries({ queryKey: ['drafts'] }) }, }) } @@ -467,6 +471,8 @@ export const useRejectDraft = () => { onSuccess: () => { qc.invalidateQueries({ queryKey: ['review-queue'] }) qc.invalidateQueries({ queryKey: ['draft'] }) + // Та же причина что в useApproveDraft — "Мои" badge не обновлялся. + qc.invalidateQueries({ queryKey: ['drafts'] }) }, }) } diff --git a/ordinis-admin-ui/src/components/schema/DictionaryEditorDialog.tsx b/ordinis-admin-ui/src/components/schema/DictionaryEditorDialog.tsx index 2ca8916..2b48088 100644 --- a/ordinis-admin-ui/src/components/schema/DictionaryEditorDialog.tsx +++ b/ordinis-admin-ui/src/components/schema/DictionaryEditorDialog.tsx @@ -263,8 +263,14 @@ export const DictionaryEditorDialog = ({ open, mode, onClose, onSuccess }: Props isOpen={open} onClose={onClose} title={isEdit ? `${t('schema.action.edit')}: ${initial?.name}` : t('schema.action.create')} - maxWidth="max-w-5xl" - panelClassName="max-h-[calc(100vh-2rem)] my-4 flex flex-col" + // Desktop ≥880px — expanded (max-w 1400px, реально ~95vw на меньших + // десктопных широтах). Mobile <880px — наследует w-[95vw] от + // DialogContent (compact, full-width modal). Override через + // panelClassName c `!` чтобы перебить SIZE_CLASSES.xl (880px). + // Раньше maxWidth="max-w-5xl" → xl → 880px — на 1440p мониторе + // editor выглядел вжатым, форма с tabs не помещалась без скролла. + size="md" + panelClassName="max-h-[calc(100vh-2rem)] my-4 flex flex-col min-[880px]:!max-w-[1400px]" bodyClassName="overflow-y-auto flex-1" >