mirror of
https://github.com/Mercantec-GHC/h4-projekt-gruppe-0-sm.git
synced 2025-04-27 16:24:07 +02:00
navigate to home page after finished shopping
This commit is contained in:
parent
17f2392ab6
commit
bfadc046d6
@ -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()),
|
||||
|
@ -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(
|
||||
|
@ -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"))),
|
||||
),
|
||||
|
@ -1,10 +0,0 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class BottomNavigationBarRepo extends ChangeNotifier {
|
||||
int currentIndex = 0;
|
||||
|
||||
void setIndex(int index) {
|
||||
currentIndex = index;
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
17
mobile/lib/repos/routing.dart
Normal file
17
mobile/lib/repos/routing.dart
Normal 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();
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user