add basic routing options, auto update routing assets,use ruleset, remove geo assets
This commit is contained in:
@@ -6,8 +6,8 @@ import 'package:hiddify/core/database/connection/database_connection.dart';
|
||||
import 'package:hiddify/core/database/converters/duration_converter.dart';
|
||||
import 'package:hiddify/core/database/schema_versions.dart';
|
||||
import 'package:hiddify/core/database/tables/database_tables.dart';
|
||||
import 'package:hiddify/features/geo_asset/data/geo_asset_data_mapper.dart';
|
||||
import 'package:hiddify/features/geo_asset/model/default_geo_assets.dart';
|
||||
// import 'package:hiddify/features/geo_asset/data/geo_asset_data_mapper.dart';
|
||||
// import 'package:hiddify/features/geo_asset/model/default_geo_assets.dart';
|
||||
import 'package:hiddify/features/geo_asset/model/geo_asset_entity.dart';
|
||||
import 'package:hiddify/features/profile/model/profile_entity.dart';
|
||||
import 'package:hiddify/utils/custom_loggers.dart';
|
||||
@@ -60,11 +60,11 @@ class AppDatabase extends _$AppDatabase with InfraLogger {
|
||||
Future<void> _prePopulateGeoAssets() async {
|
||||
loggy.debug("populating default geo assets");
|
||||
await transaction(() async {
|
||||
final geoAssets = defaultGeoAssets.map((e) => e.toEntry());
|
||||
for (final geoAsset in geoAssets) {
|
||||
await into(geoAssetEntries)
|
||||
.insert(geoAsset, mode: InsertMode.insertOrIgnore);
|
||||
}
|
||||
// final geoAssets = defaultGeoAssets.map((e) => e.toEntry());
|
||||
// for (final geoAsset in geoAssets) {
|
||||
// await into(geoAssetEntries)
|
||||
// .insert(geoAsset, mode: InsertMode.insertOrIgnore);
|
||||
// }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:hiddify/core/app_info/app_info_provider.dart';
|
||||
import 'package:hiddify/core/model/environment.dart';
|
||||
import 'package:hiddify/core/model/region.dart';
|
||||
// import 'package:hiddify/core/model/region.dart';
|
||||
import 'package:hiddify/core/preferences/preferences_provider.dart';
|
||||
import 'package:hiddify/core/utils/preferences_utils.dart';
|
||||
import 'package:hiddify/features/per_app_proxy/model/per_app_proxy_mode.dart';
|
||||
@@ -19,13 +19,6 @@ abstract class Preferences {
|
||||
overrideValue: _debugIntroPage && kDebugMode ? false : null,
|
||||
);
|
||||
|
||||
static final region = PreferencesNotifier.create<Region, String>(
|
||||
"region",
|
||||
Region.other,
|
||||
mapFrom: Region.values.byName,
|
||||
mapTo: (value) => value.name,
|
||||
);
|
||||
|
||||
static final silentStart = PreferencesNotifier.create<bool, bool>(
|
||||
"silent_start",
|
||||
false,
|
||||
@@ -37,8 +30,7 @@ abstract class Preferences {
|
||||
PlatformUtils.isDesktop,
|
||||
);
|
||||
|
||||
static final perAppProxyMode =
|
||||
PreferencesNotifier.create<PerAppProxyMode, String>(
|
||||
static final perAppProxyMode = PreferencesNotifier.create<PerAppProxyMode, String>(
|
||||
"per_app_proxy_mode",
|
||||
PerAppProxyMode.off,
|
||||
mapFrom: PerAppProxyMode.values.byName,
|
||||
@@ -103,10 +95,7 @@ class PerAppProxyList extends _$PerAppProxyList {
|
||||
);
|
||||
|
||||
@override
|
||||
List<String> build() =>
|
||||
ref.watch(Preferences.perAppProxyMode) == PerAppProxyMode.include
|
||||
? _include.read()
|
||||
: _exclude.read();
|
||||
List<String> build() => ref.watch(Preferences.perAppProxyMode) == PerAppProxyMode.include ? _include.read() : _exclude.read();
|
||||
|
||||
Future<void> update(List<String> value) {
|
||||
state = value;
|
||||
|
||||
@@ -4,7 +4,7 @@ import 'package:hiddify/core/router/app_router.dart';
|
||||
import 'package:hiddify/features/common/adaptive_root_scaffold.dart';
|
||||
import 'package:hiddify/features/config_option/overview/config_options_page.dart';
|
||||
import 'package:hiddify/features/config_option/widget/quick_settings_modal.dart';
|
||||
import 'package:hiddify/features/geo_asset/overview/geo_assets_overview_page.dart';
|
||||
|
||||
import 'package:hiddify/features/home/widget/home_page.dart';
|
||||
import 'package:hiddify/features/intro/widget/intro_page.dart';
|
||||
import 'package:hiddify/features/log/overview/logs_overview_page.dart';
|
||||
@@ -19,8 +19,7 @@ import 'package:hiddify/utils/utils.dart';
|
||||
|
||||
part 'routes.g.dart';
|
||||
|
||||
GlobalKey<NavigatorState>? _dynamicRootKey =
|
||||
useMobileRouter ? rootNavigatorKey : null;
|
||||
GlobalKey<NavigatorState>? _dynamicRootKey = useMobileRouter ? rootNavigatorKey : null;
|
||||
|
||||
@TypedShellRoute<MobileWrapperRoute>(
|
||||
routes: [
|
||||
@@ -60,10 +59,6 @@ GlobalKey<NavigatorState>? _dynamicRootKey =
|
||||
path: "per-app-proxy",
|
||||
name: PerAppProxyRoute.name,
|
||||
),
|
||||
TypedGoRoute<GeoAssetsRoute>(
|
||||
path: "routing-assets",
|
||||
name: GeoAssetsRoute.name,
|
||||
),
|
||||
],
|
||||
),
|
||||
TypedGoRoute<LogsOverviewRoute>(
|
||||
@@ -130,12 +125,7 @@ class MobileWrapperRoute extends ShellRouteData {
|
||||
TypedGoRoute<SettingsRoute>(
|
||||
path: "/settings",
|
||||
name: SettingsRoute.name,
|
||||
routes: [
|
||||
TypedGoRoute<GeoAssetsRoute>(
|
||||
path: "routing-assets",
|
||||
name: GeoAssetsRoute.name,
|
||||
),
|
||||
],
|
||||
routes: [],
|
||||
),
|
||||
TypedGoRoute<LogsOverviewRoute>(
|
||||
path: "/logs",
|
||||
@@ -229,8 +219,7 @@ class ProfilesOverviewRoute extends GoRouteData {
|
||||
Page<void> buildPage(BuildContext context, GoRouterState state) {
|
||||
return BottomSheetPage(
|
||||
name: name,
|
||||
builder: (controller) =>
|
||||
ProfilesOverviewModal(scrollController: controller),
|
||||
builder: (controller) => ProfilesOverviewModal(scrollController: controller),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -358,28 +347,6 @@ class PerAppProxyRoute extends GoRouteData {
|
||||
}
|
||||
}
|
||||
|
||||
class GeoAssetsRoute extends GoRouteData {
|
||||
const GeoAssetsRoute();
|
||||
static const name = "Routing Assets";
|
||||
|
||||
static final GlobalKey<NavigatorState>? $parentNavigatorKey = _dynamicRootKey;
|
||||
|
||||
@override
|
||||
Page<void> buildPage(BuildContext context, GoRouterState state) {
|
||||
if (useMobileRouter) {
|
||||
return const MaterialPage(
|
||||
name: name,
|
||||
child: GeoAssetsOverviewPage(),
|
||||
);
|
||||
}
|
||||
return const MaterialPage(
|
||||
fullscreenDialog: true,
|
||||
name: name,
|
||||
child: GeoAssetsOverviewPage(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class AboutRoute extends GoRouteData {
|
||||
const AboutRoute();
|
||||
static const name = "About";
|
||||
|
||||
Reference in New Issue
Block a user