static splash page added

This commit is contained in:
MohammadTaha Basiri 2021-12-05 12:52:04 +03:30
parent 769d76d26c
commit 663e38178c
8 changed files with 92 additions and 11 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

View File

@ -1 +1,26 @@
class DesignConfig {} import 'package:flutter/material.dart';
class DesignConfig {
static const Color primaryColor = Color(0XFF007EA7);
static final ThemeData lightTheme = ThemeData(
primaryColor: primaryColor,
colorScheme: lightColorScheme,
);
static const ColorScheme lightColorScheme = ColorScheme(
primary: primaryColor,
primaryVariant: Color(0XFF1B3C59),
secondary: Color(0XFFD61515),
secondaryVariant: Color(0XFFA30001),
surface: Colors.white,
background: Color(0XFFF8F8FA),
error: Color(0XFFF00505),
onPrimary: Colors.white,
onSecondary: Colors.white,
onSurface: Color(0XFF1F1F1F),
onBackground: Color(0XFF1F1F1F),
onError: Colors.white,
brightness: Brightness.light,
);
}

View File

@ -0,0 +1,4 @@
class Assets {
static const String _basePath = 'lib/assets';
static const String logoWithTitleAndDesc = _basePath + '/logo/logo-t-d.png';
}

View File

@ -1,4 +1,9 @@
import 'package:didvan/config/design_config.dart';
import 'package:didvan/providers/user_provider.dart';
import 'package:didvan/routes/route_generator.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:provider/provider.dart';
void main() { void main() {
runApp(const MyApp()); runApp(const MyApp());
@ -6,14 +11,25 @@ void main() {
class MyApp extends StatelessWidget { class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key); const MyApp({Key? key}) : super(key: key);
// This widget is the root of your application.
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MaterialApp( return ChangeNotifierProvider(
title: 'Didvan', create: (context) => UserProvider(),
theme: ThemeData( child: MaterialApp(
primarySwatch: Colors.blue, debugShowCheckedModeBanner: false,
title: 'Didvan',
theme: DesignConfig.lightTheme,
onGenerateRoute: (settings) => RouteGenerator.generateRoute(settings),
initialRoute: '/',
localizationsDelegates: const [
GlobalCupertinoLocalizations.delegate,
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
supportedLocales: const [
Locale("fa", "IR"),
],
locale: const Locale("fa", "IR"),
), ),
); );
} }

View File

@ -0,0 +1,21 @@
import 'package:didvan/config/design_config.dart';
import 'package:didvan/constants/assets.dart';
import 'package:flutter/material.dart';
class Splash extends StatefulWidget {
const Splash({Key? key}) : super(key: key);
@override
_SplashState createState() => _SplashState();
}
class _SplashState extends State<Splash> {
@override
Widget build(BuildContext context) {
return Container(
padding: const EdgeInsets.all(60),
color: DesignConfig.lightColorScheme.background,
child: Image.asset(Assets.logoWithTitleAndDesc),
);
}
}

View File

@ -0,0 +1,3 @@
import 'package:didvan/providers/core_provider.dart';
class SplashState extends CoreProvier {}

View File

@ -1,8 +1,19 @@
import 'package:didvan/pages/splash/splash.dart';
import 'package:didvan/pages/splash/splash_state.dart';
import 'package:didvan/routes/routes.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class RouteGenerator { class RouteGenerator {
static Route<dynamic> generateRoute(RouteSettings settings) { static Route<dynamic> generateRoute(RouteSettings settings) {
switch (settings.name) { switch (settings.name) {
case Routes.splash:
return _materialPageRouteGenerator(
ChangeNotifierProvider(
create: (context) => SplashState(),
child: const Splash(),
),
);
default: default:
return _errorRoute(); return _errorRoute();
} }
@ -21,7 +32,7 @@ class RouteGenerator {
}); });
} }
static materialPageRouteGenerator(pageWidget) => MaterialPageRoute( static _materialPageRouteGenerator(pageWidget) => MaterialPageRoute(
builder: (context) => pageWidget, builder: (context) => pageWidget,
); );
} }

View File

@ -61,9 +61,10 @@ flutter:
uses-material-design: true uses-material-design: true
# To add assets to your application, add an assets section, like this: # To add assets to your application, add an assets section, like this:
# assets: assets:
# - images/a_dot_burr.jpeg - lib/assets/logo/logo-t-d.png
# - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see # An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware. # https://flutter.dev/assets-and-images/#resolution-aware.