diff --git a/src/components/common/database-card.tsx b/src/components/common/database-card.tsx index 7b94b4c7..479aba86 100644 --- a/src/components/common/database-card.tsx +++ b/src/components/common/database-card.tsx @@ -8,14 +8,18 @@ import {ConnectionIndicator} from "@/components/common/connection-indicator"; import {formatDateLastContact} from "@/utils/date-formatting"; import {Database} from "@/db/schema/07_database"; import {ChevronRight, Activity, Fingerprint, Copy, Check} from "lucide-react"; +import {cn} from "@/lib/utils"; export type DatabaseCardProps = { data: Database; withDetails?: boolean; + selectable?: boolean; + selected?: boolean; + onToggleSelect?: (databaseId: string) => void; }; export const DatabaseCard = (props: DatabaseCardProps) => { - const {data: database, withDetails = true} = props; + const {data: database, withDetails = true, selectable = false, selected = false, onToggleSelect} = props; const [isCopied, setIsCopied] = useState(false); const handleCopy = (e: React.MouseEvent) => { @@ -28,8 +32,29 @@ export const DatabaseCard = (props: DatabaseCardProps) => { return ( -
+ className={cn( + "relative h-full flex flex-col p-4 transition-all border-border/50 bg-card hover:bg-accent/50 hover:border-primary/50 group-hover:shadow-lg overflow-hidden gap-0", + selected && "ring-2 ring-primary border-primary", + )}> + {selectable && ( + + )} +