feat: task trash, triage trash and retention settings for every area; admin can forbid keeping things for good
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 2m39s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
sandrodachandClaude Opus 5.5 committed 2026-11-01 15:44:34 +01:00
1 parent a927a94a95
commit 5a9c5bac37
36 files changed
+1356 -175

No files matched your search

@@ -158,6 +158,8 @@ export const AdminSettingsView: React.FC<AdminSettingsViewProps> = ({
backupEnabled: Boolean(sys.backupEnabled),
backupTime: sys.backupTime || '03:00',
backupRetentionDays: sys.backupRetentionDays || 3,
retentionAllowNever: sys.retentionAllowNever ?? true,
retentionNeverViaEnv: Boolean(sys.retentionNeverViaEnv),
});
}
} catch (err: any) {
@@ -1315,6 +1317,23 @@ export const AdminSettingsView: React.FC<AdminSettingsViewProps> = ({
/>
</div>
{/* Retention: may people keep finished and deleted things for good? */}
<div className="p-4 bg-canvas border border-border rounded-card flex items-center justify-between gap-4">
<div className="pr-4">
<p className="font-bold text-main">Dauerhaftes Aufbewahren erlauben</p>
<p className="text-[11px] text-muted mt-0.5">
Eingeschaltet kann jede Person unter Kontoeinstellungen → Aufbewahrung „nie“ wählen, also Erledigtes und
Gelöschtes behalten. Ausgeschaltet gilt dort für „nie“ die Voreinstellung des Bereichs (z. B. 30 Tage).
{settings.retentionNeverViaEnv && ' Festgelegt per RETENTION_ALLOW_NEVER.'}
</p>
</div>
<ToggleSwitch
checked={settings.retentionAllowNever !== false}
disabled={Boolean(settings.retentionNeverViaEnv)}
onChange={(retentionAllowNever) => handleSaveSystemSettings({ retentionAllowNever })}
/>
</div>
{/* Who may register without an invite */}
{(() => {
const mode = settings.registrationMode || 'closed';