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 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 menuItems; final bool isNightMode; final String cacheSize; @override List get props => [userProfile, menuItems, isNightMode, cacheSize]; MyLoaded copyWith({ UserProfileEntity? userProfile, List? 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 get props => [message]; }