feat(studyset): deleted studysets wait 14 days in Recently deleted
Deleting a studyset blanked it with everything inside it once a four-second Undo was over. It now only marks it (`studyset.deletedAt`, a column as `archivedAt`): it leaves every list, count and session with what is inside it and waits in the library's Recently deleted for 14 days, saying how many are left, with Restore and Delete now. Deleting no longer asks first and offers Undo; Delete now asks. Once the 14 days are over, whichever of the person's devices looks next (as their data opens, after every sync) deletes it for good, blanking first as before; the server can't blank a payload and never writes a person's space (ADR 0007). The connector, publishing and the learner count leave deleted studysets out too. The migration adds one nullable column: app versions before it stop syncing until they update. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
11a16f5686
commit
4644125cc4
1 changed files with 26969 additions and 313 deletions
|
|
@ -72,17 +72,46 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
String get libraryStudysetUnarchived => 'Lernset aus dem Archiv geholt';
|
||||
|
||||
@override
|
||||
String get libraryStudysetDeleted => 'Lernset gelöscht';
|
||||
String get libraryStudysetDeleted => 'In „Zuletzt gelöscht“ verschoben';
|
||||
|
||||
@override
|
||||
String get libraryDeleteTitle => 'Lernset löschen?';
|
||||
String get libraryDeletedSection => 'Zuletzt gelöscht';
|
||||
|
||||
@override
|
||||
String get libraryDeleteMessage =>
|
||||
'Es wird samt allem, was darin ist, und allen zugehörigen Karten auf all deinen Geräten gelöscht. Du kannst dies für einige Sekunden rückgängig machen.';
|
||||
String get libraryDeletedNote =>
|
||||
'Gelöschte Lernsets werden samt allem, was darin ist, 14 Tage aufbewahrt. Danach werden sie endgültig gelöscht.';
|
||||
|
||||
@override
|
||||
String get libraryDeleteConfirm => 'Löschen';
|
||||
String libraryDeletedDaysLeft(int days) {
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
days,
|
||||
locale: localeName,
|
||||
other: 'Noch $days Tage',
|
||||
one: 'Noch 1 Tag',
|
||||
zero: 'Bald endgültig gelöscht',
|
||||
);
|
||||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
String get libraryRestore => 'Wiederherstellen';
|
||||
|
||||
@override
|
||||
String get libraryDeleteNow => 'Jetzt löschen';
|
||||
|
||||
@override
|
||||
String get libraryStudysetRestored => 'Lernset wiederhergestellt';
|
||||
|
||||
@override
|
||||
String get libraryDeleteForGoodTitle => 'Endgültig löschen?';
|
||||
|
||||
@override
|
||||
String libraryDeleteForGoodMessage(String title) {
|
||||
return '„$title“ wird samt allem, was darin ist, und allen zugehörigen Karten auf all deinen Geräten gelöscht. Das lässt sich nicht rückgängig machen.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get libraryDeleteForGoodConfirm => 'Endgültig löschen';
|
||||
|
||||
@override
|
||||
String get studysetSheetCreateTitle => 'Lernset erstellen';
|
||||
|
|
|
|||
Loading…
Reference in a new issue