diff --git a/src/components/SnippetCard.tsx b/src/components/SnippetCard.tsx
index d70875c..f86268e 100644
--- a/src/components/SnippetCard.tsx
+++ b/src/components/SnippetCard.tsx
@@ -1,200 +1,200 @@
-import { useState, useMemo } from 'react'
-import { Button } from '@/components/ui/button'
-import { Card } from '@/components/ui/card'
-import { Badge } from '@/components/ui/badge'
-import { Copy, Pencil, Trash, Check, ArrowsOut } from '@phosphor-icons/react'
-import { Snippet, LANGUAGE_COLORS } from '@/lib/types'
-import { cn } from '@/lib/utils'
-
-interface SnippetCardProps {
- snippet: Snippet
- onEdit: (snippet: Snippet) => void
- onDelete: (id: string) => void
- onCopy: (code: string) => void
- onView: (snippet: Snippet) => void
-}
-
-export function SnippetCard({ snippet, onEdit, onDelete, onCopy, onView }: SnippetCardProps) {
- const [isCopied, setIsCopied] = useState(false)
- const [hasRenderError, setHasRenderError] = useState(false)
-
- const safeSnippet = useMemo(() => {
- try {
- const title = snippet?.title || 'Untitled Snippet'
- const description = snippet?.description || ''
- const code = snippet?.code || ''
- const language = snippet?.language || 'Other'
- const isTruncated = code.length > 200
-
- return {
- title,
- description,
- code: isTruncated ? code.slice(0, 200) + '...' : code,
- fullCode: code,
- language,
- isTruncated,
- hasPreview: snippet?.hasPreview ?? false,
- }
- } catch {
- setHasRenderError(true)
- return {
- title: 'Error Loading Snippet',
- description: '',
- code: '',
- fullCode: '',
- language: 'Other',
- isTruncated: false,
- hasPreview: false,
- }
- }
- }, [snippet])
-
- const handleCopy = (e: React.MouseEvent) => {
- e.stopPropagation()
- onCopy(safeSnippet.fullCode)
- setIsCopied(true)
- setTimeout(() => setIsCopied(false), 2000)
- }
-
- const handleEdit = (e: React.MouseEvent) => {
- e.stopPropagation()
- onEdit(snippet)
- }
-
- const handleDelete = (e: React.MouseEvent) => {
- e.stopPropagation()
- onDelete(snippet.id)
- }
-
- if (hasRenderError) {
- return (
-
- This snippet could not be loaded properly.
-
- {safeSnippet.description}
- Error Loading Snippet
-
- {safeSnippet.title}
-
- {safeSnippet.description && (
-
- {safeSnippet.code}
-
- {safeSnippet.isTruncated && (
-
- )}
-
+
+ variant="ghost"
+
+ aria-label="Delete snip
+
+