2024-05-24 12:32:19 +05:30
|
|
|
import 'package:flutter/material.dart';
|
2024-05-24 19:32:53 +05:30
|
|
|
import 'package:flutter/services.dart';
|
2024-05-29 13:21:55 +05:30
|
|
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
2024-05-24 19:32:53 +05:30
|
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
|
|
|
|
|
|
|
|
import 'core/routes/routes.dart';
|
|
|
|
|
import 'core/utils/connectivity/network_connectivity.dart';
|
2024-05-29 13:21:55 +05:30
|
|
|
import 'features/countrySelection/presentation/bloc/choose_country_bloc.dart';
|
2024-05-24 19:32:53 +05:30
|
|
|
|
|
|
|
|
/* CREATED BY - JAYESH JAIN
|
|
|
|
|
DATE - 24-05-2024
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/// The main function that runs the application.
|
|
|
|
|
Future<void> main() async {
|
|
|
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
|
|
|
|
|
|
|
|
// Set the preferred orientations of the device.
|
|
|
|
|
SystemChrome.setPreferredOrientations([
|
|
|
|
|
DeviceOrientation.portraitUp,
|
2024-05-27 18:00:40 +05:30
|
|
|
]).then((value) => runApp(const MyApp()));
|
2024-05-24 12:32:19 +05:30
|
|
|
}
|
|
|
|
|
|
2024-05-24 19:32:53 +05:30
|
|
|
class MyApp extends StatefulWidget {
|
2024-05-24 12:32:19 +05:30
|
|
|
const MyApp({super.key});
|
|
|
|
|
|
|
|
|
|
@override
|
2024-05-24 19:32:53 +05:30
|
|
|
State<MyApp> createState() => _MyAppState();
|
2024-05-24 12:32:19 +05:30
|
|
|
}
|
|
|
|
|
|
2024-05-24 19:32:53 +05:30
|
|
|
class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
|
2024-05-27 18:00:40 +05:30
|
|
|
final NetworkConnectivity _networkConnectivity =
|
2024-05-28 16:35:33 +05:30
|
|
|
NetworkConnectivity(onStatusChange: (_) {});
|
2024-05-24 12:32:19 +05:30
|
|
|
@override
|
2024-05-24 19:32:53 +05:30
|
|
|
void initState() {
|
|
|
|
|
super.initState();
|
|
|
|
|
WidgetsBinding.instance.addObserver(this);
|
2024-05-24 12:32:19 +05:30
|
|
|
|
2024-05-24 19:32:53 +05:30
|
|
|
// Initialize the NetworkConnectivity instance.
|
|
|
|
|
_networkConnectivity.initialize();
|
|
|
|
|
}
|
2024-05-24 12:32:19 +05:30
|
|
|
|
2024-05-24 19:32:53 +05:30
|
|
|
@override
|
|
|
|
|
void dispose() {
|
|
|
|
|
WidgetsBinding.instance.removeObserver(this);
|
|
|
|
|
_networkConnectivity.dispose();
|
|
|
|
|
super.dispose();
|
2024-05-24 12:32:19 +05:30
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
2024-05-29 13:21:55 +05:30
|
|
|
return MultiBlocProvider(
|
|
|
|
|
providers: [
|
|
|
|
|
BlocProvider(
|
|
|
|
|
create: (context) => RadioBloc(),
|
|
|
|
|
)
|
|
|
|
|
],
|
|
|
|
|
child: ScreenUtilInit(
|
|
|
|
|
builder: (BuildContext context, Widget? child) => MaterialApp.router(
|
|
|
|
|
title: 'Tanami Capital',
|
|
|
|
|
theme: ThemeData(
|
|
|
|
|
useMaterial3: true,
|
|
|
|
|
),
|
|
|
|
|
debugShowCheckedModeBanner: false,
|
|
|
|
|
routerConfig: goRouter,
|
2024-05-24 12:32:19 +05:30
|
|
|
),
|
2024-05-29 13:21:55 +05:30
|
|
|
designSize: const Size(390, 844),
|
2024-05-24 12:32:19 +05:30
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|