Dateien nach "frontend/src/tools" hochladen

This commit is contained in:
2026-05-27 09:24:06 +02:00
parent 90de8252e2
commit 05ee3deae4

View File

@@ -66,8 +66,8 @@ function ShareModal({ item, type, onClose, toast }) {
// ── Datei-Manager ───────────────────────────────────────────────────────────── // ── Datei-Manager ─────────────────────────────────────────────────────────────
export default function Dateien({ toast, mobile }) { export default function Dateien({ toast, mobile }) {
const [data, setData] = useState({own:[],shared:[]}); const [data, setData] = useState({own:[],shared:[],sharedByMe:[]});
const [folders, setFolders] = useState({own:[],shared:[]}); const [folders, setFolders] = useState({own:[],shared:[],sharedByMe:[]});
const [loading, setLoading] = useState(true); const [loading, setLoading] = useState(true);
const [currentFolderId, setCurrentFolderId] = useState(null); const [currentFolderId, setCurrentFolderId] = useState(null);
const [folderPath, setFolderPath] = useState([]); // [{id, name}] const [folderPath, setFolderPath] = useState([]); // [{id, name}]
@@ -88,7 +88,10 @@ export default function Dateien({ toast, mobile }) {
Promise.all([ Promise.all([
api(`/tools/dateien${fq}`), api(`/tools/dateien${fq}`),
api(`/tools/dateien/folders${pq}`), api(`/tools/dateien/folders${pq}`),
]).then(([d, f]) => { setData(d); setFolders(f); }) ]).then(([d, f]) => {
setData({ own:d.own||[], shared:d.shared||[], sharedByMe:d.sharedByMe||[] });
setFolders({ own:f.own||[], shared:f.shared||[], sharedByMe:f.sharedByMe||[] });
})
.catch(e => toast(e.message,'error')) .catch(e => toast(e.message,'error'))
.finally(() => setLoading(false)); .finally(() => setLoading(false));
}, [currentFolderId]); }, [currentFolderId]);
@@ -142,7 +145,9 @@ export default function Dateien({ toast, mobile }) {
const createFolder = async () => { const createFolder = async () => {
if (!folderName.trim()) return; if (!folderName.trim()) return;
try { try {
await api('/tools/dateien/folders',{body:{name:folderName.trim(),parent_id:currentFolderId}}); const body = { name: folderName.trim() };
if (currentFolderId) body.parent_id = currentFolderId;
await api('/tools/dateien/folders', { body });
toast('Ordner erstellt'); setFolderName(''); setNewFolder(false); load(); toast('Ordner erstellt'); setFolderName(''); setNewFolder(false); load();
} catch(e) { toast(e.message,'error'); } } catch(e) { toast(e.message,'error'); }
}; };
@@ -242,7 +247,7 @@ export default function Dateien({ toast, mobile }) {
)} )}
{/* Neuer Ordner Button (in Unterordnern) */} {/* Neuer Ordner Button (in Unterordnern) */}
{tab==='own' && currentFolderId && !newFolder && ( {tab==='own' && currentFolderId && !newFolder && !inSharedFolder && (
<button onClick={()=>setNewFolder(true)} style={{ <button onClick={()=>setNewFolder(true)} style={{
display:'flex', alignItems:'center', gap:8, marginBottom:8, display:'flex', alignItems:'center', gap:8, marginBottom:8,
background:'rgba(255,255,255,0.03)', border:'1px dashed rgba(255,255,255,0.15)', background:'rgba(255,255,255,0.03)', border:'1px dashed rgba(255,255,255,0.15)',