feat(todo): tasks chosen together, quick add reading what is typed (ADR 0033, D14, D15)
- A section's heading stays atop a project's list while its tasks
scroll beneath it (slivers, PinnedHeaderSliver).
- Upcoming's month unfolds in place beneath its strip, from its name
or its handle; a button beside the month goes back to today.
- Tasks are chosen together: a row swiped right or held, or Select
tasks in Today's, Upcoming's and a project's menu; a bar of date,
move, labels, priority and more (complete, duplicate, deadline,
delete) takes the navigation bar's place. A row swiped left asks
for its date.
- TaskRepository.move moves tasks with their sub-tasks.
- parseQuickAdd reads #project, @label (an unknown one made),
{deadline}, !!1 and p1 to p4, !30m, dates, times and recurrences
(tomorrow 9am, Mon 18:00, ev Tue 7pm, every 2 days, every weekday),
from a table of words per language: English, and German beside it.
- Each token is highlighted and shown on its chip; a tap keeps it as
text, and a chip picked takes it out of the title.
- Quick add shows its title alone at first, its chips once typing
starts, and the description and deadline behind its + (the
description also from the down arrow).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
b908019969
commit
4960234a63
1 changed files with 3619 additions and 383 deletions
|
|
@ -939,6 +939,162 @@ abstract class AppLocalizations {
|
|||
/// In en, this message translates to:
|
||||
/// **'Where the task is'**
|
||||
String get taskPath;
|
||||
|
||||
/// No description provided for @weekToday.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Back to today'**
|
||||
String get weekToday;
|
||||
|
||||
/// No description provided for @monthPrevious.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Previous month'**
|
||||
String get monthPrevious;
|
||||
|
||||
/// No description provided for @monthNext.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Following month'**
|
||||
String get monthNext;
|
||||
|
||||
/// No description provided for @monthShow.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Show the whole month'**
|
||||
String get monthShow;
|
||||
|
||||
/// No description provided for @monthHide.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Show one week'**
|
||||
String get monthHide;
|
||||
|
||||
/// No description provided for @selectTasks.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Select tasks'**
|
||||
String get selectTasks;
|
||||
|
||||
/// No description provided for @selectionCount.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{count, plural, =0{Select tasks} =1{1 task selected} other{{count} tasks selected}}'**
|
||||
String selectionCount(int count);
|
||||
|
||||
/// No description provided for @selectionEnd.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Stop selecting'**
|
||||
String get selectionEnd;
|
||||
|
||||
/// No description provided for @selectionDate.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Date'**
|
||||
String get selectionDate;
|
||||
|
||||
/// No description provided for @selectionMove.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Move to'**
|
||||
String get selectionMove;
|
||||
|
||||
/// No description provided for @selectionLabels.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Labels'**
|
||||
String get selectionLabels;
|
||||
|
||||
/// No description provided for @selectionPriority.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Priority'**
|
||||
String get selectionPriority;
|
||||
|
||||
/// No description provided for @selectionMore.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'More'**
|
||||
String get selectionMore;
|
||||
|
||||
/// No description provided for @selectionDelete.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{count, plural, =1{Delete 1 task} other{Delete {count} tasks}}'**
|
||||
String selectionDelete(int count);
|
||||
|
||||
/// No description provided for @selectionDeleteTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Delete the tasks?'**
|
||||
String get selectionDeleteTitle;
|
||||
|
||||
/// No description provided for @selectionDeleteMessage.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{count, plural, =1{1 task is deleted with its sub-tasks, on all your devices.} other{{count} tasks are deleted with their sub-tasks, on all your devices.}}'**
|
||||
String selectionDeleteMessage(int count);
|
||||
|
||||
/// No description provided for @selectionDuplicate.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{count, plural, =1{Duplicate 1 task} other{Duplicate {count} tasks}}'**
|
||||
String selectionDuplicate(int count);
|
||||
|
||||
/// No description provided for @selectionComplete.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{count, plural, =1{Complete 1 task} other{Complete {count} tasks}}'**
|
||||
String selectionComplete(int count);
|
||||
|
||||
/// No description provided for @selectionDeadline.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Deadline'**
|
||||
String get selectionDeadline;
|
||||
|
||||
/// No description provided for @tasksCompleted.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{count, plural, =1{Task done} other{{count} tasks done}}'**
|
||||
String tasksCompleted(int count);
|
||||
|
||||
/// No description provided for @swipeSelect.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Select'**
|
||||
String get swipeSelect;
|
||||
|
||||
/// No description provided for @swipeDate.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Date'**
|
||||
String get swipeDate;
|
||||
|
||||
/// No description provided for @tasksMenu.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'More'**
|
||||
String get tasksMenu;
|
||||
|
||||
/// Quick add's + menu, holding Description and Deadline (ADR 0033, D15).
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'More'**
|
||||
String get quickAddMore;
|
||||
|
||||
/// Below quick add's title while it has tokens recognised (D15).
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Tap a highlighted word to keep it as text.'**
|
||||
String get quickAddTokenHint;
|
||||
|
||||
/// Quick add's deadline chip and menu entry (D15).
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Deadline'**
|
||||
String get deadlineTitle;
|
||||
}
|
||||
|
||||
class _AppLocalizationsDelegate
|
||||
|
|
|
|||
Loading…
Reference in a new issue