removed splash, created custom
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 70 B |
|
After Width: | Height: | Size: 70 B |
|
Before Width: | Height: | Size: 70 B After Width: | Height: | Size: 68 B |
|
|
@ -3,7 +3,4 @@
|
||||||
<item>
|
<item>
|
||||||
<bitmap android:gravity="fill" android:src="@drawable/background"/>
|
<bitmap android:gravity="fill" android:src="@drawable/background"/>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<bitmap android:gravity="center" android:src="@drawable/splash"/>
|
|
||||||
</item>
|
|
||||||
</layer-list>
|
</layer-list>
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 97 KiB |
|
Before Width: | Height: | Size: 70 B After Width: | Height: | Size: 68 B |
|
|
@ -3,7 +3,4 @@
|
||||||
<item>
|
<item>
|
||||||
<bitmap android:gravity="fill" android:src="@drawable/background"/>
|
<bitmap android:gravity="fill" android:src="@drawable/background"/>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<bitmap android:gravity="center" android:src="@drawable/splash"/>
|
|
||||||
</item>
|
|
||||||
</layer-list>
|
</layer-list>
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
the Flutter engine draws its first frame -->
|
the Flutter engine draws its first frame -->
|
||||||
<item name="android:windowBackground">@drawable/launch_background</item>
|
<item name="android:windowBackground">@drawable/launch_background</item>
|
||||||
<item name="android:forceDarkAllowed">false</item>
|
<item name="android:forceDarkAllowed">false</item>
|
||||||
<item name="android:windowFullscreen">true</item>
|
<item name="android:windowFullscreen">false</item>
|
||||||
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
||||||
</style>
|
</style>
|
||||||
<!-- Theme applied to the Android Window as soon as the process has started.
|
<!-- Theme applied to the Android Window as soon as the process has started.
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 90 KiB |
|
|
@ -2,16 +2,17 @@
|
||||||
"images" : [
|
"images" : [
|
||||||
{
|
{
|
||||||
"filename" : "background.png",
|
"filename" : "background.png",
|
||||||
"idiom" : "universal",
|
"idiom" : "universal"
|
||||||
"scale" : "1x"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"idiom" : "universal",
|
"appearances" : [
|
||||||
"scale" : "2x"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"idiom" : "universal",
|
"appearance" : "luminosity",
|
||||||
"scale" : "3x"
|
"value" : "dark"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"filename" : "darkbackground.png",
|
||||||
|
"idiom" : "universal"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"info" : {
|
"info" : {
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 70 B After Width: | Height: | Size: 68 B |
|
After Width: | Height: | Size: 70 B |
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 68 B |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 68 B |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 68 B |
|
|
@ -38,7 +38,7 @@
|
||||||
</scene>
|
</scene>
|
||||||
</scenes>
|
</scenes>
|
||||||
<resources>
|
<resources>
|
||||||
<image name="LaunchImage" width="1106" height="986"/>
|
<image name="LaunchImage" width="168" height="185"/>
|
||||||
<image name="LaunchBackground" width="1" height="1"/>
|
<image name="LaunchBackground" width="1" height="1"/>
|
||||||
</resources>
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,6 @@
|
||||||
<key>UIApplicationSupportsIndirectInputEvents</key>
|
<key>UIApplicationSupportsIndirectInputEvents</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>UIStatusBarHidden</key>
|
<key>UIStatusBarHidden</key>
|
||||||
<true/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,6 @@ class _LoginScreenState extends State<LoginScreen> {
|
||||||
final AuthService authService = AuthService();
|
final AuthService authService = AuthService();
|
||||||
|
|
||||||
void login() {
|
void login() {
|
||||||
debugPrint('EMAIL ${emailController.text}');
|
|
||||||
authService.login(
|
authService.login(
|
||||||
loginRequestModel: LoginRequestModel(
|
loginRequestModel: LoginRequestModel(
|
||||||
email: emailController.text,
|
email: emailController.text,
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:sapaly_shop/features/screens/home/home_screen.dart';
|
||||||
|
import 'package:sapaly_shop/themes/app_theme.dart';
|
||||||
|
|
||||||
|
class Onboarding extends StatefulWidget {
|
||||||
|
static const String routeName = '/onboarding';
|
||||||
|
const Onboarding({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<Onboarding> createState() => _OnboardingState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _OnboardingState extends State<Onboarding> {
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
Future.delayed(const Duration(seconds: 5), () {
|
||||||
|
Navigator.of(context).push(
|
||||||
|
MaterialPageRoute(builder: (context) => const HomeScreen()),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: AppTheme.lightPrimaryColor,
|
||||||
|
body: Center(
|
||||||
|
child: Image.asset('assets/images/logoBig.png'),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -7,6 +7,7 @@ import 'package:sapaly_shop/features/screens/drawer/contacts.dart';
|
||||||
import 'package:sapaly_shop/features/screens/drawer/sapaly_drawer.dart';
|
import 'package:sapaly_shop/features/screens/drawer/sapaly_drawer.dart';
|
||||||
import 'package:sapaly_shop/features/screens/home/home_screen.dart';
|
import 'package:sapaly_shop/features/screens/home/home_screen.dart';
|
||||||
import 'package:sapaly_shop/features/screens/auth/login/login_screen.dart';
|
import 'package:sapaly_shop/features/screens/auth/login/login_screen.dart';
|
||||||
|
import 'package:sapaly_shop/features/screens/home/onboarding.dart';
|
||||||
import 'package:sapaly_shop/features/screens/settings/settings_screen.dart';
|
import 'package:sapaly_shop/features/screens/settings/settings_screen.dart';
|
||||||
import 'package:sapaly_shop/features/services/auth_service.dart';
|
import 'package:sapaly_shop/features/services/auth_service.dart';
|
||||||
import 'package:sapaly_shop/providers/user_provider.dart';
|
import 'package:sapaly_shop/providers/user_provider.dart';
|
||||||
|
|
@ -55,9 +56,10 @@ class _MyAppState extends State<MyApp> {
|
||||||
debugShowCheckedModeBanner: false,
|
debugShowCheckedModeBanner: false,
|
||||||
theme: AppTheme.appLightTheme,
|
theme: AppTheme.appLightTheme,
|
||||||
title: 'Sapaly Mahabat',
|
title: 'Sapaly Mahabat',
|
||||||
initialRoute: '/home',
|
initialRoute: '/onboarding',
|
||||||
onGenerateRoute: (settings) => generateRoute(settings),
|
onGenerateRoute: (settings) => generateRoute(settings),
|
||||||
routes: <String, WidgetBuilder>{
|
routes: <String, WidgetBuilder>{
|
||||||
|
'/onboarding': (context) => const Onboarding(),
|
||||||
'/drawer': (context) => SapalyDrawer(),
|
'/drawer': (context) => SapalyDrawer(),
|
||||||
'/home': (context) => const HomeScreen(),
|
'/home': (context) => const HomeScreen(),
|
||||||
'/category': (context) => const CategoryScreen(),
|
'/category': (context) => const CategoryScreen(),
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
||||||
import 'package:sapaly_shop/features/screens/home/home_screen.dart';
|
import 'package:sapaly_shop/features/screens/home/home_screen.dart';
|
||||||
|
|
||||||
import 'features/screens/auth/login/login_screen.dart';
|
import 'features/screens/auth/login/login_screen.dart';
|
||||||
|
import 'features/screens/home/onboarding.dart';
|
||||||
|
|
||||||
Route<dynamic> generateRoute(RouteSettings routeSettings) {
|
Route<dynamic> generateRoute(RouteSettings routeSettings) {
|
||||||
switch (routeSettings.name) {
|
switch (routeSettings.name) {
|
||||||
|
|
@ -11,9 +12,12 @@ Route<dynamic> generateRoute(RouteSettings routeSettings) {
|
||||||
);
|
);
|
||||||
case LoginScreen.routeName:
|
case LoginScreen.routeName:
|
||||||
return MaterialPageRoute(
|
return MaterialPageRoute(
|
||||||
builder: (_) => LoginScreen(),
|
builder: (_) => const LoginScreen(),
|
||||||
|
);
|
||||||
|
case Onboarding.routeName:
|
||||||
|
return MaterialPageRoute(
|
||||||
|
builder: (context) => const Onboarding(),
|
||||||
);
|
);
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return MaterialPageRoute(
|
return MaterialPageRoute(
|
||||||
settings: routeSettings,
|
settings: routeSettings,
|
||||||
|
|
|
||||||