together_mobile/lib/models/user_model.dart

63 lines
1.5 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']!;
}
}
class UserProfile extends ChangeNotifier {
String nickname = '';
String gender = '';
String birthday = '';
String location = '';
String status = '';
String sign = '';
String avatar = '';
bool isInitialised = false;
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' ? '' : '';
}
}
}