UNPKG

lrc-maker

Version:

歌词滚动姬|可能是你所能见到的最好用的歌词制作工具

57 lines 1.64 kB
export const info = JSON.parse(document.getElementById("app-info").textContent); export const themeColor = { orange: "#ff691f", yellow: "#fab81e", lime: "#7fdbb6", green: "#19cf86", blue: "#91d2fa", navy: "#1b95e0", grey: "#abb8c2", red: "#e81c4f", pink: "#f58ea8", purple: "#c877fe", }; const initState = { lang: "en-US", spaceStart: 1, spaceEnd: 0, fixed: 3, builtInAudio: false, screenButton: false, themeColor: themeColor.pink, themeMode: 0, }; const reducer = (state, action) => { const payload = action.payload; return Object.assign(Object.assign({}, state), { [action.type]: typeof payload === "function" ? payload(state) : payload }); }; const init = (lazyInit) => { const state = initState; const languages = navigator.languages || [navigator.language || "en-US"]; state.lang = languages .map((langCode) => { if (langCode === "zh") { return "zh-CN"; } if (langCode.startsWith("en")) { return "en-US"; } return langCode; }) .find((langCode) => langCode in info.languages) || "en-US"; try { const storedState = JSON.parse(lazyInit()); const validKeys = Object.keys(initState); for (const key of validKeys) { if (key in storedState) { state[key] = storedState[key]; } } } catch (error) { } return state; }; export const usePref = (lazyInit) => React.useReducer(reducer, lazyInit, init); //# sourceMappingURL=usePref.js.map