halkyon/apps/train/halkyon_train_flutter/pubspec.yaml
Tizian 「ティツィアーン」 405577050d
feat(train): the workouts listed, and each one's page with its map (ADR 0030, D22-D24)
Home lists the person's workouts newest first under their months, each
with its activity's icon, its name (else the time of day's and the
activity's), when it started, its distance, moving time and pace or
speed; those this device can't open come last, locked. A workout's page
shows its track on the instance's map source (flutter_map with
vector_map_tiles, pinned at 9.0.0-beta.13), in pieces between its
pauses, start and end marked; its totals with the elevation gained;
its splits per kilometre on foot, per 5 km cycling; pace or speed and
elevation over the distance, drawn by the app's own painter; and what
the map's source sees. Its name and notes are edited there; deleting
asks first and can be undone for a moment from home (halkyon_app's
DelayedDeletions, TrainPerson.deletions).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-10-30 15:52:50 +01:00

102 lines
3.6 KiB
YAML

name: halkyon_train_flutter
description: Halkyon Train, 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
# 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.
# Workouts' tracks over the map (ADR 0030, D11, D23): the map widget, the
# vector tiles of the instance's source (OpenFreeMap without a setting, D22),
# and its coordinates.
flutter_map: ^8.3.2
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.
halkyon_oidc_flutter:
path: ../../../packages/halkyon_oidc_flutter
halkyon_train_client:
path: ../halkyon_train_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
latlong2: ^0.10.1
lucide_icons_flutter: ^3.1.20
material_ui: ^1.5.0
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
url_launcher: ^6.3.2
# Pinned: the 9 line is beta, the only one for flutter_map 8 (D23); moves to
# 9.0.0 once it is released.
vector_map_tiles: 9.0.0-beta.13
dev_dependencies:
flutter_driver:
sdk: flutter
# Writes the app's icons for every platform from assets/icon/halkyon_train_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 bike (ADR 0031), and Lucide's licence for the
# licence list (the repository's tool/app_icons.py writes both).
- assets/icon/halkyon_train_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_train_icon.png"
android: true
adaptive_icon_background: "#ffffff"
adaptive_icon_foreground: "assets/icon/halkyon_train_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