fix(admin-ui): badge на «Мои» не обновлялся + editor wider на десктопе

1. useApproveDraft/useRejectDraft теперь инвалидируют ['drafts'] key
   (my-drafts + by-dict lists). До этого инвалидировался только ['draft']
   (single by id), поэтому after-approve "Мои" badge продолжал показывать
   pending-счётчик даже когда все драфты уже APPROVED — useMyDrafts отдавал
   стейл-кеш. useWithdrawDraft уже это делал, теперь подтянули approve/reject.

2. DictionaryEditorDialog: на десктопе (≥880px) modal теперь max-w 1400px
   вместо max-w-5xl (880px после маппинга в SIZE_CLASSES.xl). На <880px
   осталось w-[95vw] (compact mobile modal). На 1440p мониторе editor
   больше не выглядит вжатым, tabs+schema+preview помещаются без скролла.
   Override через panelClassName c `!` чтобы перебить SIZE_CLASSES.
This commit is contained in:
Zimin A.N.
2026-05-25 14:59:57 +03:00
parent ac4f554e34
commit b828225b28
2 changed files with 14 additions and 2 deletions
+6
View File
@@ -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'] })
},
})
}