Files
Fondex/lib/controllers/my_profile_controller.dart

55 lines
1.6 KiB
Dart

import 'dart:developer';
import 'package:customer/constant/constant.dart';
import 'package:customer/controllers/theme_controller.dart';
import '../service/fire_store_utils.dart';
import 'package:customer/utils/preferences.dart';
import 'package:get/get.dart' hide Trans;
import 'package:http/http.dart' as http;
class MyProfileController extends GetxController {
RxBool isLoading = true.obs;
RxString isDarkMode = "Light".obs; // For UI text
RxBool isDarkModeSwitch = false.obs; // For switch widget
@override
void onInit() {
getTheme();
super.onInit();
}
void getTheme() {
bool isDark = Preferences.getBoolean(Preferences.themKey);
isDarkMode.value = isDark ? "Dark" : "Light";
isDarkModeSwitch.value = isDark;
isLoading.value = false;
}
void toggleDarkMode(bool value) {
isDarkModeSwitch.value = value;
isDarkMode.value = value ? "Dark" : "Light";
Preferences.setBoolean(Preferences.themKey, value);
// Update ThemeController for instant app theme change
if (Get.isRegistered<ThemeController>()) {
final themeController = Get.find<ThemeController>();
themeController.isDark.value = value;
}
}
// Delete user API
Future<bool> deleteUserFromServer() async {
var url = '${Constant.websiteUrl}/api/delete-user';
try {
var response = await http.post(
Uri.parse(url),
body: {'uuid': FireStoreUtils.getCurrentUid()},
);
log("deleteUserFromServer :: ${response.body}");
return response.statusCode == 200;
} catch (e) {
return false;
}
}
}