miler map

This commit is contained in:
2026-09-09 12:55:23 +05:30
parent 074cc0eccf
commit 127fa062ed
143 changed files with 4315 additions and 2291 deletions

View File

@@ -75,6 +75,7 @@ dependencies:
animated_toggle_switch: ^0.8.7
another_flushbar: ^2.2.4
lucide_icons_flutter: ^3.1.17
tab_container: ^3.5.3
dev_dependencies:
flutter_test:
@@ -86,13 +87,51 @@ dev_dependencies:
image_picker_platform_interface: ^2.10.0
# ── The launcher icon looked small, and the manifest was not the reason ──
#
# `android:icon="@mipmap/ic_launcher"` only names the resource; how large the
# mark *reads* on the home screen is decided by the artwork and by whether the
# icon is adaptive. Both were working against it:
#
# 1. `doormile_icon.png` is 1024x1024 with the mark occupying 684px of it —
# 170px of transparent margin on every side, so a third of the icon was
# empty before Android touched it.
# 2. There was no `adaptive_icon_foreground`, so no `mipmap-anydpi-v26` was
# generated. Android 8+ falls back to *legacy treatment* for a plain PNG:
# it shrinks the bitmap to roughly three-quarters and centres it on a white
# rounded backdrop it draws itself. Stacked on the margin above, the mark
# ended up at about half the width of the icons beside it.
#
# So the fix is two pre-sized sources, not a manifest attribute:
#
# • **foreground** — the mark alone at 61% of the canvas, which is the 66dp
# safe zone of the 108dp adaptive canvas. Everything outside that is what
# the launcher's mask cuts away, and a circle mask on this circular mark
# now meets its edge.
# • **legacy / iOS** — the mark at 80% on white, because neither is masked the
# way an adaptive icon is and both are square.
#
# `adaptive_icon_foreground_inset: 0` because the padding is already baked into
# the foreground at the exact safe-zone ratio; the tool's default 16 would add
# a second margin and undo the change.
#
# `doormile_icon.png` is deliberately left alone — `flutter_native_splash`
# below still uses it, and the splash wants the airier framing.
#
# The two generated sources live in `launcher_icon/` rather than
# `assets/images/`, which is globbed wholesale into the bundle: they are
# build-time inputs for this tool and have no business being shipped inside the
# APK the tool produces.
flutter_launcher_icons:
android: true
ios: true
web:
generate: true
image_path: "assets/images/doormile_icon.png"
image_path: "assets/images/doormile_icon.png"
image_path: "launcher_icon/doormile_icon_legacy.png"
image_path: "launcher_icon/doormile_icon_legacy.png"
adaptive_icon_background: "#FFFFFF"
adaptive_icon_foreground: "launcher_icon/doormile_icon_foreground.png"
adaptive_icon_foreground_inset: 0
remove_alpha_ios: true
flutter_native_splash:
color: "#FFFFFF"
@@ -128,19 +167,23 @@ flutter:
- family: PlusJakartaSans
fonts:
- asset: assets/fonts/PlusJakartaSans/PlusJakartaSans-VF.ttf
# ── The app's typeface ──
# ── Declared, correct, and currently unused ──
#
# Declared as `poppins` with a lowercase path on every asset — and the files
# on disk are `assets/fonts/Poppins/Poppins-*.ttf`. Asset bundling is
# case-sensitive on both platforms, so not one of these seven resolved and
# the family had never rendered a single glyph. Anything asking for it fell
# back to Roboto, silently.
# The parcel line reads Manrope (FontConstants.fontFamily) and the delivery
# line reads Proxima Nova; nothing asks for Poppins today. It was briefly
# made the app's typeface and reverted — it runs optically much heavier than
# Manrope at every grade and turned the whole app bold.
#
# All seven static weights are declared because Poppins ships as separate
# files rather than a variable font like Manrope did. The app leans on w800
# and w900 for headings; without those two entries Flutter would synthesise
# them by smearing SemiBold, which is what makes a heading look muddy at
# exactly the size it is meant to be read from.
# The declaration is kept because it is now correct and was not before: it
# said `poppins` with a lowercase path on every asset, while the files on
# disk are `assets/fonts/Poppins/Poppins-*.ttf`. Asset bundling is
# case-sensitive on both platforms, so none of the seven resolved. Leaving
# the fixed version here means the family is one string away if it is ever
# wanted, instead of silently falling back again.
#
# All seven static weights are listed because Poppins ships as separate
# files rather than a variable font the way Manrope does; without explicit
# 800/900 entries Flutter synthesises them by smearing SemiBold.
- family: Poppins
fonts:
- asset: assets/fonts/Poppins/Poppins-Light.ttf