feat(shell): home menu + navigation drawer (mockups 02/03)

The app now opens on a main menu instead of straight into the list:
- HomeScreen (mockup 02): sprout logo over a faint seed-glyph watermark, with
  big "Your inventory" (→ /inventory) and "Open market" (Block 2, "coming soon")
  destinations.
- AppDrawer (mockup 03): Inventory is live; the social items (market, profile,
  chat, wishlist, following, settings) are shown disabled with a "coming soon"
  tag so the roadmap is visible. Drawer is available on home and inventory.
- Routing: / → home, /inventory → list, /variety/:id → detail.

Tests: home shows the menu + navigates; drawer opens + navigates. quick-add flow
updated to go home → inventory. 50 green; Linux runs.
This commit is contained in:
vjrj 2026-07-08 12:22:42 +02:00
parent 17073dd560
commit 02a9d5bf39
11 changed files with 472 additions and 8 deletions

View file

@ -41,6 +41,8 @@ class TranslationsEs extends Translations with BaseTranslations<AppLocale, Trans
// Translations
@override late final _Translations$app$es app = _Translations$app$es._(_root);
@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$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);
@ -74,6 +76,34 @@ class _Translations$common$es extends Translations$common$en {
@override String get delete => 'Eliminar';
@override String get edit => 'Editar';
@override String get type => 'Tipo';
@override String get comingSoon => 'Pronto';
}
// Path: home
class _Translations$home$es extends Translations$home$en {
_Translations$home$es._(TranslationsEs root) : this._root = root, super.internal(root);
final TranslationsEs _root; // ignore: unused_field
// Translations
@override String get openMarket => 'Mercado abierto';
@override String get yourInventory => 'Tu inventario';
}
// Path: menu
class _Translations$menu$es extends Translations$menu$en {
_Translations$menu$es._(TranslationsEs root) : this._root = root, super.internal(root);
final TranslationsEs _root; // ignore: unused_field
// Translations
@override String get inventory => 'Inventario';
@override String get market => 'Mercado';
@override String get profile => 'Tu perfil';
@override String get chat => 'Chat';
@override String get wishlist => 'Lista de deseos';
@override String get following => 'Siguiendo';
@override String get settings => 'Ajustes';
}
// Path: inventory
@ -485,6 +515,16 @@ extension on TranslationsEs {
'common.delete' => 'Eliminar',
'common.edit' => 'Editar',
'common.type' => 'Tipo',
'common.comingSoon' => 'Pronto',
'home.openMarket' => 'Mercado abierto',
'home.yourInventory' => 'Tu inventario',
'menu.inventory' => 'Inventario',
'menu.market' => 'Mercado',
'menu.profile' => 'Tu perfil',
'menu.chat' => 'Chat',
'menu.wishlist' => 'Lista de deseos',
'menu.following' => 'Siguiendo',
'menu.settings' => 'Ajustes',
'inventory.title' => 'Inventario',
'inventory.searchHint' => 'Buscar semillas',
'inventory.empty' => 'Aún no hay semillas. Toca + para añadir la primera.',