This commit is contained in:
@ -1,29 +1,28 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
import 'package:get/get.dart';
|
||||
import 'package:encrypt_shared_preferences/provider.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
import 'package:f0ckapp/service/media_service.dart';
|
||||
import 'package:f0ckapp/controller/localization_controller.dart';
|
||||
import 'package:f0ckapp/controller/authcontroller.dart';
|
||||
import 'package:f0ckapp/controller/localizationcontroller.dart';
|
||||
import 'package:f0ckapp/controller/themecontroller.dart';
|
||||
import 'package:f0ckapp/screens/mediadetail.dart';
|
||||
import 'package:f0ckapp/utils/appversion.dart';
|
||||
import 'package:f0ckapp/controller/theme_controller.dart';
|
||||
import 'package:f0ckapp/controller/media_controller.dart';
|
||||
import 'package:f0ckapp/screens/detail_view.dart';
|
||||
import 'package:f0ckapp/screens/media_grid.dart';
|
||||
import 'package:f0ckapp/controller/auth_controller.dart';
|
||||
import 'package:f0ckapp/controller/mediacontroller.dart';
|
||||
import 'package:f0ckapp/screens/mediagrid.dart';
|
||||
import 'package:f0ckapp/screens/login.dart';
|
||||
|
||||
void main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
|
||||
await EncryptedSharedPreferencesAsync.initialize('VokTnbAbemBUa2j9');
|
||||
await MyTranslations.loadTranslations();
|
||||
await AppVersion.init();
|
||||
Get.put(MediaService());
|
||||
Get.put(MediaController());
|
||||
Get.put(AuthController());
|
||||
LocalizationController localizationController = Get.put(LocalizationController());
|
||||
final MediaController mediaController = Get.put(MediaController());
|
||||
final ThemeController themeController = Get.put(ThemeController());
|
||||
final LocalizationController localizationController = Get.put(
|
||||
LocalizationController(),
|
||||
);
|
||||
|
||||
Get.addTranslations(MyTranslations.instance.keys);
|
||||
Get.locale = localizationController.currentLocale.value;
|
||||
@ -37,16 +36,36 @@ void main() async {
|
||||
navigatorKey: Get.key,
|
||||
theme: themeController.currentTheme.value,
|
||||
debugShowCheckedModeBanner: false,
|
||||
initialRoute: '/',
|
||||
onGenerateRoute: (RouteSettings settings) {
|
||||
final uri = Uri.parse(settings.name ?? '/');
|
||||
final Uri uri = Uri.parse(settings.name ?? '/');
|
||||
|
||||
if (uri.path == '/' || uri.pathSegments.isEmpty) {
|
||||
return MaterialPageRoute(builder: (_) => MediaGrid());
|
||||
}
|
||||
|
||||
if (uri.path == '/login') {
|
||||
return MaterialPageRoute(builder: (_) => LoginScreen());
|
||||
}
|
||||
|
||||
if (uri.pathSegments.length == 1) {
|
||||
final int id = int.parse(uri.pathSegments.first);
|
||||
return MaterialPageRoute(builder: (_) => DetailView(initialId: id));
|
||||
|
||||
return MaterialPageRoute(
|
||||
builder: (_) => FutureBuilder(
|
||||
future: mediaController.items.isEmpty
|
||||
? mediaController.fetchInitial(id: id)
|
||||
: Future.value(),
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.connectionState == ConnectionState.done) {
|
||||
return MediaDetailScreen(initialId: id);
|
||||
}
|
||||
return const Scaffold(
|
||||
body: Center(child: CircularProgressIndicator()),
|
||||
);
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
return MaterialPageRoute(builder: (_) => MediaGrid());
|
||||
|
Reference in New Issue
Block a user