Files
flutterApp/lib/features/v2/my/presentation/states/my_state.dart

59 lines
1.3 KiB
Dart
Raw Normal View History

import 'package:equatable/equatable.dart';
import 'package:maibu_satabot_v2/features/v2/my/domain/entities/my_entities.dart';
/// 我的页面状态基类
abstract class MyState extends Equatable {
const MyState();
@override
List<Object?> get props => [];
}
/// 初始状态
class MyInitial extends MyState {}
/// 加载中状态
class MyLoading extends MyState {}
/// 加载成功状态
class MyLoaded extends MyState {
const MyLoaded({
required this.userProfile,
required this.menuItems,
this.isNightMode = false,
this.cacheSize = '1.26 GB',
});
final UserProfileEntity userProfile;
final List<MenuItemEntity> menuItems;
final bool isNightMode;
final String cacheSize;
@override
List<Object?> get props => [userProfile, menuItems, isNightMode, cacheSize];
MyLoaded copyWith({
UserProfileEntity? userProfile,
List<MenuItemEntity>? menuItems,
bool? isNightMode,
String? cacheSize,
}) {
return MyLoaded(
userProfile: userProfile ?? this.userProfile,
menuItems: menuItems ?? this.menuItems,
isNightMode: isNightMode ?? this.isNightMode,
cacheSize: cacheSize ?? this.cacheSize,
);
}
}
/// 加载失败状态
class MyError extends MyState {
const MyError(this.message);
final String message;
@override
List<Object?> get props => [message];
}