── Navigation ── Pages arrived from the right and left to the right. Right is the direction the system back gesture drags, so a page leaving under a button press read as a swipe nobody made — and every push in this app is a layer over the one before it, which arrives from below. The axis is vertical now: the incoming page rises and covers, the page underneath stays put and dims, and back drops the top page off the bottom. Full travel rather than the old 14% nudge, which is what makes the direction nameable. test/page_transition_test.dart holds it. ── Home ── The pickup pill is back under the greeting. It was cut on the argument that the form below already carried the pickup; the form is four hundred points down the screen, and a location you can only see by scrolling to a form is a location you do not trust. It shows the locality while the form keeps the door, so the screen answers one question once, and it now has a resolving state — it used to print the last place you were, confidently, while the fix was still in flight. The sphere's caption was falling off the screen. Adding the pill pushed it out of the scroll viewport, silently, with no overflow warning — the fourth time Home growing has clipped something under the sphere. DmBookOrb.field is no longer a constant: the glow gives way to whatever is left, the sphere never does. ── 74 points of dead canvas, on every root ── Home, Orders and Account each cleared the floating tab bar by `MediaQuery.paddingOf(context).bottom + 74`, on the reasoning that the inset is the home indicator and 74 is the bar above it. Scaffold with extendBody replaces the body's bottom padding with the bar's whole laid-out height — measured, a 34pt inset and this bar hand the body 106. They were clearing the bar, then clearing it again. One helper now, dmTabBarClear(). ── One journey, one vocabulary ── Review said ORIGIN/DESTINATION; Home's form and tracking say PICKUP/DROP. Three screens a customer walks in order. The tracking card had already written down the argument; the booking screen hadn't followed. The rail's first milestone read "Booking created" directly above "Order created" — down the rail: created, created, in transit. It is "Pickup booked", which is what JourneyStage.milestoneLabel has called that stage all along on Orders and on Home's live row. ── The launcher icon ── tool/icons.py renders all twenty-eight files from one master, because the failure mode of exporting by hand is nineteen replaced and nine left on the old mark, at the density nobody checks. The master is a bare mark on a field, so it cannot be dropped into Android's adaptive canvas whole: crimson is the background, the white mark is the foreground, and it is sized by its reach from the canvas centre so a round mask cannot take the arrow tip. Measured on the built file: 63.7dp against a 66dp safe zone. A real monochrome layer replaces the colour foreground that was standing in for one — the system tints by alpha, so that themed as a blob. ic_launcher_round.png exists at last; minSdk is 24 and android:roundIcon had nothing to resolve to below API 26. The artwork is flattened (the source vignettes over ten values of red) and its horizontal offset is placed deliberately rather than inherited — geometric centring made the mark lean, because the arrow carries the bounding box right while contributing almost none of the ink. ── Bundle ── pubspec declared assets/images/ as a folder, which shipped the 974 KB icon master to every customer for a file no code opens. Named explicitly now.
150 lines
6.3 KiB
YAML
150 lines
6.3 KiB
YAML
name: doormile_cx
|
|
description: "Doormile — book a pickup from your door, track it to delivery."
|
|
# The following line prevents the package from being accidentally published to
|
|
# pub.dev using `flutter pub publish`. This is preferred for private packages.
|
|
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
|
|
|
# The following defines the version and build number for your application.
|
|
# A version number is three numbers separated by dots, like 1.2.43
|
|
# followed by an optional build number separated by a +.
|
|
# Both the version and the builder number may be overridden in flutter
|
|
# build by specifying --build-name and --build-number, respectively.
|
|
# In Android, build-name is used as versionName while build-number used as versionCode.
|
|
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
|
|
# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion.
|
|
# Read more about iOS versioning at
|
|
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
|
# In Windows, build-name is used as the major, minor, and patch parts
|
|
# of the product and file versions while build-number is used as the build suffix.
|
|
version: 1.0.0+1
|
|
|
|
environment:
|
|
sdk: ^3.13.2
|
|
|
|
# Dependencies specify other packages that your package needs in order to work.
|
|
# To automatically upgrade your package dependencies to the latest versions
|
|
# consider running `flutter pub upgrade --major-versions`. Alternatively,
|
|
# dependencies can be manually updated by changing the version numbers below to
|
|
# the latest version available on pub.dev. To see which dependencies have newer
|
|
# versions available, run `flutter pub outdated`.
|
|
dependencies:
|
|
flutter:
|
|
sdk: flutter
|
|
|
|
# The following adds the Cupertino Icons font to your application.
|
|
# Use with the CupertinoIcons class for iOS style icons.
|
|
cupertino_icons: ^1.0.8
|
|
|
|
# Lucide — the icon set the whole UI draws from.
|
|
#
|
|
# Material's stock glyphs are heavy, inconsistently weighted and instantly
|
|
# recognisable as "default Flutter". Lucide is a single 1.5px-stroke family,
|
|
# so an icon sits at the same visual weight as the type beside it instead of
|
|
# shouting over it. Same set the Miler rider app uses, so the two apps in
|
|
# this repo read as one product.
|
|
lucide_icons_flutter: ^3.1.17
|
|
flutter_map: ^8.3.2
|
|
latlong2: ^0.10.1
|
|
# Pinned below 14.0.3: that patch pulls geolocator_linux 0.2.6, which pins
|
|
# win32 ^6 through package_info_plus and makes flutter_secure_storage 9.x
|
|
# unsolvable. 10/11.x of that package need compileSdk 37, which this
|
|
# project's Android Gradle plugin does not support. Neither desktop plugin
|
|
# ships here; the constraint is pub's arithmetic, not a runtime need.
|
|
geolocator: 14.0.2
|
|
|
|
# Networking. `http` is the whole transport — every call goes through
|
|
# `ApiClient`, which is the only place in the app that knows about it.
|
|
http: ^1.5.0
|
|
|
|
# Session persistence. Refresh tokens live 60 days and rotate on every use,
|
|
# so they belong in the keychain / EncryptedSharedPreferences, not in a
|
|
# plaintext preferences file.
|
|
flutter_secure_storage: ^9.2.4
|
|
flutter_animate: ^4.5.2
|
|
lottie: ^3.6.1
|
|
|
|
dev_dependencies:
|
|
flutter_test:
|
|
sdk: flutter
|
|
integration_test:
|
|
sdk: flutter
|
|
|
|
# The "flutter_lints" package below contains a set of recommended lints to
|
|
# encourage good coding practices. The lint set provided by the package is
|
|
# activated in the `analysis_options.yaml` file located at the root of your
|
|
# package. See that file for information about deactivating specific lint
|
|
# rules and activating additional ones.
|
|
flutter_lints: ^6.0.0
|
|
|
|
# For information on the generic Dart part of this file, see the
|
|
# following page: https://dart.dev/tools/pub/pubspec
|
|
|
|
# The following section is specific to Flutter packages.
|
|
flutter:
|
|
|
|
# The following line ensures that the Material Icons font is
|
|
# included with your application, so that you can use the icons in
|
|
# the material Icons class.
|
|
uses-material-design: true
|
|
|
|
# Switzer (Indian Type Foundry, via Fontshare) is the app's voice as of
|
|
# 2026-09-23. One variable file, so the weight is selected through the `wght`
|
|
# axis in `DmText` rather than by bundling a file per cut.
|
|
#
|
|
# It replaced Poppins, which has no variable release: four static cuts at
|
|
# ~155 KB each, 625 KB of sans. This is 141 KB and covers 100-900.
|
|
fonts:
|
|
- family: PlusJakartaSans
|
|
fonts:
|
|
- asset: assets/fonts/PlusJakartaSans-Variable.ttf
|
|
- family: Switzer
|
|
fonts:
|
|
- asset: assets/fonts/Switzer-Variable.ttf
|
|
- family: GeistMono
|
|
fonts:
|
|
- asset: assets/fonts/GeistMono-VF.ttf
|
|
|
|
assets:
|
|
# ── Named one by one, not as a folder ──
|
|
#
|
|
# `assets/images/` bundled the whole directory, and that directory is also
|
|
# where the launcher-icon master lives — 974 KB of PNG that `tool/icons.py`
|
|
# reads at build time on a developer's machine and the app never loads.
|
|
# Declaring the folder shipped it to every customer, along with anything
|
|
# else dropped in there to work from. These two are the only images any
|
|
# code actually opens; see `splash_screen.dart` and `auth_scaffold.dart`.
|
|
- assets/images/doormile-icon.png
|
|
- assets/images/doormile-logo.png
|
|
- assets/animations/
|
|
|
|
# To add assets to your application, add an assets section, like this:
|
|
# assets:
|
|
# - images/a_dot_burr.jpeg
|
|
# - images/a_dot_ham.jpeg
|
|
|
|
# An image asset can refer to one or more resolution-specific "variants", see
|
|
# https://flutter.dev/to/resolution-aware-images
|
|
|
|
# For details regarding adding assets from package dependencies, see
|
|
# https://flutter.dev/to/asset-from-package
|
|
|
|
# To add custom fonts to your application, add a fonts section here,
|
|
# in this "flutter" section. Each entry in this list should have a
|
|
# "family" key with the font family name, and a "fonts" key with a
|
|
# list giving the asset and other descriptors for the font. For
|
|
# example:
|
|
# fonts:
|
|
# - family: Schyler
|
|
# fonts:
|
|
# - asset: fonts/Schyler-Regular.ttf
|
|
# - asset: fonts/Schyler-Italic.ttf
|
|
# style: italic
|
|
# - family: Trajan Pro
|
|
# fonts:
|
|
# - asset: fonts/TrajanPro.ttf
|
|
# - asset: fonts/TrajanPro_Bold.ttf
|
|
# weight: 700
|
|
#
|
|
# For details regarding fonts from package dependencies,
|
|
# see https://flutter.dev/to/font-from-package
|