You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cloudsolutions-atoms/lib/new_views/pages/splash_page.dart

84 lines
3.4 KiB
Dart

import 'package:firebase_core/firebase_core.dart';
import 'package:flare_flutter/flare_actor.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/controllers/notification/notification_manger.dart';
import 'package:test_sa/controllers/providers/api/user_provider.dart';
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/service_request/service_request.dart';
import 'package:test_sa/new_views/pages/land_page/land_page.dart';
import 'package:test_sa/new_views/pages/login_page.dart';
import 'package:test_sa/views/pages/user/requests/service_request_details.dart';
import '../../models/size_config.dart';
class SplashPage extends StatefulWidget {
static const String routeName = '/splash_page';
const SplashPage({Key key}) : super(key: key);
@override
State<SplashPage> createState() => _SplashPageState();
}
class _SplashPageState extends State<SplashPage> {
SettingProvider _settingProvider;
UserProvider _userProvider;
bool isnotificationCame=false;
@override
void initState() {
Firebase.initializeApp();
// NotificationManger.initialisation((notificationDetails) {
// // todo @sikander, check notifications payload, because notification model is different to need to check from backend
// // SystemNotificationModel notification = SystemNotificationModel.fromJson(json.decode(notificationDetails.payload));
// // if (notification.path == null || notification.path.isEmpty) return;
// // Navigator.pushNamed(context, notification.path, arguments: notification.requestId);
//
// isnotificationCame = true;
// "initialisation:${notificationDetails?.toString()}".showToast;
//
// // Navigator.of(context).push(MaterialPageRoute(
// // builder: (_) => ServiceRequestDetailsPage(
// // serviceRequest: ServiceRequest(id: "72348"),
// // )));
//
// }, (id, title, body, payload) async {});
super.initState();
}
@override
Widget build(BuildContext context) {
SizeConfig.init(context);
_settingProvider = Provider.of<SettingProvider>(context, listen: false);
_userProvider = Provider.of<UserProvider>(context, listen: false);
return Scaffold(
body: SizedBox(
width: MediaQuery.of(context).size.width / 1.1,
child: FlareActor(
"assets/rives/atoms_splash.flr",
fit: BoxFit.contain,
animation: "splash",
callback: (animation) async {
Navigator.of(context).pushNamedAndRemoveUntil(LoginPage.routeName, (routes) => true);
if (_settingProvider.isLoaded && (_settingProvider.user?.isLiveToken ?? false)) {
_userProvider.user = _settingProvider.user;
Navigator.of(context).pushNamedAndRemoveUntil(LandPage.routeName, (routes) => true);
// if(isnotificationCame)
// Navigator.of(context).push(MaterialPageRoute(
// builder: (_) => ServiceRequestDetailsPage(
// serviceRequest: ServiceRequest(id: "72348"),
// )));
/// The below line for the new design
// Navigator.of(context).pushNamedAndRemoveUntil(LandPage.routeName, (routes) => true);
}
},
),
).center,
);
}
}