feat(todo): rows in rounded boxes, Today as Todoist's, lists pulled to sync, a project's own colour

From the developer's review of 3 Nov 2026 (ADR 0033, D19 to D21):
- Today's tab shows today's day in its calendar, Browse the menu's lines,
  Display's button Lucide's square-menu.
- A task's row stands in a rounded box, the rows of a list a group rounded
  at its ends; the box is the row's own surface, so a chosen row's colour no
  longer shows under Upcoming's pinned week strip as the list scrolls. Its
  project and section end the line of its date at the row's right edge.
- Today has at most two groups: what is overdue, folding under its heading,
  and today's, headed "Tuesday, 3 Nov" ("Dienstag, 3. Nov."), without a
  "· Today" after it; Upcoming's days take the same form.
- Upcoming's way back to today shows whenever another day is picked.
- Today, Upcoming, the Inbox and every project pulled down sync now, an
  empty list too, as Learn's.
- A project's screen washes in its own colour, as a studyset's in Learn.
- "Add section" in place of "New section".

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-03 21:39:28 +01:00
commit 753527aed3
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64
5 changed files with 518 additions and 64 deletions

View file

@ -60,7 +60,7 @@
"projectGone": "Dieses Projekt wurde gelöscht.",
"projectMenu": "Mehr",
"projectPickTitle": "Projekt",
"sectionAdd": "Neuer Abschnitt",
"sectionAdd": "Abschnitt hinzufügen",
"sectionEdit": "Abschnitt umbenennen",
"sectionDelete": "Abschnitt löschen",
"sectionDeleteTitle": "Abschnitt löschen?",
@ -243,5 +243,8 @@
"snoozeTitle": "Schlummern für",
"snoozeMinutes": "{count, plural, =1{1 Minute} other{{count} Minuten}}",
"reminderSnooze": "{count} Min. schlummern",
"monthMore": "{count} weitere"
"monthMore": "{count} weitere",
"dayHeadingPattern": "EEEE, d. MMM",
"overdueHide": "Überfälliges ausblenden",
"overdueShow": "Überfälliges einblenden"
}

View file

@ -114,7 +114,7 @@
"projectGone": "This project was deleted.",
"projectMenu": "More",
"projectPickTitle": "Project",
"sectionAdd": "New section",
"sectionAdd": "Add section",
"sectionEdit": "Rename section",
"sectionDelete": "Delete section",
"sectionDeleteTitle": "Delete the section?",
@ -778,5 +778,11 @@
"type": "int"
}
}
}
},
"dayHeadingPattern": "EEEE, d MMM",
"@dayHeadingPattern": {
"description": "intl's DateFormat pattern of a day's heading in Today and Upcoming, as Todoist's (\"Tuesday, 3 Nov\"): EEEE the weekday, d the day, MMM the short month."
},
"overdueHide": "Hide what is overdue",
"overdueShow": "Show what is overdue"
}

View file

@ -463,7 +463,7 @@ abstract class AppLocalizations {
/// No description provided for @sectionAdd.
///
/// In en, this message translates to:
/// **'New section'**
/// **'Add section'**
String get sectionAdd;
/// No description provided for @sectionEdit.
@ -1563,6 +1563,24 @@ abstract class AppLocalizations {
/// In en, this message translates to:
/// **'{count} more'**
String monthMore(int count);
/// intl's DateFormat pattern of a day's heading in Today and Upcoming, as Todoist's ("Tuesday, 3 Nov"): EEEE the weekday, d the day, MMM the short month.
///
/// In en, this message translates to:
/// **'EEEE, d MMM'**
String get dayHeadingPattern;
/// No description provided for @overdueHide.
///
/// In en, this message translates to:
/// **'Hide what is overdue'**
String get overdueHide;
/// No description provided for @overdueShow.
///
/// In en, this message translates to:
/// **'Show what is overdue'**
String get overdueShow;
}
class _AppLocalizationsDelegate

View file

@ -212,7 +212,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get projectPickTitle => 'Projekt';
@override
String get sectionAdd => 'Neuer Abschnitt';
String get sectionAdd => 'Abschnitt hinzufügen';
@override
String get sectionEdit => 'Abschnitt umbenennen';
@ -966,4 +966,13 @@ class AppLocalizationsDe extends AppLocalizations {
String monthMore(int count) {
return '$count weitere';
}
@override
String get dayHeadingPattern => 'EEEE, d. MMM';
@override
String get overdueHide => 'Überfälliges ausblenden';
@override
String get overdueShow => 'Überfälliges einblenden';
}

View file

@ -212,7 +212,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get projectPickTitle => 'Project';
@override
String get sectionAdd => 'New section';
String get sectionAdd => 'Add section';
@override
String get sectionEdit => 'Rename section';
@ -965,6 +965,15 @@ class AppLocalizationsEn extends AppLocalizations {
String monthMore(int count) {
return '$count more';
}
@override
String get dayHeadingPattern => 'EEEE, d MMM';
@override
String get overdueHide => 'Hide what is overdue';
@override
String get overdueShow => 'Show what is overdue';
}
/// The translations for English, as used in the United Kingdom (`en_GB`).