Add intranet IP display

Add connections page

Add search in connections, requests

Add keyword search in connections, requests, logs

Add basic viewing editing capabilities

Optimize update profile
This commit is contained in:
chen08209
2024-06-19 13:13:31 +08:00
parent afa1b4f424
commit 1fcc412770
45 changed files with 2875 additions and 793 deletions
+12 -17
View File
@@ -1,6 +1,7 @@
import 'dart:async';
import 'package:fl_clash/enum/enum.dart';
import 'package:fl_clash/plugins/app.dart';
import 'package:fl_clash/state.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
@@ -43,7 +44,9 @@ class AppController {
];
} else {
await globalState.stopSystemProxy();
clashCore.resetTraffic();
appState.traffics = [];
appState.totalTraffic = Traffic();
appState.runTime = null;
}
}
@@ -98,13 +101,9 @@ class AppController {
}
}
Future<void> updateProfile(String id) async {
final profile = config.getCurrentProfileForId(id);
if (profile != null) {
final tempProfile = profile.copyWith();
await tempProfile.update();
config.setProfile(tempProfile);
}
Future<void> updateProfile(Profile profile) async {
await profile.update();
config.setProfile(await profile.update());
}
Future<void> updateClashConfig({bool isPatch = true}) async {
@@ -147,7 +146,7 @@ class AppController {
continue;
}
try {
await updateProfile(profile.id);
updateProfile(profile);
} catch (e) {
appState.addLog(
Log(
@@ -164,7 +163,7 @@ class AppController {
if (profile.type == ProfileType.file) {
continue;
}
await updateProfile(profile.id);
await updateProfile(profile);
}
}
@@ -279,7 +278,7 @@ class AppController {
config: config,
clashConfig: clashConfig,
);
},title: appLocalizations.init);
}, title: appLocalizations.init);
} else {
await globalState.applyProfile(
appState: appState,
@@ -367,11 +366,9 @@ class AppController {
if (commonScaffoldState?.mounted != true) return;
final profile = await commonScaffoldState?.loadingRun<Profile>(
() async {
final profile = Profile(
return await Profile.normal(
url: url,
);
await profile.update();
return profile;
).update();
},
title: "${appLocalizations.add}${appLocalizations.profile}",
);
@@ -394,9 +391,7 @@ class AppController {
if (bytes == null) {
return null;
}
final profile = Profile(label: platformFile?.name);
await profile.saveFile(bytes);
return profile;
return await Profile.normal(label: platformFile?.name).saveFile(bytes);
},
title: "${appLocalizations.add}${appLocalizations.profile}",
);