feat(meditate): the dream journal, a fourth tab, Today's morning card
ADR 0038, D14. A dream (`Dream`) holds the night it belongs to (the morning's date, today's by default), an optional title, its text, the marks lucid, nightmare and recurring, a clarity of 1 to 5, the mood on waking and free labels, and when it was written; a row each in `dream`, sealed for its row with the person's key as the sittings (`DreamRepository` on `SealedRows`, `SyncDreamGateway`), followed by `JournalCubit` for every screen. - The Journal, between Explore and Profile: dreams by month, the newest first, searched over title, text and labels as Explore searches, filtered by marks, `+` above the bar; empty, it says that entries are sealed on the device before they sync. - A dream's screen over the tabs: a new one with its text first and focused, the rest folded below; a kept one to read, with Edit and Delete (asked first); leaving one written but not saved asks first. - Today, from 4 to 12 o'clock while last night has no dream, a gentle card leading to a new one; Settings' Journal card switches it off (`dreamPrompt` in the sealed settings, schema 1 kept). - Profile's Practice: this month's dreams and the lucid ones, once the journal holds one. - English and German texts; What's new 0.1.0 names the journal; the account's deletion says it takes the dreams too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
83edaeabe0
commit
86c9f4522a
1 changed files with 2762 additions and 41 deletions
|
|
@ -127,7 +127,7 @@ abstract class AppLocalizations {
|
|||
/// No description provided for @accountDeleteMessage.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Your account is deleted on the server and on all your devices, with every sitting kept. This can\'t be undone.'**
|
||||
/// **'Your account is deleted on the server and on all your devices, with every sitting and dream kept. This can\'t be undone.'**
|
||||
String get accountDeleteMessage;
|
||||
|
||||
/// No description provided for @aboutTitle.
|
||||
|
|
@ -825,6 +825,282 @@ abstract class AppLocalizations {
|
|||
/// In en, this message translates to:
|
||||
/// **'On Today and in your Profile'**
|
||||
String get showStreakHint;
|
||||
|
||||
/// No description provided for @shellTabJournal.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Journal'**
|
||||
String get shellTabJournal;
|
||||
|
||||
/// No description provided for @journalSearch.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Search dreams'**
|
||||
String get journalSearch;
|
||||
|
||||
/// No description provided for @journalEmptyTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Your dream journal'**
|
||||
String get journalEmptyTitle;
|
||||
|
||||
/// No description provided for @journalEmpty.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Write down a dream as soon as you wake, before it fades. Every entry is sealed on this device before it syncs: nobody else can read it, not even the instance.'**
|
||||
String get journalEmpty;
|
||||
|
||||
/// No description provided for @journalNoMatch.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No dream matches.'**
|
||||
String get journalNoMatch;
|
||||
|
||||
/// No description provided for @journalAdd.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Write down a dream'**
|
||||
String get journalAdd;
|
||||
|
||||
/// No description provided for @journalFiguresTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Dream journal'**
|
||||
String get journalFiguresTitle;
|
||||
|
||||
/// No description provided for @figuresDreamsThisMonth.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'This month'**
|
||||
String get figuresDreamsThisMonth;
|
||||
|
||||
/// No description provided for @figuresLucid.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Lucid'**
|
||||
String get figuresLucid;
|
||||
|
||||
/// No description provided for @markLucid.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Lucid'**
|
||||
String get markLucid;
|
||||
|
||||
/// No description provided for @markNightmare.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Nightmare'**
|
||||
String get markNightmare;
|
||||
|
||||
/// No description provided for @markRecurring.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Recurring'**
|
||||
String get markRecurring;
|
||||
|
||||
/// No description provided for @moodGlad.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Glad'**
|
||||
String get moodGlad;
|
||||
|
||||
/// No description provided for @moodCalm.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Calm'**
|
||||
String get moodCalm;
|
||||
|
||||
/// No description provided for @moodPuzzled.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Puzzled'**
|
||||
String get moodPuzzled;
|
||||
|
||||
/// No description provided for @moodSad.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Sad'**
|
||||
String get moodSad;
|
||||
|
||||
/// No description provided for @moodUneasy.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Uneasy'**
|
||||
String get moodUneasy;
|
||||
|
||||
/// No description provided for @dreamNew.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'New dream'**
|
||||
String get dreamNew;
|
||||
|
||||
/// No description provided for @dreamLastNight.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Last night'**
|
||||
String get dreamLastNight;
|
||||
|
||||
/// The night a dream belongs to, named by the morning after it.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Night before {date}'**
|
||||
String dreamNight(String date);
|
||||
|
||||
/// No description provided for @dreamTextHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'What did you dream?'**
|
||||
String get dreamTextHint;
|
||||
|
||||
/// No description provided for @dreamTitleLabel.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Title (optional)'**
|
||||
String get dreamTitleLabel;
|
||||
|
||||
/// No description provided for @dreamMore.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Night, title, marks and more'**
|
||||
String get dreamMore;
|
||||
|
||||
/// No description provided for @dreamNightLabel.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Night'**
|
||||
String get dreamNightLabel;
|
||||
|
||||
/// No description provided for @dreamMarksLabel.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Marks'**
|
||||
String get dreamMarksLabel;
|
||||
|
||||
/// No description provided for @dreamClarityLabel.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Clarity'**
|
||||
String get dreamClarityLabel;
|
||||
|
||||
/// No description provided for @dreamClarityHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'How clearly you remember it, 1 to 5'**
|
||||
String get dreamClarityHint;
|
||||
|
||||
/// No description provided for @dreamClarityValue.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Clarity {clarity}/5'**
|
||||
String dreamClarityValue(int clarity);
|
||||
|
||||
/// No description provided for @dreamMoodLabel.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Mood on waking'**
|
||||
String get dreamMoodLabel;
|
||||
|
||||
/// No description provided for @dreamLabelsLabel.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Labels'**
|
||||
String get dreamLabelsLabel;
|
||||
|
||||
/// No description provided for @dreamLabelsHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'People, places, themes'**
|
||||
String get dreamLabelsHint;
|
||||
|
||||
/// No description provided for @dreamLabelAdd.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Add label'**
|
||||
String get dreamLabelAdd;
|
||||
|
||||
/// No description provided for @dreamSave.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Save'**
|
||||
String get dreamSave;
|
||||
|
||||
/// No description provided for @dreamEdit.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Edit'**
|
||||
String get dreamEdit;
|
||||
|
||||
/// No description provided for @dreamDelete.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Delete'**
|
||||
String get dreamDelete;
|
||||
|
||||
/// No description provided for @dreamDeleteTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Delete this dream?'**
|
||||
String get dreamDeleteTitle;
|
||||
|
||||
/// No description provided for @dreamDeleteMessage.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'It goes from your journal on all your devices.'**
|
||||
String get dreamDeleteMessage;
|
||||
|
||||
/// No description provided for @dreamDiscardTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Discard this dream?'**
|
||||
String get dreamDiscardTitle;
|
||||
|
||||
/// No description provided for @dreamDiscardMessage.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'What you wrote isn\'t saved.'**
|
||||
String get dreamDiscardMessage;
|
||||
|
||||
/// No description provided for @dreamDiscard.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Discard'**
|
||||
String get dreamDiscard;
|
||||
|
||||
/// No description provided for @dreamWritten.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Written {date}'**
|
||||
String dreamWritten(String date);
|
||||
|
||||
/// No description provided for @todayDreamPrompt.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Write down last night\'s dream'**
|
||||
String get todayDreamPrompt;
|
||||
|
||||
/// No description provided for @todayDreamPromptHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Before it fades. Sealed on this device.'**
|
||||
String get todayDreamPromptHint;
|
||||
|
||||
/// No description provided for @settingsJournal.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Journal'**
|
||||
String get settingsJournal;
|
||||
|
||||
/// No description provided for @dreamPromptTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Ask for last night\'s dream'**
|
||||
String get dreamPromptTitle;
|
||||
|
||||
/// No description provided for @dreamPromptHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'On Today, from 4 to 12 o\'clock, until you write one'**
|
||||
String get dreamPromptHint;
|
||||
}
|
||||
|
||||
class _AppLocalizationsDelegate
|
||||
|
|
|
|||
Loading…
Reference in a new issue