feat: 支持主分组隐藏节点并保留排序

This commit is contained in:
2026-10-05 10:00:06 +08:00
parent b6aa2bf30d
commit 6ed0307ea9
8 changed files with 124 additions and 14 deletions
+12 -4
View File
@@ -31,7 +31,8 @@ export async function saveSubscriptionSettingsAction(formData: FormData) {
await saveSubscriptionSettings({
template: String(formData.get("template") ?? ""),
extraProxyGroups: String(formData.get("extra_proxy_groups") ?? ""),
profileName: String(formData.get("profile_name") ?? "").trim() || "FeieProxy",
profileName:
String(formData.get("profile_name") ?? "").trim() || "FeieProxy",
});
revalidatePath("/admin/subscriptions");
@@ -55,7 +56,9 @@ export async function saveProxyGroupAction(formData: FormData) {
type: "select",
memberSlugs,
} as const;
const existingIndex = settings.proxyGroups.findIndex((group) => group.id === id);
const existingIndex = settings.proxyGroups.findIndex(
(group) => group.id === id,
);
const proxyGroups = [...settings.proxyGroups];
if (existingIndex === -1) {
@@ -71,7 +74,10 @@ export async function saveProxyGroupAction(formData: FormData) {
export async function saveMainProxyGroupAction(formData: FormData) {
await requireAdminAccess();
await saveMainProxyGroupMemberSlugs(readUniqueMemberSlugs(formData));
await saveMainProxyGroupMemberSlugs(
readUniqueMemberSlugs(formData),
formData.getAll("hidden_slugs").map(String),
);
revalidatePath("/admin/subscriptions");
}
@@ -80,6 +86,8 @@ export async function deleteProxyGroupAction(formData: FormData) {
const settings = await getSubscriptionSettings();
const id = String(formData.get("id") ?? "").trim();
await saveProxyGroups(settings.proxyGroups.filter((group) => group.id !== id));
await saveProxyGroups(
settings.proxyGroups.filter((group) => group.id !== id),
);
revalidatePath("/admin/subscriptions");
}