import React from 'react'; import { Card } from '../ui/card'; import { Button } from '../ui/button'; import { Badge } from '../ui/badge'; import { FileNode } from '../../types'; import { ArrowLeft, Download, Share2, Trash2, Edit3, Music, FileText, Play, Activity, Layers, HardDrive, Info, } from 'lucide-react'; import { useToast } from '../../components/feedback/ToastProvider'; // Extended Mock Data for Demo const MOCK_ACTIVITY = [ { id: 'a1', user: 'Cyber_Producer', action: 'uploaded', timestamp: '2 days ago', }, { id: 'a2', user: 'Sarah Connor', action: 'viewed', timestamp: '1 day ago' }, { id: 'a3', user: 'System', action: 'processed', timestamp: '2 days ago' }, ]; const MOCK_VERSIONS = [ { id: 'v1', version: 'v1.0', uploadedBy: 'Cyber_Producer', timestamp: '2 days ago', size: '24.5 MB', url: '#', }, { id: 'v2', version: 'v1.1', uploadedBy: 'Cyber_Producer', timestamp: '5 hours ago', size: '24.6 MB', url: '#', current: true, }, ]; interface FileDetailsViewProps { fileId: string; onBack: () => void; } export const FileDetailsView: React.FC = ({ fileId, onBack, }) => { const { addToast } = useToast(); // Mock fetching logic based on ID const file: FileNode = { id: fileId, name: 'Neon_Nights_Final_Master.wav', type: 'audio', size: '48.2 MB', modified: '2 hours ago', status: 'ready', metadata: { bpm: 128, key: 'F# Minor', genre: 'Synthwave', duration: '3:45', }, }; const isAudio = file.type === 'audio'; const isImage = file.type === 'image'; return (
{/* Header */}

{file.name}

{file.size} Modified {file.modified}

{/* Left: Preview Area */}
{isAudio && (
{Array.from({ length: 40 }).map((_, i) => (
))}
)} {isImage && ( )} {!isAudio && !isImage && (

No preview available for this file type.

)}
{/* Metadata Grid */}

Metadata

{Object.entries(file.metadata || {}).map(([key, val]) => (
{key}
{String(val)}
))}
{/* Right: Sidebar */}
{/* Activity Feed */}

Activity Log

{MOCK_ACTIVITY.map((act) => (

{act.user}{' '} {act.action} this file.

{act.timestamp}

))}
{/* Versions */}

Version History

{MOCK_VERSIONS.map((ver) => (
{ver.version} {ver.current && ( LATEST )}
{ver.timestamp} • {ver.uploadedBy}
))}
{/* Storage Info */}
Storage Location
s3://veza-cloud/projects/alpha
); };