Files
FlutterEbookApp/lib/main.dart
2020-05-31 03:46:39 +01:00

55 lines
1.9 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_ebook_app/util/consts.dart';
import 'package:flutter_ebook_app/util/functions.dart';
import 'package:flutter_ebook_app/util/theme_config.dart';
import 'package:flutter_ebook_app/view_models/app_provider.dart';
import 'package:flutter_ebook_app/view_models/details_provider.dart';
import 'package:flutter_ebook_app/view_models/favorites_provider.dart';
import 'package:flutter_ebook_app/view_models/genre_provider.dart';
import 'package:flutter_ebook_app/view_models/home_provider.dart';
import 'package:flutter_ebook_app/views/splash.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:provider/provider.dart';
void main() {
runApp(
MultiProvider(
providers: [
ChangeNotifierProvider(create: (_) => AppProvider()),
ChangeNotifierProvider(create: (_) => HomeProvider()),
ChangeNotifierProvider(create: (_) => DetailsProvider()),
ChangeNotifierProvider(create: (_) => FavoritesProvider()),
ChangeNotifierProvider(create: (_) => GenreProvider()),
],
child: MyApp(),
),
);
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Consumer<AppProvider>(
builder: (BuildContext context, AppProvider appProvider, Widget child) {
return MaterialApp(
key: appProvider.key,
debugShowCheckedModeBanner: false,
navigatorKey: appProvider.navigatorKey,
title: Constants.appName,
theme: appProvider.theme.copyWith(
textTheme: GoogleFonts.sourceSansProTextTheme(
appProvider.theme.textTheme,
),
),
darkTheme: ThemeConfig.darkTheme.copyWith(
textTheme: GoogleFonts.sourceSansProTextTheme(
ThemeConfig.darkTheme.textTheme,
),
),
home: Splash(),
);
},
);
}
}