"use client"; import { LabelBadge } from "@app/components/label-badge"; import { cn } from "@app/lib/cn"; import type { LauncherResource } from "@server/routers/launcher/types"; import { LauncherLabelsRow } from "./LauncherLabelsRow"; import { LauncherResourceAccess } from "./LauncherResourceAccess"; import { LauncherResourceIcon } from "./LauncherResourceIcon"; import { getLauncherResourceClickProps, useLauncherResourceAction } from "./useLauncherResourceAction"; type LauncherResourceRowProps = { resource: LauncherResource; showLabels: boolean; showSiteTags: boolean; isLast?: boolean; }; export function LauncherResourceRow({ resource, showLabels, showSiteTags, isLast = false }: LauncherResourceRowProps) { const hasTags = (showSiteTags && resource.site) || (showLabels && resource.labels.length > 0); const { handleAction, isClickable } = useLauncherResourceAction({ accessUrl: resource.accessUrl, accessCopyValue: resource.accessCopyValue }); const clickProps = getLauncherResourceClickProps(handleAction, isClickable); return (