feat(todo): each project's Display: completed tasks, grouping, sorting and filters, synced (ADR 0033, D17)

- A Display button beside a project's menu (the Inbox's too), a dot
  on it while the project shows otherwise than at first, opens its
  sheet: completed tasks, grouping (date, deadline, added date,
  priority, label), sorting (name, date, deadline, added date,
  priority), filters by date, deadline, priority and label, and
  Reset all.
- The choices live in the project's sealed payload (ProjectView,
  written only once set), so every device shows the project alike.
- Grouped, the groups stand in the sections' place under pinned
  headings; rows are dragged only while sorted by hand by sections.
- Show done tasks moves from the menu into Display.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-11-01 18:41:12 +01:00
commit 7d1de304c8
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -184,18 +184,6 @@ abstract class AppLocalizations {
/// **'Colour'**
String get colorLabel;
/// No description provided for @completedShow.
///
/// In en, this message translates to:
/// **'Show done tasks'**
String get completedShow;
/// No description provided for @completedHide.
///
/// In en, this message translates to:
/// **'Hide done tasks'**
String get completedHide;
/// No description provided for @dateTitle.
///
/// In en, this message translates to:
@ -1113,6 +1101,222 @@ abstract class AppLocalizations {
/// In en, this message translates to:
/// **'Moved to {day}'**
String taskMovedTo(String day);
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Display'**
String get display;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Completed tasks'**
String get displayCompleted;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Sort'**
String get displaySort;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Grouping'**
String get displayGrouping;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Sorting'**
String get displaySorting;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Filter'**
String get displayFilter;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Deadline'**
String get displayDeadline;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Label'**
String get displayLabel;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Reset all'**
String get displayReset;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Done'**
String get displayDone;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'All'**
String get displayAll;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Any'**
String get displayAny;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'None'**
String get groupingNone;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Date'**
String get groupingDate;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Deadline'**
String get groupingDeadline;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Added date'**
String get groupingAdded;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Priority'**
String get groupingPriority;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Label'**
String get groupingLabel;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Manual'**
String get sortingManual;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Name'**
String get sortingName;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Date'**
String get sortingDate;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Deadline'**
String get sortingDeadline;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Added date'**
String get sortingAdded;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Priority'**
String get sortingPriority;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Today'**
String get rangeToday;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'This week'**
String get rangeThisWeek;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Next 7 days'**
String get rangeNext7;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'This month'**
String get rangeThisMonth;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Next 30 days'**
String get rangeNext30;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'No date'**
String get rangeNoDate;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'No deadline'**
String get rangeNoDeadline;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Nothing matches'**
String get viewNothingTitle;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'This view\'s filters leave out every task here. Display changes them.'**
String get viewNothingHint;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Save'**
String get displaySave;
/// A project's Display sheet and what it shows (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'Cancel'**
String get displayCancel;
/// A project's group of tasks without a label (ADR 0033, D17).
///
/// In en, this message translates to:
/// **'No label'**
String get groupNoLabel;
}
class _AppLocalizationsDelegate