fix: adjust code

This commit is contained in:
GyDi 2022-12-15 21:54:48 +08:00
parent 2bcf6fb3eb
commit 8bad2c2113
No known key found for this signature in database
GPG Key ID: 9C3AD40F1F99880A

View File

@ -83,27 +83,20 @@ const ProfilePage = () => {
let hasChange = false;
const newSelected: typeof selected = [];
const { global, groups } = proxiesData;
[global, ...groups].forEach((group) => {
const { type, name, now } = group;
if (type !== "Selector" && type !== "Fallback") return;
if (!now || selectedMap[name] === now) return;
if (selectedMap[name] == null) {
selectedMap[name] = now!;
} else {
[global, ...groups].forEach(({ type, name, now }) => {
if (!now || (type !== "Selector" && type !== "Fallback")) return;
if (selectedMap[name] != null && selectedMap[name] !== now) {
hasChange = true;
updateProxy(name, selectedMap[name]);
}
newSelected.push({ name, now });
});
// update profile selected list
profile.selected = Object.entries(selectedMap).map(([name, now]) => ({
name,
now,
}));
patchProfile(current!, { selected: profile.selected });
patchProfile(current!, { selected: newSelected });
// update proxies cache
if (hasChange) mutate("getProxies", getProxies());
}, 100);
@ -122,11 +115,9 @@ const ProfilePage = () => {
mutate("getProfiles", newProfiles);
const remoteItem = newProfiles.items?.find((e) => e.type === "remote");
if (!newProfiles.current && remoteItem) {
const current = remoteItem.uid;
patchProfiles({ current });
mutateProfiles();
mutateLogs();
}
});