46 lines
1.2 KiB
Dart
46 lines
1.2 KiB
Dart
import 'package:get/get.dart';
|
|
import 'package:firebase_database/firebase_database.dart';
|
|
|
|
class SettingController extends GetxController {
|
|
final DatabaseReference _dbRef = FirebaseDatabase.instance.ref('pengaturan');
|
|
|
|
var jarakDekat = 0.obs;
|
|
var jarakJauh = 0.obs;
|
|
var intervalLokasi = 0.obs;
|
|
|
|
final isLoading = true.obs;
|
|
|
|
@override
|
|
void onInit() {
|
|
super.onInit();
|
|
loadSettings();
|
|
}
|
|
|
|
void loadSettings() async {
|
|
try {
|
|
final snapshot = await _dbRef.get();
|
|
if (snapshot.exists) {
|
|
jarakDekat.value = snapshot.child('jarak_dekat').value as int;
|
|
jarakJauh.value = snapshot.child('jarak_jauh').value as int;
|
|
intervalLokasi.value = snapshot.child('interval_lokasi').value as int;
|
|
}
|
|
} catch (e) {
|
|
print('Error loading settings: $e');
|
|
}
|
|
isLoading.value = false;
|
|
}
|
|
|
|
void updateSettings() async {
|
|
try {
|
|
await _dbRef.update({
|
|
'jarak_dekat': jarakDekat.value,
|
|
'jarak_jauh': jarakJauh.value,
|
|
'interval_lokasi': intervalLokasi.value,
|
|
});
|
|
Get.snackbar('Sukses', 'Pengaturan berhasil disimpan');
|
|
} catch (e) {
|
|
Get.snackbar('Error', 'Gagal menyimpan: $e');
|
|
}
|
|
}
|
|
}
|