Files
MWClash/lib/models/selector.dart
chen08209 f7abf6446c Fix android vpn close issues
Add requests page

Fix checkUpdate dark mode style error

Fix quickStart error open app

Add memory proxies tab index

Support hidden group

Optimize logs
2024-06-16 13:06:34 +08:00

125 lines
3.4 KiB
Dart

import 'package:fl_clash/enum/enum.dart';
import 'package:fl_clash/models/models.dart';
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
class CheckIpSelectorState with _$CheckIpSelectorState {
const factory CheckIpSelectorState({
required bool isInit,
required bool isStart,
required SelectedMap selectedMap,
}) = _CheckIpSelectorState;
}
@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,
}) = _ProfilesSelectorState;
}
@freezed
class ApplicationSelectorState with _$ApplicationSelectorState {
const factory ApplicationSelectorState({
String? locale,
ThemeMode? themeMode,
int? primaryColor,
}) = _ApplicationSelectorState;
}
@freezed
class TrayContainerSelectorState with _$TrayContainerSelectorState {
const factory TrayContainerSelectorState({
required Mode mode,
required bool autoLaunch,
required bool isRun,
required String? locale,
}) = _TrayContainerSelectorState;
}
@freezed
class UpdateNavigationsSelector with _$UpdateNavigationsSelector {
const factory UpdateNavigationsSelector({
required bool openLogs,
required bool hasProxies,
}) = _UpdateNavigationsSelector;
}
@freezed
class HomeSelectorState with _$HomeSelectorState {
const factory HomeSelectorState({
required String currentLabel,
required List<NavigationItem> navigationItems,
required ViewMode viewMode,
required String? locale,
}) = _HomeSelectorState;
}
@freezed
class HomeBodySelectorState with _$HomeBodySelectorState {
const factory HomeBodySelectorState({
required List<NavigationItem> navigationItems,
}) = _HomeBodySelectorState;
}
@freezed
class ProxiesCardSelectorState with _$ProxiesCardSelectorState {
const factory ProxiesCardSelectorState({
required bool isSelected,
}) = _ProxiesCardSelectorState;
}
@freezed
class ProxiesSelectorState with _$ProxiesSelectorState {
const factory ProxiesSelectorState({
required List<String> groupNames,
required String? currentGroupName,
}) = _ProxiesSelectorState;
}
@freezed
class ProxiesTabViewSelectorState with _$ProxiesTabViewSelectorState {
const factory ProxiesTabViewSelectorState({
required ProxiesSortType proxiesSortType,
required num sortNum,
required Group group,
required ViewMode viewMode,
}) = _ProxiesTabViewSelectorState;
}
@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;
}