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
|
|
@ -223,26 +223,62 @@ abstract class AppLocalizations {
|
|||
/// No description provided for @libraryStudysetDeleted.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Studyset deleted'**
|
||||
/// **'Moved to Recently deleted'**
|
||||
String get libraryStudysetDeleted;
|
||||
|
||||
/// No description provided for @libraryDeleteTitle.
|
||||
/// No description provided for @libraryDeletedSection.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Delete studyset?'**
|
||||
String get libraryDeleteTitle;
|
||||
/// **'Recently deleted'**
|
||||
String get libraryDeletedSection;
|
||||
|
||||
/// No description provided for @libraryDeleteMessage.
|
||||
/// No description provided for @libraryDeletedNote.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'It is deleted with everything inside it and all their cards, on all your devices. You can undo this for a few seconds.'**
|
||||
String get libraryDeleteMessage;
|
||||
/// **'Deleted studysets are kept for 14 days, with everything inside them. After that, they are deleted for good.'**
|
||||
String get libraryDeletedNote;
|
||||
|
||||
/// No description provided for @libraryDeleteConfirm.
|
||||
/// No description provided for @libraryDeletedDaysLeft.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Delete'**
|
||||
String get libraryDeleteConfirm;
|
||||
/// **'{days, plural, =0{Deleted for good soon} =1{1 day left} other{{days} days left}}'**
|
||||
String libraryDeletedDaysLeft(int days);
|
||||
|
||||
/// No description provided for @libraryRestore.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Restore'**
|
||||
String get libraryRestore;
|
||||
|
||||
/// No description provided for @libraryDeleteNow.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Delete now'**
|
||||
String get libraryDeleteNow;
|
||||
|
||||
/// No description provided for @libraryStudysetRestored.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Studyset restored'**
|
||||
String get libraryStudysetRestored;
|
||||
|
||||
/// No description provided for @libraryDeleteForGoodTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Delete for good?'**
|
||||
String get libraryDeleteForGoodTitle;
|
||||
|
||||
/// No description provided for @libraryDeleteForGoodMessage.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'“{title}” is deleted with everything inside it and all their cards, on all your devices. This can\'t be undone.'**
|
||||
String libraryDeleteForGoodMessage(String title);
|
||||
|
||||
/// No description provided for @libraryDeleteForGoodConfirm.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Delete for good'**
|
||||
String get libraryDeleteForGoodConfirm;
|
||||
|
||||
/// No description provided for @studysetSheetCreateTitle.
|
||||
///
|
||||
|
|
|
|||
Loading…
Reference in a new issue