TIF_E41211115_Genso_quiz_app/lib/data/controllers/user_controller.dart

43 lines
1.1 KiB
Dart

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<String> userName = "".obs;
Rx<String?> userImage = Rx<String?>(null);
Rx<String> email = "".obs;
UserEntity? userData;
@override
void onInit() {
loadUser();
super.onInit();
}
Future<void> 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;
}
}