| import { useState } from 'react'; | |
| import { TooltipAnchor, OGDialogTrigger, EditIcon, Button } from '@librechat/client'; | |
| import type { TConversationTag } from 'librechat-data-provider'; | |
| import type { FC } from 'react'; | |
| import BookmarkEditDialog from './BookmarkEditDialog'; | |
| import { useLocalize } from '~/hooks'; | |
| const EditBookmarkButton: FC<{ | |
| bookmark: TConversationTag; | |
| tabIndex?: number; | |
| onFocus?: () => void; | |
| onBlur?: () => void; | |
| }> = ({ bookmark, tabIndex = 0, onFocus, onBlur }) => { | |
| const localize = useLocalize(); | |
| const [open, setOpen] = useState(false); | |
| return ( | |
| <BookmarkEditDialog | |
| context="EditBookmarkButton" | |
| bookmark={bookmark} | |
| open={open} | |
| setOpen={setOpen} | |
| > | |
| <OGDialogTrigger asChild> | |
| <TooltipAnchor | |
| description={localize('com_ui_edit')} | |
| render={ | |
| <Button | |
| variant="ghost" | |
| aria-label={localize('com_ui_bookmarks_edit')} | |
| tabIndex={tabIndex} | |
| onFocus={onFocus} | |
| onBlur={onBlur} | |
| onClick={() => setOpen(!open)} | |
| className="h-8 w-8 p-0" | |
| > | |
| <EditIcon /> | |
| </Button> | |
| } | |
| /> | |
| </OGDialogTrigger> | |
| </BookmarkEditDialog> | |
| ); | |
| }; | |
| export default EditBookmarkButton; | |