Account screen after logged in

This commit is contained in:
2025-04-25 00:08:57 +08:00
parent d7d9e41db3
commit 057ab16381
14 changed files with 768 additions and 54 deletions

42
lib/models/user.dart Normal file
View File

@ -0,0 +1,42 @@
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:island/models/file.dart';
part 'user.freezed.dart';
part 'user.g.dart';
@freezed
abstract class SnAccount with _$SnAccount {
const factory SnAccount({
required int id,
required String name,
required String nick,
required String language,
required bool isSuperuser,
required SnAccountProfile profile,
required DateTime createdAt,
required DateTime updatedAt,
required DateTime? deletedAt,
}) = _SnAccount;
factory SnAccount.fromJson(Map<String, dynamic> json) =>
_$SnAccountFromJson(json);
}
@freezed
abstract class SnAccountProfile with _$SnAccountProfile {
const factory SnAccountProfile({
required int id,
required String? firstName,
required String? middleName,
required String? lastName,
required String? bio,
required SnCloudFile? picture,
required SnCloudFile? background,
required DateTime createdAt,
required DateTime updatedAt,
required DateTime? deletedAt,
}) = _SnAccountProfile;
factory SnAccountProfile.fromJson(Map<String, dynamic> json) =>
_$SnAccountProfileFromJson(json);
}