mirror of
https://github.com/Mercantec-GHC/h4-projekt-gruppe-0-sm.git
synced 2025-04-28 08:44:06 +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/receipt.dart';
|
||||||
import 'package:mobile/repos/user.dart';
|
import 'package:mobile/repos/user.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:mobile/repos/bottom_navigation_bar.dart';
|
import 'package:mobile/repos/routing.dart';
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
runApp(const MyApp());
|
runApp(const MyApp());
|
||||||
@ -22,7 +22,7 @@ class MyApp extends StatelessWidget {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return MultiProvider(
|
return MultiProvider(
|
||||||
providers: [
|
providers: [
|
||||||
ChangeNotifierProvider(create: (_) => BottomNavigationBarRepo()),
|
ChangeNotifierProvider(create: (_) => Routing()),
|
||||||
ChangeNotifierProvider(create: (_) => ProductRepo()),
|
ChangeNotifierProvider(create: (_) => ProductRepo()),
|
||||||
ChangeNotifierProvider(create: (_) => CartRepo()),
|
ChangeNotifierProvider(create: (_) => CartRepo()),
|
||||||
ChangeNotifierProvider(create: (_) => ReceiptRepo()),
|
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/cart_page.dart';
|
||||||
import 'package:mobile/pages/all_receipts_page.dart';
|
import 'package:mobile/pages/all_receipts_page.dart';
|
||||||
import 'package:mobile/pages/home_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/cart.dart';
|
||||||
import 'package:mobile/repos/user.dart';
|
import 'package:mobile/repos/user.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@ -26,14 +26,14 @@ class Dashboard extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final pageIndexProvider = Provider.of<BottomNavigationBarRepo>(context);
|
final pageIndexProvider = Provider.of<Routing>(context);
|
||||||
int currentIndex = pageIndexProvider.currentIndex;
|
int currentIndex = pageIndexProvider.currentIndex;
|
||||||
final CartRepo cartRepo = context.watch<CartRepo>();
|
final CartRepo cartRepo = context.watch<CartRepo>();
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
bottomNavigationBar: BottomNavigationBar(
|
bottomNavigationBar: BottomNavigationBar(
|
||||||
type: BottomNavigationBarType.fixed,
|
type: BottomNavigationBarType.fixed,
|
||||||
onTap: (index) => pageIndexProvider.setIndex(index),
|
onTap: (index) => pageIndexProvider.routeToIndex(index),
|
||||||
currentIndex: currentIndex,
|
currentIndex: currentIndex,
|
||||||
items: <BottomNavigationBarItem>[
|
items: <BottomNavigationBarItem>[
|
||||||
BottomNavigationBarItem(
|
BottomNavigationBarItem(
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:mobile/repos/routing.dart';
|
||||||
import 'package:mobile/repos/cart.dart';
|
import 'package:mobile/repos/cart.dart';
|
||||||
import 'package:mobile/repos/paying_state.dart';
|
import 'package:mobile/repos/paying_state.dart';
|
||||||
import 'package:mobile/repos/receipt.dart';
|
import 'package:mobile/repos/receipt.dart';
|
||||||
@ -86,7 +87,11 @@ class FinishShoppingPage extends StatelessWidget {
|
|||||||
await Future.delayed(const Duration(seconds: 1));
|
await Future.delayed(const Duration(seconds: 1));
|
||||||
cartRepo.clearCart();
|
cartRepo.clearCart();
|
||||||
payingStateRepo.reset();
|
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"))),
|
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