46 lines
1.5 KiB
Dart
46 lines
1.5 KiB
Dart
import 'package:f0ckapp/screens/settings_screen.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter/services.dart';
|
|
|
|
import 'package:get/get.dart';
|
|
import 'package:encrypt_shared_preferences/provider.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';
|
|
|
|
void main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
|
|
await EncryptedSharedPreferencesAsync.initialize('VokTnbAbemBUa2j9');
|
|
await AppVersion.init();
|
|
Get.put(MediaController());
|
|
final ThemeController themeController = Get.put(ThemeController());
|
|
|
|
runApp(
|
|
Obx(
|
|
() => MaterialApp(
|
|
navigatorKey: Get.key,
|
|
theme: themeController.currentTheme.value,
|
|
debugShowCheckedModeBanner: false,
|
|
onGenerateRoute: (RouteSettings settings) {
|
|
final uri = Uri.parse(settings.name ?? '/');
|
|
|
|
if (uri.path == '/' || uri.pathSegments.isEmpty) {
|
|
return MaterialPageRoute(builder: (_) => MediaGrid());
|
|
}
|
|
|
|
if (uri.pathSegments.length == 1) {
|
|
final int id = int.parse(uri.pathSegments.first);
|
|
return MaterialPageRoute(builder: (_) => DetailView(initialId: id));
|
|
}
|
|
|
|
return MaterialPageRoute(builder: (_) => MediaGrid());
|
|
},
|
|
),
|
|
),
|
|
);
|
|
}
|