Files
MWClash/lib/models/selector.dart

162 lines
4.5 KiB
Dart
Raw Normal View History

2024-04-30 23:38:49 +08:00
import 'package:fl_clash/enum/enum.dart';
2024-06-06 16:31:08 +08:00
import 'package:fl_clash/models/models.dart';
2024-04-30 23:38:49 +08:00
import 'package:flutter/material.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part 'generated/selector.freezed.dart';
@freezed
class StartButtonSelectorState with _$StartButtonSelectorState {
const factory StartButtonSelectorState({
required bool isInit,
required bool hasProfile,
}) = _StartButtonSelectorState;
}
@freezed
2024-06-06 16:31:08 +08:00
class CheckIpSelectorState with _$CheckIpSelectorState {
const factory CheckIpSelectorState({
required String? currentProfileId,
2024-06-06 16:31:08 +08:00
required SelectedMap selectedMap,
}) = _CheckIpSelectorState;
2024-04-30 23:38:49 +08:00
}
@freezed
class NetworkDetectionSelectorState with _$NetworkDetectionSelectorState {
const factory NetworkDetectionSelectorState({
required String? currentProxyName,
required int? delay,
}) = _NetworkDetectionSelectorState;
}
@freezed
class ProfilesSelectorState with _$ProfilesSelectorState {
const factory ProfilesSelectorState({
required List<Profile> profiles,
required String? currentProfileId,
required ViewMode viewMode,
2024-04-30 23:38:49 +08:00
}) = _ProfilesSelectorState;
}
@freezed
class ApplicationSelectorState with _$ApplicationSelectorState {
const factory ApplicationSelectorState({
String? locale,
ThemeMode? themeMode,
int? primaryColor,
}) = _ApplicationSelectorState;
}
@freezed
2024-06-06 16:31:08 +08:00
class TrayContainerSelectorState with _$TrayContainerSelectorState {
2024-04-30 23:38:49 +08:00
const factory TrayContainerSelectorState({
required Mode mode,
required bool autoLaunch,
required bool isRun,
required String? locale,
2024-06-06 16:31:08 +08:00
}) = _TrayContainerSelectorState;
2024-04-30 23:38:49 +08:00
}
@freezed
2024-06-06 16:31:08 +08:00
class UpdateNavigationsSelector with _$UpdateNavigationsSelector {
2024-04-30 23:38:49 +08:00
const factory UpdateNavigationsSelector({
required bool openLogs,
required bool hasProxies,
}) = _UpdateNavigationsSelector;
}
@freezed
class HomeSelectorState with _$HomeSelectorState {
const factory HomeSelectorState({
2024-04-30 23:38:49 +08:00
required String currentLabel,
required List<NavigationItem> navigationItems,
required ViewMode viewMode,
2024-04-30 23:38:49 +08:00
required String? locale,
}) = _HomeSelectorState;
2024-04-30 23:38:49 +08:00
}
@freezed
class HomeBodySelectorState with _$HomeBodySelectorState {
const factory HomeBodySelectorState({
required List<NavigationItem> navigationItems,
}) = _HomeBodySelectorState;
2024-04-30 23:38:49 +08:00
}
2024-05-03 14:31:10 +08:00
2024-05-04 00:14:07 +08:00
@freezed
2024-06-06 16:31:08 +08:00
class ProxiesCardSelectorState with _$ProxiesCardSelectorState {
2024-05-04 00:14:07 +08:00
const factory ProxiesCardSelectorState({
required bool isSelected,
2024-05-04 00:14:07 +08:00
}) = _ProxiesCardSelectorState;
}
2024-05-06 10:32:39 +08:00
@freezed
2024-06-06 16:31:08 +08:00
class ProxiesSelectorState with _$ProxiesSelectorState {
2024-05-07 13:50:00 +08:00
const factory ProxiesSelectorState({
required List<String> groupNames,
required String? currentGroupName,
}) = _ProxiesSelectorState;
}
@freezed
class ProxiesListSelectorState with _$ProxiesListSelectorState {
const factory ProxiesListSelectorState({
required List<String> groupNames,
required Set<String> currentUnfoldSet,
required ProxiesSortType proxiesSortType,
required ProxyCardType proxyCardType,
required num sortNum,
required int columns,
}) = _ProxiesListSelectorState;
}
@freezed
class ProxyGroupSelectorState with _$ProxyGroupSelectorState {
const factory ProxyGroupSelectorState({
2024-05-06 10:32:39 +08:00
required ProxiesSortType proxiesSortType,
required ProxyCardType proxyCardType,
2024-05-06 10:32:39 +08:00
required num sortNum,
required GroupType groupType,
required List<Proxy> proxies,
required int columns,
}) = _ProxyGroupSelectorState;
2024-05-06 10:32:39 +08:00
}
@freezed
class MoreToolsSelectorState with _$MoreToolsSelectorState {
const factory MoreToolsSelectorState({
required List<NavigationItem> navigationItems,
}) = _MoreToolsSelectorState;
}
@freezed
class PackageListSelectorState with _$PackageListSelectorState {
const factory PackageListSelectorState({
required AccessControl accessControl,
required bool isAccessControl,
}) = _PackageListSelectorState;
2024-06-06 16:31:08 +08:00
}
@freezed
class ColumnsSelectorState with _$ColumnsSelectorState {
const factory ColumnsSelectorState({
required int columns,
required ViewMode viewMode,
}) = _ColumnsSelectorState;
}
@freezed
class ProxiesListHeaderSelectorState with _$ProxiesListHeaderSelectorState {
const factory ProxiesListHeaderSelectorState({
required double offset,
required int currentIndex,
}) = _ProxiesListHeaderSelectorState;
}
@freezed
class CurrentGroupProxyNameSelectorState with _$CurrentGroupProxyNameSelectorState {
const factory CurrentGroupProxyNameSelectorState({
required String? proxyName,
required String? proxyName2,
}) = _CurrentGroupProxyNameSelectorState;
}