71 lines
1.6 KiB
Dart
71 lines
1.6 KiB
Dart
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<String, dynamic> 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<void> initValue(Map<String, dynamic> 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<String, String> 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' ? '男' : '女';
|
|
}
|
|
}
|
|
}
|