Skip to content

Commit

Permalink
Add splash screen from the new logo widget
Browse files Browse the repository at this point in the history
  • Loading branch information
AhmedHanafy725 committed Feb 25, 2024
1 parent 062d34c commit 2a09835
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 2 deletions.
4 changes: 2 additions & 2 deletions app/lib/main.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:threebotlogin/helpers/globals.dart';
import 'package:threebotlogin/screens/main_screen.dart';
import 'package:threebotlogin/screens/splash_screen.dart';
import 'package:threebotlogin/services/shared_preference_service.dart';
import 'package:google_fonts/google_fonts.dart';

Expand Down Expand Up @@ -101,7 +101,7 @@ class MyApp extends StatelessWidget {
),
),
themeMode: ThemeMode.system,
home: MainScreen(initDone: initDone, registered: registered),
home: SplashScreen(initDone: initDone, registered: registered),
);
}
}
51 changes: 51 additions & 0 deletions app/lib/screens/splash_screen.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:threebotlogin/screens/main_screen.dart';
import 'package:threebotlogin/widgets/home_logo.dart';

class SplashScreen extends StatefulWidget {
const SplashScreen(
{super.key, required this.initDone, required this.registered});

final bool initDone;
final bool registered;

@override
State<SplashScreen> createState() => _SplashScreenState();
}

class _SplashScreenState extends State<SplashScreen>
with SingleTickerProviderStateMixin {
@override
void initState() {
super.initState();
SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersive);
Future.delayed(
const Duration(seconds: 2),
() {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (_) => MainScreen(
initDone: widget.initDone, registered: widget.registered)));
},
);
}

@override
void dispose() {
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,
overlays: SystemUiOverlay.values);
super.dispose();
}

@override
Widget build(BuildContext context) {
return const Scaffold(
body: Center(
child: Hero(
tag: 'logo',
child: HomeLogoWidget(),
),
),
);
}
}

0 comments on commit 2a09835

Please sign in to comment.