A task with a time takes reminders, minutes before it, in its sealed payload; each device plans the coming ones whenever the tasks change and schedules them with the system through flutter_local_notifications (Android, iOS, macOS, Windows; on Linux the running app shows them), at the minute where Android allows exact alarms. Notifying is asked for when a task first gets a reminder; signing out or switching person cancels them. Upcoming gets its week strip: the month opening Material's calendar, the weeks before and after, a dot under each day with tasks; a day picked scrolls the agenda to it, and scrolling moves the strip along. From expanded windows on, a task opens in a pane beside the list rather than in a dialog. Search, from every tab's app bar, finds projects by name and tasks by every word typed, in their title, description or labels, whatever the case and accents, on the device alone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
106 lines
3.8 KiB
YAML
106 lines
3.8 KiB
YAML
name: halkyon_todo_flutter
|
|
description: Halkyon Todo, the app.
|
|
publish_to: none
|
|
|
|
# <version>+<build>: the build rises with every release, and the instance asks apps below
|
|
# its minimum build to update (halkyon_base's instance basics).
|
|
version: 0.1.0+1
|
|
|
|
environment:
|
|
sdk: '^3.13.0'
|
|
flutter: '^3.44.4'
|
|
|
|
resolution: workspace
|
|
|
|
dependencies:
|
|
clock: ^1.1.3
|
|
equatable: ^3.0.0
|
|
flutter:
|
|
sdk: flutter
|
|
flutter_bloc: ^9.1.1
|
|
# Tasks' reminders, scheduled with the system on the device (ADR 0033, D5):
|
|
# the instance reads no task, so it can't remind of one.
|
|
flutter_local_notifications: ^22.3.3
|
|
# The tabs, each with its own stack of screens, and Settings over them
|
|
# (ADR 0033, D1), as Learn's and Train's.
|
|
go_router: ^18.0.2
|
|
# What every Halkyon app is built around (a shared package): the instances a
|
|
# device keeps accounts on, signing in through halkyon_base, each person's
|
|
# dependencies opened and closed, with texts of its own.
|
|
halkyon_app:
|
|
path: ../../../packages/halkyon_app
|
|
# The device's half of signing in with OpenID Connect (ADR 0023): the
|
|
# browser that SimpleLogin's sign-in opens, and on Linux and Windows the
|
|
# loopback it comes back to, which the app builds with its name.
|
|
# Primitives every Halkyon package shares: `CoalescingRunner`.
|
|
halkyon_core:
|
|
path: ../../../packages/halkyon_core
|
|
halkyon_oidc_flutter:
|
|
path: ../../../packages/halkyon_oidc_flutter
|
|
halkyon_todo_client:
|
|
path: ../halkyon_todo_client
|
|
# Halkyon's look, shared by its apps (a shared package): the theme, the bundled
|
|
# Noto Sans and the widgets every screen is built of.
|
|
halkyon_ui:
|
|
path: ../../../packages/halkyon_ui
|
|
# gen-l10n's output imports it.
|
|
intl: ^0.20.3
|
|
lucide_icons_flutter: ^3.1.20
|
|
material_ui: ^1.5.0
|
|
# This build's version and number, for Settings' foot and what's new.
|
|
package_info_plus: ^10.2.2
|
|
path: ^1.9.1
|
|
path_provider: ^2.1.6
|
|
serverpod_auth_idp_flutter: 4.0.4
|
|
serverpod_flutter: 4.0.4
|
|
serverpod_offline_sync_client: 0.0.10
|
|
# The instant a reminder is scheduled at, as flutter_local_notifications
|
|
# takes it (in UTC).
|
|
timezone: ^0.11.2
|
|
|
|
dev_dependencies:
|
|
flutter_driver:
|
|
sdk: flutter
|
|
# Writes the app's icons for every platform from assets/icon/halkyon_todo_icon.png,
|
|
# run through the repository's tool/app_icons.py (see the section below).
|
|
flutter_launcher_icons: ^0.14.4
|
|
flutter_test:
|
|
sdk: flutter
|
|
|
|
flutter:
|
|
# Generates AppLocalizations from lib/l10n (see l10n.yaml).
|
|
generate: true
|
|
# Material's icon font, which serverpod_auth_idp_flutter's widgets ask for
|
|
# (it sets this itself): without it every build and test run warns, and
|
|
# Material's icons would draw as boxes.
|
|
uses-material-design: true
|
|
|
|
assets:
|
|
# The instance the build names, unless --dart-define=SERVER_URL=… does
|
|
# (serverpod_flutter's getServerUrl).
|
|
- assets/config.json
|
|
# The app's icon, Lucide's list-todo (ADR 0031), and Lucide's licence for the
|
|
# licence list (the repository's tool/app_icons.py writes both).
|
|
- assets/icon/halkyon_todo_icon.png
|
|
- assets/icon/LICENSE-lucide.txt
|
|
|
|
# The app's icons, written by the repository's tool/app_icons.py: it prepares the
|
|
# rounded images in build/icons/ first, then runs `dart run flutter_launcher_icons`.
|
|
# Android: the adaptive icon, on white, for the launcher to cut to its shape, and the
|
|
# square one older Androids show. iOS: without its alpha channel, on white. macOS and
|
|
# Windows: the rounded tile.
|
|
flutter_launcher_icons:
|
|
image_path: "assets/icon/halkyon_todo_icon.png"
|
|
android: true
|
|
adaptive_icon_background: "#ffffff"
|
|
adaptive_icon_foreground: "assets/icon/halkyon_todo_icon.png"
|
|
ios: true
|
|
remove_alpha_ios: true
|
|
background_color_ios: "#ffffff"
|
|
macos:
|
|
generate: true
|
|
image_path: "build/icons/macos.png"
|
|
windows:
|
|
generate: true
|
|
image_path: "build/icons/rounded.png"
|
|
icon_size: 256
|