import type { ReactNode } from "react"; import { Link, useLocation, useNavigate } from "react-router"; import { openCardState } from "./modal.ts"; const cardPath = (key: string) => `/issues/${encodeURIComponent(key)}`; // переход к карточке задачи: окно поверх текущей страницы (или смена содержимого открытого окна) — как у ссылки-ключа export function useOpenIssue(): (key: string) => void { const loc = useLocation(); const navigate = useNavigate(); return (key) => void navigate(cardPath(key), { state: openCardState(loc) }); } // ссылка на карточку задачи: открывает окно поверх текущей страницы (или меняет содержимое открытого окна) export function IssueLink({ issueKey, className, children }: { issueKey: string; className?: string; children?: ReactNode }) { const loc = useLocation(); return {children ?? issueKey}; }