refactor: replace DocumentsDataTable with DocumentMentionPicker for improved document selection

- Introduced DocumentMentionPicker component to enhance document selection experience in the chat interface.
- Updated InlineMentionEditor and Composer components to utilize the new DocumentMentionPicker.
- Removed the deprecated DocumentsDataTable component to streamline the codebase and improve maintainability.
- Enhanced type safety and validation in document handling logic.
This commit is contained in:
Anish Sarkar 2025-12-26 00:41:14 +05:30
parent 9bc3f193c3
commit 2fdf567b71
5 changed files with 327 additions and 299 deletions

View file

@ -72,9 +72,9 @@ import { MarkdownText } from "@/components/assistant-ui/markdown-text";
import { ToolFallback } from "@/components/assistant-ui/tool-fallback";
import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button";
import {
DocumentsDataTable,
type DocumentsDataTableRef,
} from "@/components/new-chat/DocumentsDataTable";
DocumentMentionPicker,
type DocumentMentionPickerRef,
} from "@/components/new-chat/DocumentMentionPicker";
import {
ChainOfThought,
ChainOfThoughtContent,
@ -404,7 +404,7 @@ const Composer: FC = () => {
const [mentionQuery, setMentionQuery] = useState("");
const editorRef = useRef<InlineMentionEditorRef>(null);
const editorContainerRef = useRef<HTMLDivElement>(null);
const documentPickerRef = useRef<DocumentsDataTableRef>(null);
const documentPickerRef = useRef<DocumentMentionPickerRef>(null);
const { search_space_id } = useParams();
const setMentionedDocumentIds = useSetAtom(mentionedDocumentIdsAtom);
const composerRuntime = useComposerRuntime();
@ -598,7 +598,7 @@ const Composer: FC = () => {
: "50%",
}}
>
<DocumentsDataTable
<DocumentMentionPicker
ref={documentPickerRef}
searchSpaceId={Number(search_space_id)}
onSelectionChange={handleDocumentsMention}