| import React from 'react'; | |
| import { HoverCardPortal, HoverCardContent } from '@librechat/client'; | |
| import { TranslationKeys, useLocalize } from '~/hooks'; | |
| import { ESide } from '~/common'; | |
| type TOptionHoverProps = { | |
| description: string; | |
| langCode?: boolean; | |
| sideOffset?: number; | |
| disabled?: boolean; | |
| side: ESide; | |
| className?: string; | |
| }; | |
| function OptionHover({ | |
| side, | |
| description, | |
| disabled, | |
| langCode, | |
| sideOffset = 30, | |
| className, | |
| }: TOptionHoverProps) { | |
| const localize = useLocalize(); | |
| if (disabled) { | |
| return null; | |
| } | |
| const text = langCode ? localize(description as TranslationKeys) : description; | |
| return ( | |
| <HoverCardPortal> | |
| <HoverCardContent side={side} className={`z-[999] w-80 ${className}`} sideOffset={sideOffset}> | |
| <div className="space-y-2"> | |
| <p className="whitespace-pre-wrap text-sm text-text-secondary">{text}</p> | |
| </div> | |
| </HoverCardContent> | |
| </HoverCardPortal> | |
| ); | |
| } | |
| export default OptionHover; | |