"use client"; import { useState } from "react"; import { IconHexagon } from "@tabler/icons-react"; import { Button } from "@kandev/ui/button"; import { Tooltip, TooltipContent, TooltipTrigger } from "@kandev/ui/tooltip"; import { LinearIssueDialog } from "./linear-issue-dialog"; import { extractLinearKey } from "./linear-issue-common"; import { useTranslation } from "react-i18next"; export { extractLinearKey }; type LinearIssueButtonProps = { workspaceId: string | null | undefined; taskTitle: string | undefined | null; }; // LinearIssueButton sits in the task top bar. It extracts a Linear identifier // from the task title and opens a full issue dialog on click. export function LinearIssueButton({ workspaceId, taskTitle }: LinearIssueButtonProps) { const { t } = useTranslation(); const identifier = extractLinearKey(taskTitle); const [open, setOpen] = useState(false); if (!workspaceId || !identifier) return null; return ( <> {t("linear:openLinearIssue")} {identifier} ); }