Files
penyaluran_app/lib/app/modules/dashboard/controllers/dashboard_controller.dart
Khafidh Fuadi b1665307c5 Tambahkan dependensi dan konfigurasi awal proyek
- Tambahkan dependensi utama: GetX, Supabase, SharedPreferences
- Konfigurasi struktur awal aplikasi dengan GetX
- Inisialisasi layanan Supabase
- Perbarui konfigurasi plugin untuk berbagai platform
- Ganti template default dengan struktur aplikasi baru
2025-03-08 10:20:57 +07:00

40 lines
1.1 KiB
Dart

import 'package:get/get.dart';
import 'package:penyaluran_app/app/data/models/user_model.dart';
import 'package:penyaluran_app/app/modules/auth/controllers/auth_controller.dart';
import 'package:penyaluran_app/app/services/supabase_service.dart';
class DashboardController extends GetxController {
final AuthController _authController = Get.find<AuthController>();
final SupabaseService _supabaseService = SupabaseService.to;
final RxBool isLoading = false.obs;
final Rx<Map<String, dynamic>?> roleData = Rx<Map<String, dynamic>?>(null);
UserModel? get user => _authController.user;
String get role => user?.role ?? 'WARGA';
@override
void onInit() {
super.onInit();
loadRoleData();
}
Future<void> loadRoleData() async {
isLoading.value = true;
try {
if (user != null) {
final data = await _supabaseService.getRoleSpecificData(role);
roleData.value = data;
}
} catch (e) {
print('Error loading role data: $e');
} finally {
isLoading.value = false;
}
}
void logout() {
_authController.logout();
}
}