feat: Nachrichten als gelöscht markieren

- DB: deleted_on TEXT Spalte in messages (Migration)
- Backend: ToggleMessageDelete(), includeDeleted-Parameter in allen History-Queries
- Neuer Endpoint: PUT /api/messages/{id}/delete
- Frontend: Trash-Button zwischen Reply- und Mark-Button
- Gelöschte Nachrichten: durchgestrichen + roter Rand (oder versteckt je nach Einstellung)
- Einstellungen: Toggle-Switch 'Gelöschte Nachrichten anzeigen'
- KI-Payload: gelöschte Nachrichten werden nicht mitgeschickt
This commit is contained in:
Meleki committed 2026-03-03 11:45:52 +01:00
1 parent 493dfcda1c
commit a14a991a0f
11 files changed
+248 -39

No files matched your search

+25
View File
@@ -280,6 +280,7 @@
}
.msg-reply-btn,
.msg-delete-btn,
.msg-mark-btn {
position: absolute;
top: var(--badge-spacing);
@@ -294,6 +295,10 @@
}
.msg-reply-btn {
right: calc(var(--badge-spacing) + 4em + var(--badge-spacing) * 2);
}
.msg-delete-btn {
right: calc(var(--badge-spacing) + 2em + var(--badge-spacing));
}
@@ -302,11 +307,13 @@
}
.msg:hover .msg-reply-btn,
.msg:hover .msg-delete-btn,
.msg:hover .msg-mark-btn {
opacity: var(--semi-transparent);
}
.msg-reply-btn:hover,
.msg-delete-btn:hover,
.msg-mark-btn:hover {
opacity: 1 !important;
}
@@ -316,12 +323,30 @@
color: var(--warning);
}
.msg-delete-btn.deleted {
opacity: 1 !important;
color: var(--dangerous);
}
/* Markierte Nachrichten */
.msg.marked {
border-left: 3px solid var(--warning);
}
/* Gelöschte Nachrichten */
.msg.msg-deleted {
opacity: 0.45;
text-decoration: line-through;
text-decoration-color: var(--dangerous);
border-left: 3px solid var(--dangerous);
}
.msg.msg-deleted-hidden {
display: none;
}
/* Reply Quote in User Bubble */
.reply-quote {