From 7e0768a09a20c6d734ee87cdab574c4171fa6245 Mon Sep 17 00:00:00 2001 From: Nils Schneider Date: Sun, 16 Nov 2025 00:39:37 +0100 Subject: [PATCH] summary --- .../src/documents/DocumentSummarySection.tsx | 71 +++++++++++-------- .../src/documents/SelectionAssignmentMenu.tsx | 62 +++++++++++++--- frontend/src/documents/documentSummary.ts | 2 + 3 files changed, 98 insertions(+), 37 deletions(-) diff --git a/frontend/src/documents/DocumentSummarySection.tsx b/frontend/src/documents/DocumentSummarySection.tsx index 46b3b5f..e73bd75 100644 --- a/frontend/src/documents/DocumentSummarySection.tsx +++ b/frontend/src/documents/DocumentSummarySection.tsx @@ -1,4 +1,4 @@ -import React, { useCallback, useEffect, useMemo, useState, type ReactNode, type FormEvent } from 'react'; +import React, { useCallback, useEffect, useMemo, useState, type FormEvent } from 'react'; import { EditIcon, IconX, CheckIcon, PlusIcon } from '../ui/icons'; import SelectionAssignmentMenu, { SelectionAssignmentMenuItem, @@ -240,10 +240,17 @@ export const TagSection: React.FC = ({ if (!item) { return; } + if (item.state === 'all' && onRemove) { + const payload = isPlainObject(item.payload) + ? (item.payload as TagEntry) + : tags.find((tag) => (tag.id ?? tag.label) === item.id) ?? { id: item.id, label: item.label }; + onRemove(payload); + return; + } const payload = item.payload ?? { label: item.label }; handleSelect(payload); }, - [handleSelect], + [handleSelect, onRemove, tags], ); return ( @@ -280,7 +287,9 @@ export const TagSection: React.FC = ({ showCounts={false} positionStrategy="fixed" triggerClassName="quick-add__chip quick-add__trigger" - triggerContent={