import 'package:flutter/material.dart'; import 'package:together_mobile/utils/app_dir.dart'; class UserAccount extends ChangeNotifier { String id = ''; String username = ''; String email = ''; void initValue(Map data) { id = data['id']!; username = data['username']!; email = data['email']!; } void updateUsername(String newUsername) { username = newUsername; } void updateEmail(String newEmail) { email = newEmail; } } class UserProfile extends ChangeNotifier { String nickname = ''; String gender = ''; String birthday = ''; String location = ''; String status = ''; String sign = ''; String avatar = ''; bool isInitialised = false; Future initValue(Map data) async { nickname = data['nickname'] ?? ''; birthday = data['birthday'] ?? ''; location = data['location'] ?? ''; status = data['status'] ?? ''; sign = data['sign'] ?? ''; avatar = data['avatar'] == null ? 'assets/images/user_2.png' : await getAvatarPath(data['avatar']); gender = _genderEn2Cn(data['gender']); isInitialised = true; } void updateBasic(Map newBasic) { nickname = newBasic['nickname']!; location = newBasic['location']!; birthday = newBasic['birthday']!; gender = newBasic['gender']!; } void updateSign(String newSign) { sign = newSign; } void updateAvatar(String newAvatarPath) async { avatar = newAvatarPath; } String _genderEn2Cn(String newGender) { if (newGender.isEmpty) { return newGender; } else { return newGender == 'man' ? '男' : '女'; } } }