"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}
}
);
}