完成集成新的登录接口的更换使用 完成集成用户的场站列表接口 完成开发设计选择场站项为全局属性 完成我的页面的个人信息的集成和详情页面的开发 完成设备页面的中无人机机场的列表接口对接入和个项页面的布局的优化 完成设备页面的中无人机机场的详情接口的对接和使用和页面的更新布局
59 lines
1.3 KiB
Dart
59 lines
1.3 KiB
Dart
import 'package:equatable/equatable.dart';
|
|
import 'package:maibu_satabot_v2/features/v2/home/domain/entities/home_entity.dart';
|
|
import 'package:maibu_satabot_v2/features/v2/home/domain/entities/site_entity.dart';
|
|
|
|
abstract class HomeV2State extends Equatable {
|
|
const HomeV2State();
|
|
|
|
@override
|
|
List<Object?> get props => [];
|
|
}
|
|
|
|
class HomeV2Initial extends HomeV2State {
|
|
const HomeV2Initial();
|
|
}
|
|
|
|
class HomeV2Loading extends HomeV2State {
|
|
const HomeV2Loading();
|
|
}
|
|
|
|
class HomeV2Loaded extends HomeV2State {
|
|
final HomeEntity homeData;
|
|
final String trendType;
|
|
final List<SiteEntity> sites;
|
|
final SiteEntity? selectedSite;
|
|
|
|
const HomeV2Loaded({
|
|
required this.homeData,
|
|
this.trendType = 'kW',
|
|
this.sites = const [],
|
|
this.selectedSite,
|
|
});
|
|
|
|
HomeV2Loaded copyWith({
|
|
HomeEntity? homeData,
|
|
String? trendType,
|
|
List<SiteEntity>? sites,
|
|
SiteEntity? selectedSite,
|
|
}) {
|
|
return HomeV2Loaded(
|
|
homeData: homeData ?? this.homeData,
|
|
trendType: trendType ?? this.trendType,
|
|
sites: sites ?? this.sites,
|
|
selectedSite: selectedSite ?? this.selectedSite,
|
|
);
|
|
}
|
|
|
|
@override
|
|
List<Object?> get props => [homeData, trendType, sites, selectedSite];
|
|
}
|
|
|
|
class HomeV2Error extends HomeV2State {
|
|
final String message;
|
|
|
|
const HomeV2Error(this.message);
|
|
|
|
@override
|
|
List<Object?> get props => [message];
|
|
}
|