feat: implement grid layout for recipes with column selection and improve pantry product picker

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
Nils-Johan Gynther
2026-04-24 23:34:34 +02:00
parent 4919384039
commit fe3d8581a8
6 changed files with 110 additions and 90 deletions
+17
View File
@@ -3,6 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
import '../../features/auth/data/auth_providers.dart';
import '../../features/recipes/data/recipes_grid_provider.dart';
const _adminDestination = _AppDestination(
path: '/admin',
@@ -94,10 +95,26 @@ class AppShell extends ConsumerWidget {
}
}
final isRecipesRoute = location.startsWith('/recipes') &&
!location.startsWith('/recipes/');
return Scaffold(
appBar: AppBar(
title: Text(selectedDestination.title),
actions: [
if (isRecipesRoute)
PopupMenuButton<int>(
icon: const Icon(Icons.grid_view),
tooltip: 'Välj antal kolumner',
onSelected: (columns) =>
ref.read(recipesGridProvider.notifier).setColumns(columns),
itemBuilder: (context) => const [
PopupMenuItem(value: 2, child: Text('2 kolumner')),
PopupMenuItem(value: 4, child: Text('4 kolumner')),
PopupMenuItem(value: 6, child: Text('6 kolumner')),
PopupMenuItem(value: 8, child: Text('8 kolumner')),
],
),
IconButton(
tooltip: 'Logga ut',
icon: const Icon(Icons.logout),