mirror of
https://github.com/Mercantec-GHC/h4-projekt-gruppe-0-sm.git
synced 2025-04-27 16:24:07 +02:00
repos -> controllers
This commit is contained in:
parent
f1321871c9
commit
afaf0b34db
@ -2,7 +2,7 @@ import 'dart:async';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class AddToCartStateRepo extends ChangeNotifier {
|
||||
class AddToCartStateController extends ChangeNotifier {
|
||||
int currentAmount = 0;
|
||||
Timer resetTimer = Timer(const Duration(), () {});
|
||||
|
@ -3,7 +3,7 @@ import 'package:mobile/models/product.dart';
|
||||
|
||||
class ProductIdException implements Exception {}
|
||||
|
||||
class CartRepo extends ChangeNotifier {
|
||||
class CartController extends ChangeNotifier {
|
||||
final List<CartItem> cart = [];
|
||||
|
||||
List<CartItem> allCartItems() {
|
@ -3,10 +3,10 @@ import 'dart:ui' as ui;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
class LocationImageRepo extends ChangeNotifier {
|
||||
class LocationImageController extends ChangeNotifier {
|
||||
ui.Image? image;
|
||||
|
||||
LocationImageRepo() {
|
||||
LocationImageController() {
|
||||
load();
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class PayingStateRepo extends ChangeNotifier {
|
||||
class PayingStateController extends ChangeNotifier {
|
||||
PayingState state = PayingState.unset;
|
||||
|
||||
void next() {
|
@ -5,11 +5,11 @@ import 'package:mobile/results.dart';
|
||||
import 'package:mobile/server/client.dart';
|
||||
import 'package:mobile/server/server.dart';
|
||||
|
||||
class ProductRepo extends ChangeNotifier {
|
||||
class ProductController extends ChangeNotifier {
|
||||
int _nextId = 0;
|
||||
List<Product> products = [];
|
||||
String query = "";
|
||||
ProductRepo() {
|
||||
ProductController() {
|
||||
_addAllProducts();
|
||||
}
|
||||
|
||||
@ -139,11 +139,11 @@ class ProductRepo extends ChangeNotifier {
|
||||
}
|
||||
}
|
||||
|
||||
class ProductRepoByServer extends ChangeNotifier {
|
||||
class ProductControllerByServer extends ChangeNotifier {
|
||||
final client = BackendServer();
|
||||
List<Product> products = [];
|
||||
String query = "";
|
||||
ProductRepoByServer() {
|
||||
ProductControllerByServer() {
|
||||
fetchProductsFromServer();
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:mobile/models/product.dart';
|
||||
import 'package:mobile/repos/cart.dart';
|
||||
|
||||
class ReceiptRepo extends ChangeNotifier {
|
||||
class ReceiptController extends ChangeNotifier {
|
||||
int nextId = 0;
|
||||
final List<Receipt> receipts = [];
|
||||
|
@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
||||
|
||||
enum PageSelector { homePage, productsPage, cartPage, receiptsPage }
|
||||
|
||||
class Routing extends ChangeNotifier {
|
||||
class RoutingController extends ChangeNotifier {
|
||||
int currentIndex = 0;
|
||||
|
||||
void routeTo(PageSelector page) {
|
@ -1,13 +1,13 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:mobile/results.dart';
|
||||
|
||||
class UsersRepo extends ChangeNotifier {
|
||||
class UsersControllerOld extends ChangeNotifier {
|
||||
int nextId = 0;
|
||||
final List<User> users = [];
|
||||
|
||||
User? _loggedInUser;
|
||||
|
||||
UsersRepo() {
|
||||
UsersControllerOld() {
|
||||
addTestUsers();
|
||||
}
|
||||
|
@ -23,14 +23,14 @@ class MyApp extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
return MultiProvider(
|
||||
providers: [
|
||||
ChangeNotifierProvider(create: (_) => Routing()),
|
||||
ChangeNotifierProvider(create: (_) => ProductRepo()),
|
||||
ChangeNotifierProvider(create: (_) => CartRepo()),
|
||||
ChangeNotifierProvider(create: (_) => ReceiptRepo()),
|
||||
ChangeNotifierProvider(create: (_) => PayingStateRepo()),
|
||||
ChangeNotifierProvider(create: (_) => AddToCartStateRepo()),
|
||||
ChangeNotifierProvider(create: (_) => LocationImageRepo()),
|
||||
ChangeNotifierProvider(create: (_) => UsersRepo()),
|
||||
ChangeNotifierProvider(create: (_) => RoutingController()),
|
||||
ChangeNotifierProvider(create: (_) => ProductController()),
|
||||
ChangeNotifierProvider(create: (_) => CartController()),
|
||||
ChangeNotifierProvider(create: (_) => ReceiptController()),
|
||||
ChangeNotifierProvider(create: (_) => PayingStateController()),
|
||||
ChangeNotifierProvider(create: (_) => AddToCartStateController()),
|
||||
ChangeNotifierProvider(create: (_) => LocationImageController()),
|
||||
ChangeNotifierProvider(create: (_) => UsersControllerOld()),
|
||||
],
|
||||
child: MaterialApp(
|
||||
title: 'Fresh Plaza',
|
||||
|
@ -99,7 +99,7 @@ class AllProductsPage extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final productRepo = Provider.of<ProductRepo>(context);
|
||||
final productRepo = Provider.of<ProductController>(context);
|
||||
return Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
@ -122,7 +122,7 @@ class AllProductsPage extends StatelessWidget {
|
||||
],
|
||||
),
|
||||
Expanded(
|
||||
child: Consumer<ProductRepo>(builder: (_, productRepo, __) {
|
||||
child: Consumer<ProductController>(builder: (_, productRepo, __) {
|
||||
final products = productRepo.filteredProducts;
|
||||
return ListView.builder(
|
||||
shrinkWrap: true,
|
||||
|
@ -43,7 +43,7 @@ class AllReceiptsPage extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
return Column(
|
||||
children: [
|
||||
Expanded(child: Consumer<ReceiptRepo>(
|
||||
Expanded(child: Consumer<ReceiptController>(
|
||||
builder: (_, receiptRepo, __) {
|
||||
final allReceipts = receiptRepo.sortedReceiptsByDate();
|
||||
return ListView.builder(
|
||||
|
@ -14,7 +14,7 @@ import 'package:mobile/widgets/sized_card.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class CartItemView extends StatelessWidget {
|
||||
final CartRepo cartRepo;
|
||||
final CartController cartRepo;
|
||||
final int productId;
|
||||
final String name;
|
||||
final int price;
|
||||
@ -152,7 +152,7 @@ class CartPage extends StatelessWidget {
|
||||
return Column(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Consumer<CartRepo>(
|
||||
child: Consumer<CartController>(
|
||||
builder: (_, cartRepo, __) {
|
||||
final cart = cartRepo.allCartItems();
|
||||
return ListView.builder(
|
||||
@ -202,10 +202,11 @@ class CartPage extends StatelessWidget {
|
||||
child: const Text("Cancel")),
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
final productRepo =
|
||||
context.read<ProductRepo>();
|
||||
final CartRepo cartRepo =
|
||||
context.read<CartRepo>();
|
||||
final productRepo = context
|
||||
.read<ProductController>();
|
||||
final CartController cartRepo =
|
||||
context
|
||||
.read<CartController>();
|
||||
final productResult = productRepo
|
||||
.productWithBarcode(
|
||||
inputController.text);
|
||||
@ -261,9 +262,10 @@ class CartPage extends StatelessWidget {
|
||||
if (!context.mounted) {
|
||||
return;
|
||||
}
|
||||
final CartRepo cartRepo =
|
||||
context.read<CartRepo>();
|
||||
final productRepo = context.read<ProductRepo>();
|
||||
final CartController cartRepo =
|
||||
context.read<CartController>();
|
||||
final productRepo =
|
||||
context.read<ProductController>();
|
||||
final productResult = productRepo
|
||||
.productWithBarcode(result.rawContent);
|
||||
switch (productResult) {
|
||||
|
@ -26,9 +26,9 @@ class Dashboard extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final pageIndexProvider = Provider.of<Routing>(context);
|
||||
final pageIndexProvider = Provider.of<RoutingController>(context);
|
||||
int currentIndex = pageIndexProvider.currentIndex;
|
||||
final CartRepo cartRepo = context.watch<CartRepo>();
|
||||
final CartController cartRepo = context.watch<CartController>();
|
||||
|
||||
return Scaffold(
|
||||
bottomNavigationBar: BottomNavigationBar(
|
||||
|
@ -17,9 +17,10 @@ class FinishShoppingPage extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final CartRepo cartRepo = context.read<CartRepo>();
|
||||
final ReceiptRepo receiptRepo = context.read<ReceiptRepo>();
|
||||
final PayingStateRepo payingStateRepo = context.watch<PayingStateRepo>();
|
||||
final CartController cartRepo = context.read<CartController>();
|
||||
final ReceiptController receiptRepo = context.read<ReceiptController>();
|
||||
final PayingStateController payingStateRepo =
|
||||
context.watch<PayingStateController>();
|
||||
final cart = cartRepo.allCartItems();
|
||||
|
||||
return Scaffold(
|
||||
@ -87,7 +88,8 @@ class FinishShoppingPage extends StatelessWidget {
|
||||
payingStateRepo.reset();
|
||||
if (context.mounted) {
|
||||
Navigator.pop(context);
|
||||
final Routing routing = context.read<Routing>();
|
||||
final RoutingController routing =
|
||||
context.read<RoutingController>();
|
||||
routing.routeTo(PageSelector.homePage);
|
||||
}
|
||||
},
|
||||
|
@ -33,7 +33,7 @@ class HomePage extends StatelessWidget {
|
||||
color: Color(0xFFFFFFFF),
|
||||
),
|
||||
padding: const EdgeInsets.all(10),
|
||||
child: Consumer<UsersRepo>(
|
||||
child: Consumer<UsersControllerOld>(
|
||||
builder: (context, usersRepo, _) => Text(
|
||||
"Saldo: ${formatDkkCents(user.balanceInDkkCents)}",
|
||||
style: Theme.of(context).textTheme.headlineSmall)),
|
||||
|
@ -62,7 +62,7 @@ class LogInFormState extends State<LogInForm> {
|
||||
),
|
||||
PrimaryButton(
|
||||
onPressed: () {
|
||||
final usersRepo = context.read<UsersRepo>();
|
||||
final usersRepo = context.read<UsersControllerOld>();
|
||||
final loginResult =
|
||||
usersRepo.login(mailController.text, passwordController.text);
|
||||
|
||||
|
@ -21,7 +21,8 @@ class ProductLocationPage extends StatelessWidget {
|
||||
Text(product.name),
|
||||
],
|
||||
),
|
||||
Consumer<LocationImageRepo>(builder: (context, locationImage, child) {
|
||||
Consumer<LocationImageController>(
|
||||
builder: (context, locationImage, child) {
|
||||
if (locationImage.image == null) {
|
||||
return const CircularProgressIndicator(
|
||||
color: Colors.blue,
|
||||
|
@ -14,8 +14,8 @@ class ProductPage extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final AddToCartStateRepo addToCartStateRepo =
|
||||
context.watch<AddToCartStateRepo>();
|
||||
final AddToCartStateController addToCartStateRepo =
|
||||
context.watch<AddToCartStateController>();
|
||||
return Scaffold(
|
||||
backgroundColor: Colors.white,
|
||||
body: SafeArea(
|
||||
@ -90,7 +90,7 @@ class ProductPage extends StatelessWidget {
|
||||
duration: const Duration(seconds: 2),
|
||||
);
|
||||
ScaffoldMessenger.of(context).removeCurrentSnackBar();
|
||||
final cartRepo = context.read<CartRepo>();
|
||||
final cartRepo = context.read<CartController>();
|
||||
cartRepo.addToCart(product);
|
||||
ScaffoldMessenger.of(context).showSnackBar(snackBar);
|
||||
},
|
||||
|
@ -71,7 +71,7 @@ class RegisterFormState extends State<RegisterForm> {
|
||||
obscure: true),
|
||||
PrimaryButton(
|
||||
onPressed: () {
|
||||
final usersRepo = context.read<UsersRepo>();
|
||||
final usersRepo = context.read<UsersControllerOld>();
|
||||
if (usersRepo.addUser(nameController.text, mailController.text,
|
||||
passwordController.text) is Ok) {
|
||||
setState(() => registerError = false);
|
||||
|
@ -31,7 +31,7 @@ class SettingsPage extends StatelessWidget {
|
||||
icon: Icons.door_back_door,
|
||||
title: "Log ud",
|
||||
action: (context) {
|
||||
final users = context.read<UsersRepo>();
|
||||
final users = context.read<UsersControllerOld>();
|
||||
users.logout();
|
||||
Navigator.popUntil(context, (_) => false);
|
||||
Navigator.of(context)
|
||||
|
@ -8,7 +8,7 @@ class SaldoSettingsPage extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final usersRepo = context.watch<UsersRepo>();
|
||||
final usersRepo = context.watch<UsersControllerOld>();
|
||||
final user = usersRepo.loggedInUser()!;
|
||||
return Scaffold(
|
||||
backgroundColor: Colors.white,
|
||||
|
Loading…
x
Reference in New Issue
Block a user