TKK_E32221196/lib/main.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);
}