import 'package:get/get_rx/src/rx_types/rx_types.dart'; import 'package:get/get_state_manager/src/simple/get_controllers.dart'; import 'package:quiz_app/core/utils/logger.dart'; import 'package:quiz_app/data/entity/user/user_entity.dart'; import 'package:quiz_app/data/services/user_storage_service.dart'; class UserController extends GetxController { final UserStorageService _userStorageService; UserController(this._userStorageService); Rx userName = "".obs; Rx userImage = Rx(null); Rx email = "".obs; UserEntity? userData; @override void onInit() { loadUser(); super.onInit(); } Future loadUser() async { final data = await _userStorageService.loadUser(); if (data != null) { userData = data; userName.value = data.name; userImage.value = data.picUrl; email.value = data.email; logC.i("Loaded user: ${data.toJson()}"); } } void setUserFromEntity(UserEntity data) { final userEntity = data; userData = userEntity; userName.value = userEntity.name; userImage.value = userEntity.picUrl; email.value = userEntity.email; } void clearUser() { userData = null; userName.value = ""; userImage.value = ""; email.value = ''; } }