import { useState } from 'react'; import { Dialog, Tooltip, DialogTrigger, TooltipContent, TooltipTrigger, TooltipProvider, } from '~/components/ui'; import { Share2Icon } from 'lucide-react'; import type { TSharedLink } from 'librechat-data-provider'; import DialogTemplate from '~/components/ui/DialogTemplate'; import SharedLinkButton from './SharedLinkButton'; import ShareDialog from './ShareDialog'; import { useLocalize } from '~/hooks'; import { cn } from '~/utils'; export default function ShareButton({ conversationId, title, className, appendLabel = false, setPopoverActive, }: { conversationId: string; title: string; className?: string; appendLabel?: boolean; setPopoverActive: (isActive: boolean) => void; }) { const localize = useLocalize(); const [share, setShare] = useState(null); const [open, setOpen] = useState(false); const [isUpdated, setIsUpdated] = useState(false); const classProp: { className?: string } = { className: 'p-1 hover:text-black dark:hover:text-white', }; if (className) { classProp.className = className; } const renderShareButton = () => { if (appendLabel) { return ( <> {localize('com_ui_share')} ); } return ( {localize('com_ui_share')} ); }; const buttons = share && ( ); const onOpenChange = (open: boolean) => { setPopoverActive(open); setOpen(open); }; return ( } /> ); }