From b2a355312f01c1c173d1bfb28080b34a8f601e70 Mon Sep 17 00:00:00 2001 From: Nils Schneider Date: Thu, 11 Dec 2025 21:27:09 +0100 Subject: [PATCH] feat: update frontend data management and types. --- frontend/src/app/useManagementModals.tsx | 2 +- frontend/src/documents/data/useCorrespondents.ts | 1 + .../src/documents/data/useDocumentsWorkspace.ts | 10 ++-------- frontend/src/documents/data/useTags.ts | 2 ++ frontend/src/documents/types/workspaceTypes.ts | 15 ++------------- 5 files changed, 8 insertions(+), 22 deletions(-) diff --git a/frontend/src/app/useManagementModals.tsx b/frontend/src/app/useManagementModals.tsx index b893ea6..54c4d0b 100644 --- a/frontend/src/app/useManagementModals.tsx +++ b/frontend/src/app/useManagementModals.tsx @@ -7,7 +7,7 @@ import PanelHeader from '../components/PanelHeader'; import { CloseIcon } from '../components/icons'; import { CORRESPONDENTS_MODAL, TAGS_MODAL } from '../constants/app'; import type { Tag, Correspondent } from '../types/documents'; -import type { CorrespondentManager } from '../documents/types/workspaceTypes'; +import type CorrespondentManager from '../lib/assets/CorrespondentManager'; import type { Identifier } from '../types/identifiers'; interface UseManagementModalsArgs { diff --git a/frontend/src/documents/data/useCorrespondents.ts b/frontend/src/documents/data/useCorrespondents.ts index e8e6908..89d4bcd 100644 --- a/frontend/src/documents/data/useCorrespondents.ts +++ b/frontend/src/documents/data/useCorrespondents.ts @@ -132,6 +132,7 @@ const useCorrespondents = ({ handleCorrespondentCreate, handleCorrespondentUpdate, handleCorrespondentDelete, + correspondentManager, }; }; diff --git a/frontend/src/documents/data/useDocumentsWorkspace.ts b/frontend/src/documents/data/useDocumentsWorkspace.ts index 3065f4f..e83f4e0 100644 --- a/frontend/src/documents/data/useDocumentsWorkspace.ts +++ b/frontend/src/documents/data/useDocumentsWorkspace.ts @@ -623,14 +623,8 @@ const useDocumentsWorkspace = ({ documentsState, folderState, selectionState, - tagsState: { - ...tagsState, - tagManager, - }, - correspondentsState: { - ...correspondentsState, - correspondentManager, - }, + tagsState, + correspondentsState, closeDocumentViewer, viewerDocumentId, resolveTargetDocumentIds, diff --git a/frontend/src/documents/data/useTags.ts b/frontend/src/documents/data/useTags.ts index 97686e7..2aa655b 100644 --- a/frontend/src/documents/data/useTags.ts +++ b/frontend/src/documents/data/useTags.ts @@ -19,6 +19,7 @@ interface UseTagsResult { handleTagUpdate: (tagId: TagId, changes: { label?: string; color?: string | null }) => Promise; handleTagCreate: (payload?: { label?: string; color?: string | null }) => Promise; handleTagDelete: (tagId: TagId) => Promise; + tagManager: TagManager; } const useTags = ({ @@ -136,6 +137,7 @@ const useTags = ({ handleTagUpdate, handleTagCreate, handleTagDelete, + tagManager, }; }; diff --git a/frontend/src/documents/types/workspaceTypes.ts b/frontend/src/documents/types/workspaceTypes.ts index 4aba136..a78ca64 100644 --- a/frontend/src/documents/types/workspaceTypes.ts +++ b/frontend/src/documents/types/workspaceTypes.ts @@ -2,19 +2,8 @@ import type { Dispatch, MutableRefObject, SetStateAction } from 'react'; import type { DocumentId, FolderId, Identifier } from '../../types/identifiers'; import type { Document, FolderNode, Tag, Correspondent } from '../../types/documents'; -interface TagManager { - normalizeLabel: (label: string) => string; - buildPayload: (args: { label: string; color?: string | null }) => Record; - ingest: (tags: Tag[]) => void; - create: (payload: Record) => Promise; -} - -export interface CorrespondentManager { - normalizeName: (name: string) => string; - buildPayload: (args: { name: string }) => Record; - ingest: (correspondents: Correspondent[]) => void; - create: (payload: Record) => Promise; -} +import type TagManager from '../../lib/assets/TagManager'; +import type CorrespondentManager from '../../lib/assets/CorrespondentManager'; interface DocumentsManagerInterface { map(mapper: (doc: Document) => Document | undefined): boolean;