feat(todo): dialogs on the desktop, the tabs reordered, a task's path and menu (ADR 0033, D11 to D14)

- halkyon_ui: showAdaptiveSheet shows a dialog on Linux, macOS and Windows
  at every width (bottom sheets stay on phones and tablets below expanded
  windows), so Learn and Train follow; SheetScaffold takes a heading in
  the title's place and may leave out its close button.
- Todo: the tabs are Inbox, Today, Upcoming, Browse, Today still opening;
  `serverpod start` launches the app on Linux, as it has no web build.
- A task's sheet shows where the task is (its project, an icon once tasks
  are above it, and the tasks above it, each opening what it names) and a
  ⋮ menu in place of its close button: when it was added (its UUID v7),
  Duplicate with its sub-tasks, hiding its done sub-tasks (synced in its
  payload), Close in the pane, Delete after asking. The description's icon
  stays by its first line.
- A row names its project and section at the end of its date's line; every
  menu entry has its icon.
- Learn: a studyset's path starts at the Library tab's icon, named by its
  tooltip.

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 16:53:38 +01:00
commit b908019969
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -891,6 +891,54 @@ abstract class AppLocalizations {
/// In en, this message translates to:
/// **'Tasks'**
String get searchTasks;
/// No description provided for @taskMore.
///
/// In en, this message translates to:
/// **'Task options'**
String get taskMore;
/// No description provided for @taskAddedOn.
///
/// In en, this message translates to:
/// **'Added on {when}'**
String taskAddedOn(String when);
/// No description provided for @taskDuplicate.
///
/// In en, this message translates to:
/// **'Duplicate'**
String get taskDuplicate;
/// No description provided for @taskDuplicated.
///
/// In en, this message translates to:
/// **'Task duplicated'**
String get taskDuplicated;
/// No description provided for @subTasksHideDone.
///
/// In en, this message translates to:
/// **'Hide done sub-tasks'**
String get subTasksHideDone;
/// No description provided for @subTasksShowDone.
///
/// In en, this message translates to:
/// **'Show done sub-tasks'**
String get subTasksShowDone;
/// No description provided for @taskClose.
///
/// In en, this message translates to:
/// **'Close'**
String get taskClose;
/// No description provided for @taskPath.
///
/// In en, this message translates to:
/// **'Where the task is'**
String get taskPath;
}
class _AppLocalizationsDelegate