nomadweb/frontend/src/lib/nextStopPrefs.ts
eric bdf0516197 Fix dating match gate and expand seed data for usable demos.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 06:18:25 -05:00

41 lines
1010 B
TypeScript

"use client";
import { clearDraft, loadDraft, saveDraft } from "@/lib/localDraft";
export type NextStopPrefs = {
budget: number;
internet: number;
climate: string;
selectedTags: string[];
};
const KEY = "nomadro-next-stop-prefs";
const DEFAULTS: NextStopPrefs = {
budget: 8000,
internet: 50,
climate: "mild",
selectedTags: ["社区活跃"],
};
export function loadNextStopPrefs(): NextStopPrefs {
const raw = loadDraft<Partial<NextStopPrefs>>(KEY);
if (!raw) return { ...DEFAULTS };
return {
budget: typeof raw.budget === "number" ? raw.budget : DEFAULTS.budget,
internet: typeof raw.internet === "number" ? raw.internet : DEFAULTS.internet,
climate: raw.climate || DEFAULTS.climate,
selectedTags: Array.isArray(raw.selectedTags) && raw.selectedTags.length
? raw.selectedTags
: DEFAULTS.selectedTags,
};
}
export function saveNextStopPrefs(prefs: NextStopPrefs) {
saveDraft(KEY, prefs);
}
export function clearNextStopPrefs() {
clearDraft(KEY);
}