import { useId } from 'react'; import { useSortable } from '@dnd-kit/sortable'; import { CSS } from '@dnd-kit/utilities'; import { shortToolDescription, shortToolTitle } from '../toolPresentation'; import type { ResolvedApp } from '../types'; interface AppCardProps { app: ResolvedApp; catalogueUrl: string; hidden: boolean; pinned: boolean; onDetails: () => void; onHide: () => void; onPin: () => void; contextualUrl: (entryUrl: string, catalogueUrl: string) => string; } function MoveIcon() { return ( ); } function LightBulbIcon() { return ( ); } function PinIcon() { return ( ); } function VisibilityIcon({ hidden }: { hidden: boolean }) { return ( ); } export function AppCard({ app, catalogueUrl, hidden, pinned, onDetails, onHide, onPin, contextualUrl, }: AppCardProps) { const titleId = useId(); const { attributes, isDragging, listeners, setActivatorNodeRef, setNodeRef, transform, transition, } = useSortable({ id: app.id }); const launchUrl = app.isExternal ? app.entryUrl : contextualUrl(app.entryUrl, catalogueUrl); const target = app.launchModes.includes('navigate') ? undefined : '_blank'; return (

{shortToolTitle(app)}

{shortToolDescription(app)}

); }