53 lines
1.6 KiB
Dart
53 lines
1.6 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:firebase_core/firebase_core.dart';
|
|
import 'package:get_storage/get_storage.dart';
|
|
import 'package:intl/date_symbol_data_local.dart';
|
|
|
|
import 'app/routes/app_pages.dart';
|
|
import 'app/modules/home/controllers/home_controller.dart';
|
|
import 'app/modules/jadwal/controllers/jadwal_controller.dart';
|
|
|
|
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
|
|
|
final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
|
|
|
|
Future<void> main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
|
|
// Inisialisasi GetStorage untuk penyimpanan lokal
|
|
await GetStorage.init();
|
|
|
|
// Inisialisasi Firebase
|
|
await Firebase.initializeApp();
|
|
|
|
// Inisialisasi format tanggal lokal Indonesia
|
|
await initializeDateFormatting('id_ID', null);
|
|
|
|
// Inisialisasi notifikasi lokal
|
|
await _initLocalNotification();
|
|
|
|
// Registrasi controller global (jika diperlukan)
|
|
Get.lazyPut(() => HomeController());
|
|
Get.lazyPut(() => JadwalController());
|
|
|
|
runApp(
|
|
GetMaterialApp(
|
|
debugShowCheckedModeBanner: false,
|
|
title: "My Fish",
|
|
initialRoute: Routes.SPLASH_SCREEN,
|
|
getPages: AppPages.routes,
|
|
),
|
|
);
|
|
}
|
|
|
|
Future<void> _initLocalNotification() async {
|
|
const AndroidInitializationSettings androidSettings =
|
|
AndroidInitializationSettings('@mipmap/ic_launcher');
|
|
|
|
const InitializationSettings initSettings =
|
|
InitializationSettings(android: androidSettings);
|
|
|
|
await flutterLocalNotificationsPlugin.initialize(initSettings);
|
|
}
|