navigate to home page after finished shopping

This commit is contained in:
Mikkel Troels Kongsted 2025-03-04 09:56:11 +01:00
parent 17f2392ab6
commit bfadc046d6
5 changed files with 28 additions and 16 deletions

View File

@ -9,7 +9,7 @@ import 'package:mobile/repos/product.dart';
import 'package:mobile/repos/receipt.dart';
import 'package:mobile/repos/user.dart';
import 'package:provider/provider.dart';
import 'package:mobile/repos/bottom_navigation_bar.dart';
import 'package:mobile/repos/routing.dart';
void main() {
runApp(const MyApp());
@ -22,7 +22,7 @@ class MyApp extends StatelessWidget {
Widget build(BuildContext context) {
return MultiProvider(
providers: [
ChangeNotifierProvider(create: (_) => BottomNavigationBarRepo()),
ChangeNotifierProvider(create: (_) => Routing()),
ChangeNotifierProvider(create: (_) => ProductRepo()),
ChangeNotifierProvider(create: (_) => CartRepo()),
ChangeNotifierProvider(create: (_) => ReceiptRepo()),

View File

@ -3,7 +3,7 @@ import 'package:mobile/pages/all_products_page.dart';
import 'package:mobile/pages/cart_page.dart';
import 'package:mobile/pages/all_receipts_page.dart';
import 'package:mobile/pages/home_page.dart';
import 'package:mobile/repos/bottom_navigation_bar.dart';
import 'package:mobile/repos/routing.dart';
import 'package:mobile/repos/cart.dart';
import 'package:mobile/repos/user.dart';
import 'package:provider/provider.dart';
@ -26,14 +26,14 @@ class Dashboard extends StatelessWidget {
@override
Widget build(BuildContext context) {
final pageIndexProvider = Provider.of<BottomNavigationBarRepo>(context);
final pageIndexProvider = Provider.of<Routing>(context);
int currentIndex = pageIndexProvider.currentIndex;
final CartRepo cartRepo = context.watch<CartRepo>();
return Scaffold(
bottomNavigationBar: BottomNavigationBar(
type: BottomNavigationBarType.fixed,
onTap: (index) => pageIndexProvider.setIndex(index),
onTap: (index) => pageIndexProvider.routeToIndex(index),
currentIndex: currentIndex,
items: <BottomNavigationBarItem>[
BottomNavigationBarItem(

View File

@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:mobile/repos/routing.dart';
import 'package:mobile/repos/cart.dart';
import 'package:mobile/repos/paying_state.dart';
import 'package:mobile/repos/receipt.dart';
@ -86,7 +87,11 @@ class FinishShoppingPage extends StatelessWidget {
await Future.delayed(const Duration(seconds: 1));
cartRepo.clearCart();
payingStateRepo.reset();
if (context.mounted) Navigator.pop(context);
if (context.mounted) {
Navigator.pop(context);
final Routing routing = context.read<Routing>();
routing.routeTo(PageSelector.homePage);
}
},
child: const Text("Betal"))),
),

View File

@ -1,10 +0,0 @@
import 'package:flutter/material.dart';
class BottomNavigationBarRepo extends ChangeNotifier {
int currentIndex = 0;
void setIndex(int index) {
currentIndex = index;
notifyListeners();
}
}

View File

@ -0,0 +1,17 @@
import 'package:flutter/material.dart';
enum PageSelector { homePage, productsPage, cartPage, receiptsPage }
class Routing extends ChangeNotifier {
int currentIndex = 0;
void routeTo(PageSelector page) {
currentIndex = page.index;
notifyListeners();
}
void routeToIndex(int index) {
currentIndex = index;
notifyListeners();
}
}