You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.2 KiB
36 lines
1.2 KiB
import 'package:flutter/material.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.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';
|
|
import 'package:thesis_shop/service/product_service.dart';
|
|
import 'package:thesis_shop/stores/product_service_provider.dart';
|
|
import 'package:thesis_shop/utils/map_keys_extension.dart';
|
|
|
|
class ThesisShopApp extends StatelessWidget {
|
|
final ProductService productService;
|
|
const ThesisShopApp({Key? key, required this.productService})
|
|
: super(key: key);
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return ProviderScope(
|
|
overrides: [
|
|
productServiceProvider.overrideWithValue(productService),
|
|
],
|
|
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',
|
|
),
|
|
);
|
|
}
|
|
}
|
|
|