| import React, { useState } from 'react'; | |
| import { BookmarkPlusIcon } from 'lucide-react'; | |
| import { OGDialogTrigger } from '@librechat/client'; | |
| import type { FC } from 'react'; | |
| import { BookmarkEditDialog, BookmarkItems, BookmarkItem } from '~/components/Bookmarks'; | |
| import { useLocalize } from '~/hooks'; | |
| export const BookmarkMenuItems: FC<{ | |
| tags: string[]; | |
| setTags: React.Dispatch<React.SetStateAction<string[]>>; | |
| handleSubmit: (tag?: string) => void; | |
| conversationId?: string; | |
| }> = ({ tags, setTags, handleSubmit, conversationId }) => { | |
| const localize = useLocalize(); | |
| const [open, setOpen] = useState(false); | |
| const handleToggleOpen = () => setOpen(!open); | |
| return ( | |
| <BookmarkItems | |
| tags={tags} | |
| handleSubmit={handleSubmit} | |
| header={ | |
| <BookmarkEditDialog | |
| context="BookmarkMenu - BookmarkEditDialog" | |
| conversationId={conversationId} | |
| tags={tags} | |
| setTags={setTags} | |
| open={open} | |
| setOpen={setOpen} | |
| > | |
| <OGDialogTrigger asChild> | |
| <BookmarkItem | |
| tag={localize('com_ui_bookmarks_new')} | |
| data-testid="bookmark-item-new" | |
| handleSubmit={handleToggleOpen} | |
| selected={false} | |
| icon={<BookmarkPlusIcon className="size-4" aria-label="Add Bookmark" />} | |
| /> | |
| </OGDialogTrigger> | |
| </BookmarkEditDialog> | |
| } | |
| /> | |
| ); | |
| }; | |