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

@ -43,6 +43,7 @@ class TranslationsEs extends Translations with BaseTranslations<AppLocale, Trans
@override late final _Translations$common$es common = _Translations$common$es._(_root);
@override late final _Translations$home$es home = _Translations$home$es._(_root);
@override late final _Translations$menu$es menu = _Translations$menu$es._(_root);
@override late final _Translations$settings$es settings = _Translations$settings$es._(_root);
@override late final _Translations$inventory$es inventory = _Translations$inventory$es._(_root);
@override late final _Translations$quickAdd$es quickAdd = _Translations$quickAdd$es._(_root);
@override late final _Translations$detail$es detail = _Translations$detail$es._(_root);
@ -106,6 +107,21 @@ class _Translations$menu$es extends Translations$menu$en {
@override String get settings => 'Ajustes';
}
// Path: settings
class _Translations$settings$es extends Translations$settings$en {
_Translations$settings$es._(TranslationsEs root) : this._root = root, super.internal(root);
final TranslationsEs _root; // ignore: unused_field
// Translations
@override String get language => 'Idioma';
@override String get systemLanguage => 'Idioma del sistema';
@override String get langEs => 'Español';
@override String get langEn => 'English';
@override String get about => 'Acerca de';
@override String get aboutText => 'Inventario local y cifrado para semillas tradicionales. AGPL-3.0.';
}
// Path: inventory
class _Translations$inventory$es extends Translations$inventory$en {
_Translations$inventory$es._(TranslationsEs root) : this._root = root, super.internal(root);
@ -529,6 +545,12 @@ extension on TranslationsEs {
'menu.wishlist' => 'Lista de deseos',
'menu.following' => 'Siguiendo',
'menu.settings' => 'Ajustes',
'settings.language' => 'Idioma',
'settings.systemLanguage' => 'Idioma del sistema',
'settings.langEs' => 'Español',
'settings.langEn' => 'English',
'settings.about' => 'Acerca de',
'settings.aboutText' => 'Inventario local y cifrado para semillas tradicionales. AGPL-3.0.',
'inventory.title' => 'Inventario',
'inventory.searchHint' => 'Buscar semillas',
'inventory.empty' => 'Aún no hay semillas. Toca + para añadir la primera.',