- /console/rules tabs: rule groups, custom conditions, defaults, acquisition policies, suppressions - editor: rule string parsed live via /rules/parse (position + suggestions) and synced both ways with layer cards; hard excludes; expectedRevision conflicts keep local edits - preview against recent releases or pasted titles with pri / level / reasons / trace - single-rule groups shown as preference tags; disable/delete writes suppression records - /console/preferences redirects to /console/rules (origin passed through) Co-Authored-By: Claude Opus 5.5 <[email protected]>
18 lines
619 B
TypeScript
18 lines
619 B
TypeScript
import { redirect } from "react-router";
|
|
|
|
// 偏好标签已并入规则页(docs/design/subscriptions.md §6):单条规则以标签形态显示在“规则组”Tab。
|
|
// 旧链接带 origin 筛选时透传,规则页按来源筛选。
|
|
|
|
export function clientLoader({ request }: { request: Request }) {
|
|
const from = new URL(request.url).searchParams;
|
|
const to = new URLSearchParams();
|
|
const origin = from.get("origin");
|
|
if (origin) to.set("origin", origin);
|
|
const qs = to.toString();
|
|
return redirect(`/console/rules${qs ? `?${qs}` : ""}`);
|
|
}
|
|
|
|
export default function PreferencesRedirect() {
|
|
return null;
|
|
}
|