import React, { useState } from 'react'; import { ArrowLeft, Folder, RotateCcw, Trash2 } from 'lucide-react'; import { TrashedDocument } from '../../lib/types'; import { CountBadge } from '../../components/CountBadge'; interface TrashViewProps { items: TrashedDocument[]; onOpen: (docId: string) => void; onRestore: (docId: string) => Promise; onPurge: (docId: string) => Promise; onEmpty: () => Promise; onBackMobile: () => void; } const formatDeletedAt = (iso: string) => { const d = new Date(iso); if (Number.isNaN(d.getTime())) return ''; return d.toLocaleString('de-DE', { day: '2-digit', month: '2-digit', year: 'numeric', hour: '2-digit', minute: '2-digit' }); }; // Deleted notes: open read-only, restore, or delete for good. Deleting for good always takes a second // tap on the same button ("Wirklich löschen?"), which works the same with mouse and touch. export const TrashView: React.FC = ({ items, onOpen, onRestore, onPurge, onEmpty, onBackMobile }) => { const [confirmId, setConfirmId] = useState(null); const [busyId, setBusyId] = useState(null); const [error, setError] = useState(null); const run = async (id: string, action: () => Promise) => { setBusyId(id); setError(null); try { await action(); setConfirmId(null); } catch (err: any) { setError(err.message || 'Aktion fehlgeschlagen'); } finally { setBusyId(null); } }; return (

Papierkorb

{items.length > 0 && ( )}

Gelöschte Notizen bleiben hier, bis du sie wiederherstellst oder endgültig löschst. Für alle, mit denen sie geteilt waren, sind sie bis dahin ausgeblendet.

{error &&

{error}

} {items.length === 0 ? (
Der Papierkorb ist leer.
) : (
    {items.map((t) => (
  • ))}
)}
); };