feat: Geteilte Links auf Dashboard anzeigen + URL-Fix

Dashboard:
- Neue Section 'Geteilte Links' zeigt alle aktiven Shares
- Pro Eintrag: Role-Icon, Text-Vorschau, Session-Name, Modus, Datum
- Buttons: Link kopieren, öffnen, löschen (mit sofortigem UI-Update)
- Section nur sichtbar wenn Shares vorhanden

Backend:
- SharedEndpoint HandleListShares erweitert: Nachricht-Preview,
  Role, Session-Name pro Share mitgeliefert

Frontend:
- apiListShares() Funktion hinzugefügt
- Bugfix: Share-URL '/#/shared/' → '/#shared/' (Extra-Slash
  verursachte 404 weil parseHash leeren Page-Namen ergab)
This commit is contained in:
Meleki committed 2026-03-05 12:01:28 +01:00
1 parent 4bdcebc1e1
commit 38a8223228
5 files changed
+148 -1

No files matched your search

+60
View File
@@ -256,6 +256,66 @@
color: var(--text);
}
/* Shared Links */
.shared-links-list {
display: flex;
flex-direction: column;
gap: var(--badge-spacing);
}
.shared-link-row {
display: flex;
align-items: center;
gap: var(--box-spacing);
padding: var(--box-padding);
background: var(--f3-bg);
border: var(--border-width) solid var(--f3-border);
border-radius: var(--border-radius);
}
.shared-link-info {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
gap: calc(var(--badge-spacing) / 2);
}
.shared-link-preview {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.shared-link-preview .fa {
opacity: var(--semi-transparent);
margin-right: calc(var(--badge-spacing) / 2);
}
.shared-link-meta {
display: flex;
flex-wrap: wrap;
gap: var(--box-spacing);
opacity: var(--semi-transparent);
font-size: calc(var(--font-size) * 0.9);
}
.shared-link-actions {
display: flex;
gap: var(--badge-spacing);
flex-shrink: 0;
}
.danger-icon {
color: var(--dangerous);
opacity: var(--semi-transparent);
}
.danger-icon:hover {
opacity: 1;
}
/* Compact cards (no image) */
.card-compact {
padding: var(--box-padding);