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:
parent
46ef2c61cd
commit
4b209d6752
12 changed files with 196 additions and 9 deletions
|
|
@ -23,6 +23,14 @@
|
|||
"following": "Following",
|
||||
"settings": "Settings"
|
||||
},
|
||||
"settings": {
|
||||
"language": "Language",
|
||||
"systemLanguage": "System language",
|
||||
"langEs": "Español",
|
||||
"langEn": "English",
|
||||
"about": "About",
|
||||
"aboutText": "Local-first, encrypted inventory for traditional seeds. AGPL-3.0."
|
||||
},
|
||||
"inventory": {
|
||||
"title": "Inventory",
|
||||
"searchHint": "Search seeds",
|
||||
|
|
|
|||
|
|
@ -23,6 +23,14 @@
|
|||
"following": "Siguiendo",
|
||||
"settings": "Ajustes"
|
||||
},
|
||||
"settings": {
|
||||
"language": "Idioma",
|
||||
"systemLanguage": "Idioma del sistema",
|
||||
"langEs": "Español",
|
||||
"langEn": "English",
|
||||
"about": "Acerca de",
|
||||
"aboutText": "Inventario local y cifrado para semillas tradicionales. AGPL-3.0."
|
||||
},
|
||||
"inventory": {
|
||||
"title": "Inventario",
|
||||
"searchHint": "Buscar semillas",
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@
|
|||
/// To regenerate, run: `dart run slang`
|
||||
///
|
||||
/// Locales: 2
|
||||
/// Strings: 244 (122 per locale)
|
||||
/// Strings: 256 (128 per locale)
|
||||
///
|
||||
/// Built on 2026-07-08 at 10:27 UTC
|
||||
/// Built on 2026-07-08 at 12:01 UTC
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: type=lint, unused_import
|
||||
|
|
|
|||
|
|
@ -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.',
|
||||
|
|
|
|||
|
|
@ -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.',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue