'use client'; import { useState } from 'react'; import type { RecordingCardProps } from '@/types/component-props'; export default function RecordingCard({ recording, showActions = true, onClick, onDelete, }: RecordingCardProps) { const [isDeleting, setIsDeleting] = useState(false); const handleDelete = async (e: React.MouseEvent) => { e.stopPropagation(); if (!confirm('Delete this recording?')) return; setIsDeleting(true); onDelete?.(recording.id ?? ''); }; const formatDuration = (seconds: number) => { const mins = Math.floor(seconds / 60); const secs = seconds % 60; return `${mins}:${secs.toString().padStart(2, '0')}`; }; return (
onClick?.(recording.id ?? '')} className="bg-white border rounded-lg p-4 hover:shadow-md transition-shadow cursor-pointer" >

{recording.title}

⏱️ {formatDuration(recording.duration)} {recording.createdAt && ( {new Date(recording.createdAt).toLocaleDateString()} )}
{recording.isTranscribing && ( Transcribing... )} {recording.summary && (

{recording.summary}

)}
{showActions && ( )}
); }