feat(shell): real sprout logo on home + basic Settings screen

- Bundle the real sprout logo (docs/logo.png → assets/logo.png) and show it on
  the home menu instead of a Material icon.
- Settings screen: switch language (Español / English / system) via slang, plus
  an About tile (logo, app name, one-line description). Drawer "Settings" is now
  active and routes to /settings.

Tests: drawer Settings opens the screen and shows the language options. 54 green.
This commit is contained in:
vjrj 2026-07-08 14:05:12 +02:00
parent 46ef2c61cd
commit 4b209d6752
12 changed files with 196 additions and 9 deletions

View file

@ -44,6 +44,7 @@ class Translations with BaseTranslations<AppLocale, Translations> {
late final Translations$common$en common = Translations$common$en.internal(_root);
late final Translations$home$en home = Translations$home$en.internal(_root);
late final Translations$menu$en menu = Translations$menu$en.internal(_root);
late final Translations$settings$en settings = Translations$settings$en.internal(_root);
late final Translations$inventory$en inventory = Translations$inventory$en.internal(_root);
late final Translations$quickAdd$en quickAdd = Translations$quickAdd$en.internal(_root);
late final Translations$detail$en detail = Translations$detail$en.internal(_root);
@ -139,6 +140,33 @@ class Translations$menu$en {
String get settings => 'Settings';
}
// Path: settings
class Translations$settings$en {
Translations$settings$en.internal(this._root);
final Translations _root; // ignore: unused_field
// Translations
/// en: 'Language'
String get language => 'Language';
/// en: 'System language'
String get systemLanguage => 'System language';
/// en: 'Español'
String get langEs => 'Español';
/// en: 'English'
String get langEn => 'English';
/// en: 'About'
String get about => 'About';
/// en: 'Local-first, encrypted inventory for traditional seeds. AGPL-3.0.'
String get aboutText => 'Local-first, encrypted inventory for traditional seeds. AGPL-3.0.';
}
// Path: inventory
class Translations$inventory$en {
Translations$inventory$en.internal(this._root);
@ -752,6 +780,12 @@ extension on Translations {
'menu.wishlist' => 'Wishlist',
'menu.following' => 'Following',
'menu.settings' => 'Settings',
'settings.language' => 'Language',
'settings.systemLanguage' => 'System language',
'settings.langEs' => 'Español',
'settings.langEn' => 'English',
'settings.about' => 'About',
'settings.aboutText' => 'Local-first, encrypted inventory for traditional seeds. AGPL-3.0.',
'inventory.title' => 'Inventory',
'inventory.searchHint' => 'Search seeds',
'inventory.empty' => 'No seeds yet. Tap + to add your first.',