mirror of
https://github.com/samsonjs/spirit-tracker.git
synced 2026-03-25 09:25:51 +00:00
37 lines
725 B
JavaScript
37 lines
725 B
JavaScript
import { fetchJson } from "./api.js";
|
|
|
|
let INDEX = null;
|
|
let RECENT = null;
|
|
|
|
export async function loadIndex() {
|
|
if (INDEX) return INDEX;
|
|
INDEX = await fetchJson("./data/index.json");
|
|
return INDEX;
|
|
}
|
|
|
|
export async function loadRecent() {
|
|
if (RECENT) return RECENT;
|
|
try {
|
|
RECENT = await fetchJson("./data/recent.json");
|
|
} catch {
|
|
RECENT = { count: 0, items: [] };
|
|
}
|
|
return RECENT;
|
|
}
|
|
|
|
// persist search box value across navigation
|
|
const Q_LS_KEY = "stviz:v1:search:q";
|
|
|
|
export function loadSavedQuery() {
|
|
try {
|
|
return localStorage.getItem(Q_LS_KEY) || "";
|
|
} catch {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
export function saveQuery(v) {
|
|
try {
|
|
localStorage.setItem(Q_LS_KEY, String(v ?? ""));
|
|
} catch {}
|
|
}
|