1
0
Fork 0

Add bloc provider

bloc
Jonas Franz 2 years ago
parent dfbd608f8c
commit 3708677863
  1. 27
      lib/app.dart
  2. 26
      lib/bloc_provider.dart

@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:thesis_shop/bloc_provider.dart';
import 'package:thesis_shop/route_key.dart';
import 'package:thesis_shop/screens/cart/cart_screen.dart';
import 'package:thesis_shop/screens/product_list/product_list_screen.dart';
@ -12,18 +13,22 @@ class ThesisShopApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Thesis Shop',
theme: ThemeData(primarySwatch: Colors.red),
darkTheme: ThemeData(
primarySwatch: Colors.red,
brightness: Brightness.dark,
final blocProvider = BlocProvider();
return AppState(
blocs: blocProvider,
child: MaterialApp(
title: 'Thesis Shop',
theme: ThemeData(primarySwatch: Colors.red),
darkTheme: ThemeData(
primarySwatch: Colors.red,
brightness: Brightness.dark,
),
routes: {
RouteKey.products: (context) => const ProductListScreen(),
RouteKey.cart: (context) => const CartScreen(),
}.mapKeys((key) => key.name),
initialRoute: 'products',
),
routes: {
RouteKey.products: (context) => const ProductListScreen(),
RouteKey.cart: (context) => const CartScreen(),
}.mapKeys((key) => key.name),
initialRoute: 'products',
);
}
}

@ -0,0 +1,26 @@
import 'package:flutter/material.dart';
class BlocProvider {
// TODO TBD
}
class AppState extends InheritedWidget {
final BlocProvider blocs;
const AppState({
Key? key,
required this.blocs,
required Widget child,
}) : super(key: key, child: child);
static AppState of(BuildContext context) {
final AppState? result =
context.dependOnInheritedWidgetOfExactType<AppState>();
assert(result != null, 'No AppState found in context');
return result!;
}
@override
bool updateShouldNotify(AppState oldWidget) {
return true;
}
}
Loading…
Cancel
Save