import React, { useCallback, useEffect, useState } from 'react'; import type { ConversationTagsResponse, TConversationTag } from 'librechat-data-provider'; import { BookmarkContext, useBookmarkContext } from '~/Providers/BookmarkContext'; import BookmarkTableRow from './BookmarkTableRow'; import { useLocalize } from '~/hooks'; import { cn } from '~/utils'; const BookmarkTable = () => { const localize = useLocalize(); const [rows, setRows] = useState([]); const { bookmarks } = useBookmarkContext(); useEffect(() => { setRows(bookmarks?.map((item) => ({ id: item.tag, ...item })) || []); }, [bookmarks]); const moveRow = useCallback((dragIndex: number, hoverIndex: number) => { setRows((prevTags: TConversationTag[]) => { const updatedRows = [...prevTags]; const [movedRow] = updatedRows.splice(dragIndex, 1); updatedRows.splice(hoverIndex, 0, movedRow); return updatedRows; }); }, []); const renderRow = useCallback((row: TConversationTag, position: number) => { return ; }, []); return (
{rows.map((row, i) => renderRow(row, i))}
{localize('com_ui_bookmarks_title')}
{localize('com_ui_bookmarks_count')}
); }; export default BookmarkTable;