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