feat: Ordner als ZIP herunterladen + Share-Status visuell anzeigen

Ordner-Download:
- Ordner koennen jetzt als ZIP heruntergeladen werden (rekursiv
  mit allen Unterordnern und Dateien)
- ZIP-Icon statt Download-Icon bei Ordnern in der Dateiliste
- Backend erstellt ZIP mit ZIP_DEFLATED und allowZip64 fuer grosse Ordner

Share-Status visuell:
- Share-Button zeigt gruenes Personen-Icon (pi-users) wenn die Datei/
  der Ordner bereits Freigaben hat (Links oder Benutzer-Berechtigungen)
- Normales Share-Icon (pi-share-alt) wenn keine Freigaben existieren
- Backend liefert has_shares und has_permissions pro Datei mit

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Stefan Hacker
2026-04-11 20:28:10 +02:00
parent 6515b3a256
commit 1a831bfb04
2 changed files with 47 additions and 6 deletions
+5 -3
View File
@@ -78,14 +78,16 @@
<template #body="{ data }">
<div class="row-actions">
<Button
v-if="!data.is_folder"
icon="pi pi-download"
:icon="data.is_folder ? 'pi pi-file-zip' : 'pi pi-download'"
text rounded size="small"
:title="data.is_folder ? 'Als ZIP herunterladen' : 'Herunterladen'"
@click.stop="downloadFile(data)"
/>
<Button
icon="pi pi-share-alt"
:icon="(data.has_shares || data.has_permissions) ? 'pi pi-users' : 'pi pi-share-alt'"
text rounded size="small"
:severity="(data.has_shares || data.has_permissions) ? 'success' : undefined"
:title="(data.has_shares || data.has_permissions) ? 'Freigaben verwalten' : 'Teilen'"
@click.stop="openShare(data)"
/>
<Button