import type { ReactNode } from 'react' import { Button } from '@langgenius/dify-ui/button' import { cn } from '@langgenius/dify-ui/cn' import { Kbd, KbdGroup } from '@langgenius/dify-ui/kbd' import { Tooltip, TooltipContent, TooltipTrigger } from '@langgenius/dify-ui/tooltip' import { formatForDisplay } from '@tanstack/react-hotkeys' import { useTranslation } from 'react-i18next' import { DETAIL_SIDEBAR_TOGGLE_HOTKEY } from './hotkeys' const detailSidebarToggleShortcutKeys = DETAIL_SIDEBAR_TOGGLE_HOTKEY.split('+') type DetailSidebarToggleButtonProps = { expand: boolean onToggle: () => void className?: string icon?: ReactNode } export function DetailSidebarToggleButton({ expand, onToggle, className, icon, }: DetailSidebarToggleButtonProps) { const { t } = useTranslation() const label = expand ? t(($) => $['sidebar.collapseSidebar'], { ns: 'layout' }) : t(($) => $['sidebar.expandSidebar'], { ns: 'layout' }) return ( } > {icon ?? (expand ? ( ) : ( ))}
{label} {detailSidebarToggleShortcutKeys.map((key) => ( {formatForDisplay(key)} ))}
) }