"use client"; import { useState, type ReactNode } from "react"; import { IconInfoCircle } from "@tabler/icons-react"; import { Button } from "@kandev/ui/button"; import { Drawer, DrawerContent, DrawerDescription, DrawerHeader, DrawerTitle, DrawerTrigger, } from "@kandev/ui/drawer"; import { Tooltip, TooltipContent, TooltipTrigger } from "@kandev/ui/tooltip"; import { useTouchDrawer } from "@/hooks/use-compact-task-chrome"; import { controlSizingClassName } from "@kandev/ui/control-sizing"; export function GitHubAccessHelp({ label, title, description, content, icon, onOpen, }: { label: string; title: string; description: string; content?: ReactNode; icon?: ReactNode; onOpen?: () => void; }) { const usesTouchDrawer = useTouchDrawer(); const [open, setOpen] = useState(false); const handleDrawerOpenChange = (nextOpen: boolean) => { setOpen(nextOpen); if (nextOpen) onOpen?.(); }; const button = ( ); const trigger = usesTouchDrawer ? ( {button} ) : ( nextOpen && onOpen?.()}> {button} {content ?? description} ); return ( {trigger} {title} {description} {content && (
{content}
)}
); }