Merge pull request #1187 from SeerLite/localstorage

Use localStorage instead of cookies
This commit is contained in:
Jack 2021-04-12 23:25:55 +01:00 committed by GitHub
commit ce94aa0f76
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 152 additions and 150 deletions

View file

@ -65,11 +65,11 @@ export function getDataAndInit() {
CloudFunctions.removeSmallTests({ uid: user.uid });
}
if (!UpdateConfig.changedBeforeDb) {
if (Config.cookieConfig === null) {
if (Config.localStorageConfig === null) {
AccountButton.loading(false);
UpdateConfig.apply(DB.getSnapshot().config);
Settings.update();
UpdateConfig.saveToCookie(true);
UpdateConfig.saveToLocalStorage(true);
TestLogic.restart(false, true);
} else if (DB.getSnapshot().config !== undefined) {
//loading db config, keep for now
@ -112,7 +112,7 @@ export function getDataAndInit() {
AccountButton.loading(false);
UpdateConfig.apply(DB.getSnapshot().config);
Settings.update();
UpdateConfig.saveToCookie(true);
UpdateConfig.saveToLocalStorage(true);
TestLogic.restart(false, true);
}
}
@ -135,7 +135,7 @@ export function getDataAndInit() {
AccountButton.loading(false);
ResultFilters.updateTags();
CommandlineLists.updateTagCommands();
TagController.loadActiveFromCookie();
TagController.loadActiveFromLocalStorage();
ResultTagsPopup.updateButtons();
Settings.showAccountSection();
})

View file

@ -103,13 +103,13 @@ export function loadTags(tags) {
}
export function save() {
Misc.setCookie("resultFilters", JSON.stringify(filters), 365);
window.localStorage.setItem("resultFilters", JSON.stringify(filters));
}
export function load() {
// let newTags = $.cookie("activeTags");
try {
let newResultFilters = Misc.getCookie("resultFilters");
let newResultFilters = window.localStorage.getItem("resultFilters");
if (newResultFilters !== undefined && newResultFilters !== "") {
filters = JSON.parse(newResultFilters);
save();

View file

@ -198,7 +198,7 @@ export function updateTagCommands() {
tag.active = false;
});
TestUI.updateModesNotice();
TagController.saveActiveToCookie();
TagController.saveActiveToLocalStorage();
},
});

View file

@ -18,12 +18,12 @@ import * as UI from "./ui";
import * as CommandlineLists from "./commandline-lists";
import * as BackgroundFilter from "./custom-background-filter";
export let cookieConfig = null;
export let localStorageConfig = null;
export let dbConfigLoaded = false;
export let changedBeforeDb = false;
export function setCookieConfig(val) {
cookieConfig = val;
export function setLocalStorageConfig(val) {
localStorageConfig = val;
}
export function setDbConfigLoaded(val) {
@ -131,7 +131,7 @@ let config = {
...defaultConfig,
};
export async function saveToCookie(noDbCheck = false) {
export async function saveToLocalStorage(noDbCheck = false) {
if (!dbConfigLoaded && !noDbCheck) {
setChangedBeforeDb(true);
}
@ -143,7 +143,7 @@ export async function saveToCookie(noDbCheck = false) {
// });
let save = config;
delete save.resultFilters;
Misc.setCookie("config", JSON.stringify(save), 365);
window.localStorage.setItem("config", JSON.stringify(save));
// restartCount = 0;
if (!noDbCheck) await DB.saveConfig(save);
}
@ -159,7 +159,7 @@ export function setNumbers(numb, nosave) {
} else {
$("#top .config .numbersMode .text-button").addClass("active");
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleNumbers() {
@ -172,7 +172,7 @@ export function toggleNumbers() {
} else {
$("#top .config .numbersMode .text-button").removeClass("active");
}
saveToCookie();
saveToLocalStorage();
}
//punctuation
@ -186,7 +186,7 @@ export function setPunctuation(punc, nosave) {
} else {
$("#top .config .punctuationMode .text-button").addClass("active");
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function togglePunctuation() {
@ -199,7 +199,7 @@ export function togglePunctuation() {
} else {
$("#top .config .punctuationMode .text-button").removeClass("active");
}
saveToCookie();
saveToLocalStorage();
}
export function setMode(mode, nosave) {
@ -273,7 +273,7 @@ export function setMode(mode, nosave) {
}
// setPaceCaret("off", true);
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setPlaySoundOnError(val, nosave) {
@ -281,7 +281,7 @@ export function setPlaySoundOnError(val, nosave) {
val = false;
}
config.playSoundOnError = val;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setPlaySoundOnClick(val, nosave) {
@ -290,7 +290,7 @@ export function setPlaySoundOnClick(val, nosave) {
}
config.playSoundOnClick = val;
if (config.playSoundOnClick !== "off") Sound.init();
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function togglePlaySoundOnError() {
@ -311,14 +311,14 @@ export function setDifficulty(diff, nosave) {
config.difficulty = diff;
if (!nosave) TestLogic.restart(false, nosave);
TestUI.updateModesNotice();
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
//set fav themes
export function setFavThemes(themes, nosave) {
config.favThemes = themes;
if (!nosave) {
saveToCookie();
saveToLocalStorage();
}
}
@ -330,7 +330,7 @@ export function toggleBlindMode() {
}
config.blindMode = blind;
TestUI.updateModesNotice();
saveToCookie();
saveToLocalStorage();
}
export function setBlindMode(blind, nosave) {
@ -339,7 +339,7 @@ export function setBlindMode(blind, nosave) {
}
config.blindMode = blind;
TestUI.updateModesNotice();
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
function updateChartAccuracy() {
@ -367,7 +367,7 @@ export function toggleChartAccuracy() {
config.chartAccuracy = true;
}
updateChartAccuracy();
saveToCookie();
saveToLocalStorage();
}
export function setChartAccuracy(chartAccuracy, nosave) {
@ -376,7 +376,7 @@ export function setChartAccuracy(chartAccuracy, nosave) {
}
config.chartAccuracy = chartAccuracy;
updateChartAccuracy();
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleChartStyle() {
@ -386,7 +386,7 @@ export function toggleChartStyle() {
config.chartStyle = "scatter";
}
updateChartStyle();
saveToCookie();
saveToLocalStorage();
}
export function setChartStyle(chartStyle, nosave) {
@ -395,7 +395,7 @@ export function setChartStyle(chartStyle, nosave) {
}
config.chartStyle = chartStyle;
updateChartStyle();
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setStopOnError(soe, nosave) {
@ -407,13 +407,13 @@ export function setStopOnError(soe, nosave) {
config.confidenceMode = "off";
}
TestUI.updateModesNotice();
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
//alwaysshowdecimal
export function toggleAlwaysShowDecimalPlaces() {
config.alwaysShowDecimalPlaces = !config.alwaysShowDecimalPlaces;
saveToCookie();
saveToLocalStorage();
}
export function setAlwaysShowDecimalPlaces(val, nosave) {
@ -421,12 +421,12 @@ export function setAlwaysShowDecimalPlaces(val, nosave) {
val = false;
}
config.alwaysShowDecimalPlaces = val;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleAlwaysShowCPM() {
config.alwaysShowCPM = !config.alwaysShowCPM;
saveToCookie();
saveToLocalStorage();
}
export function setAlwaysShowCPM(val, nosave) {
@ -434,7 +434,7 @@ export function setAlwaysShowCPM(val, nosave) {
val = false;
}
config.alwaysShowCPM = val;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
//show out of focus warning
@ -443,7 +443,7 @@ export function toggleShowOutOfFocusWarning() {
if (!config.showOutOfFocusWarning) {
OutOfFocus.hide();
}
saveToCookie();
saveToLocalStorage();
}
export function setShowOutOfFocusWarning(val, nosave) {
@ -454,13 +454,13 @@ export function setShowOutOfFocusWarning(val, nosave) {
if (!config.showOutOfFocusWarning) {
OutOfFocus.hide();
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
//swap esc and tab
export function toggleSwapEscAndTab() {
config.swapEscAndTab = !config.swapEscAndTab;
saveToCookie();
saveToLocalStorage();
UI.updateKeytips();
}
@ -470,7 +470,7 @@ export function setSwapEscAndTab(val, nosave) {
}
config.swapEscAndTab = val;
UI.updateKeytips();
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
//pace caret
@ -491,7 +491,7 @@ export function setPaceCaret(val, nosave) {
config.paceCaret = val;
TestUI.updateModesNotice();
PaceCaret.init(nosave);
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setPaceCaretCustomSpeed(val, nosave) {
@ -499,7 +499,7 @@ export function setPaceCaretCustomSpeed(val, nosave) {
val = 100;
}
config.paceCaretCustomSpeed = val;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
//min wpm
@ -509,7 +509,7 @@ export function setMinWpm(minwpm, nosave) {
}
config.minWpm = minwpm;
TestUI.updateModesNotice();
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setMinWpmCustomSpeed(val, nosave) {
@ -517,7 +517,7 @@ export function setMinWpmCustomSpeed(val, nosave) {
val = 100;
}
config.minWpmCustomSpeed = val;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
//min acc
@ -527,7 +527,7 @@ export function setMinAcc(min, nosave) {
}
config.minAcc = min;
TestUI.updateModesNotice();
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setMinAccCustom(val, nosave) {
@ -535,7 +535,7 @@ export function setMinAccCustom(val, nosave) {
val = 90;
}
config.minAccCustom = val;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
//always show words history
@ -544,7 +544,7 @@ export function setAlwaysShowWordsHistory(val, nosave) {
val = false;
}
config.alwaysShowWordsHistory = val;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleAlwaysShowWordsHistory() {
@ -553,14 +553,14 @@ export function toggleAlwaysShowWordsHistory() {
val = false;
}
config.alwaysShowWordsHistory = val;
saveToCookie();
saveToLocalStorage();
}
//single list command line
export function setSingleListCommandLine(option, nosave) {
if (!option) option = "manual";
config.singleListCommandLine = option;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
//show all lines
@ -571,7 +571,7 @@ export function toggleShowAllLines() {
}
config.showAllLines = sal;
TestLogic.restart();
saveToCookie();
saveToLocalStorage();
}
export function setShowAllLines(sal, nosave) {
@ -580,7 +580,7 @@ export function setShowAllLines(sal, nosave) {
}
config.showAllLines = sal;
if (!nosave) {
saveToCookie();
saveToLocalStorage();
TestLogic.restart();
}
}
@ -592,7 +592,7 @@ export function toggleQuickEnd() {
qe = false;
}
config.quickEnd = qe;
saveToCookie();
saveToLocalStorage();
}
export function setQuickEnd(qe, nosave) {
@ -600,7 +600,7 @@ export function setQuickEnd(qe, nosave) {
qe = false;
}
config.quickEnd = qe;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setEnableAds(val, nosave) {
@ -608,7 +608,7 @@ export function setEnableAds(val, nosave) {
val = "off";
}
config.enableAds = val;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setRepeatQuotes(val, nosave) {
@ -616,7 +616,7 @@ export function setRepeatQuotes(val, nosave) {
val = "off";
}
config.repeatQuotes = val;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
//flip colors
@ -626,13 +626,13 @@ export function setFlipTestColors(flip, nosave) {
}
config.flipTestColors = flip;
TestUI.flipColors(flip);
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleFlipTestColors() {
config.flipTestColors = !config.flipTestColors;
TestUI.flipColors(config.flipTestColors);
saveToCookie();
saveToLocalStorage();
}
//extra color
@ -642,13 +642,13 @@ export function setColorfulMode(extra, nosave) {
}
config.colorfulMode = extra;
TestUI.colorful(extra);
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleColorfulMode() {
config.colorfulMode = !config.colorfulMode;
TestUI.colorful(config.colorfulMode);
saveToCookie();
saveToLocalStorage();
}
//strict space
@ -657,12 +657,12 @@ export function setStrictSpace(val, nosave) {
val = false;
}
config.strictSpace = val;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleStrictSpace() {
config.strictSpace = !config.strictSpace;
saveToCookie();
saveToLocalStorage();
}
//opposite shift space
@ -671,7 +671,7 @@ export function setOppositeShiftMode(val, nosave) {
val = "off";
}
config.oppositeShiftMode = val;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setPageWidth(val, nosave) {
@ -687,7 +687,7 @@ export function setPageWidth(val, nosave) {
if (val !== "100") {
$("#centerContent").addClass("wide" + val);
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setCaretStyle(caretStyle, nosave) {
@ -717,7 +717,7 @@ export function setCaretStyle(caretStyle, nosave) {
} else if (caretStyle == "banana") {
$("#caret").addClass("banana");
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setPaceCaretStyle(caretStyle, nosave) {
@ -742,7 +742,7 @@ export function setPaceCaretStyle(caretStyle, nosave) {
} else if (caretStyle == "underline") {
$("#paceCaret").addClass("underline");
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setShowTimerProgress(timer, nosave) {
@ -755,7 +755,7 @@ export function setShowTimerProgress(timer, nosave) {
} else {
TimerProgress.hide();
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleShowTimerProgress() {
@ -765,7 +765,7 @@ export function toggleShowTimerProgress() {
} else {
TimerProgress.hide();
}
saveToCookie();
saveToLocalStorage();
}
export function setShowLiveWpm(live, nosave) {
@ -778,7 +778,7 @@ export function setShowLiveWpm(live, nosave) {
} else {
LiveWpm.hide();
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleShowLiveWpm() {
@ -788,7 +788,7 @@ export function toggleShowLiveWpm() {
} else {
LiveWpm.hide();
}
saveToCookie();
saveToLocalStorage();
}
export function setShowLiveAcc(live, nosave) {
@ -801,7 +801,7 @@ export function setShowLiveAcc(live, nosave) {
} else {
LiveAcc.hide();
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleLiveAcc() {
@ -811,7 +811,7 @@ export function toggleLiveAcc() {
} else {
LiveAcc.hide();
}
saveToCookie();
saveToLocalStorage();
}
export function setHighlightMode(mode, nosave) {
@ -829,7 +829,7 @@ export function setHighlightMode(mode, nosave) {
mode = "letter";
}
config.highlightMode = mode;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setHideExtraLetters(val, nosave) {
@ -837,12 +837,12 @@ export function setHideExtraLetters(val, nosave) {
val = false;
}
config.hideExtraLetters = val;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleHideExtraLetters() {
config.hideExtraLetters = !config.hideExtraLetters;
saveToCookie();
saveToLocalStorage();
}
export function setTimerStyle(style, nosave) {
@ -850,7 +850,7 @@ export function setTimerStyle(style, nosave) {
style = "mini";
}
config.timerStyle = style;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setTimerColor(color, nosave) {
@ -892,14 +892,14 @@ export function setTimerColor(color, nosave) {
$("#miniTimerAndLiveWpm").addClass("timerText");
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setTimerOpacity(opacity, nosave) {
if (opacity == null || opacity == undefined) {
opacity = 0.25;
}
config.timerOpacity = opacity;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
//key tips
@ -910,7 +910,7 @@ export function setKeyTips(keyTips, nosave) {
} else {
$("#bottom .keyTips").addClass("hidden");
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleKeyTips() {
@ -920,7 +920,7 @@ export function toggleKeyTips() {
} else {
$("#bottom .keyTips").addClass("hidden");
}
saveToCookie();
saveToLocalStorage();
}
//mode
@ -938,7 +938,7 @@ export function setTimeConfig(time, nosave) {
$("#top .config .time .text-button[timeConfig='" + time + "']").addClass(
"active"
);
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
//quote length
@ -966,7 +966,7 @@ export function setQuoteLength(len, nosave, multipleMode) {
"#top .config .quoteLength .text-button[quoteLength='" + ql + "']"
).addClass("active");
});
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setWordCount(wordCount, nosave) {
@ -983,13 +983,13 @@ export function setWordCount(wordCount, nosave) {
$(
"#top .config .wordCount .text-button[wordCount='" + wordCount + "']"
).addClass("active");
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
//caret
export function setSmoothCaret(mode, nosave) {
config.smoothCaret = mode;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
if (mode) {
$("#caret").css("animation-name", "caretFlashSmooth");
} else {
@ -999,7 +999,7 @@ export function setSmoothCaret(mode, nosave) {
export function toggleSmoothCaret() {
config.smoothCaret = !config.smoothCaret;
saveToCookie();
saveToLocalStorage();
if (config.smoothCaret) {
$("#caret").css("animation-name", "caretFlashSmooth");
} else {
@ -1010,23 +1010,23 @@ export function toggleSmoothCaret() {
//startgraphsatzero
export function toggleStartGraphsAtZero() {
config.startGraphsAtZero = !config.startGraphsAtZero;
saveToCookie();
saveToLocalStorage();
}
export function setStartGraphsAtZero(mode, nosave) {
config.startGraphsAtZero = mode;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
//linescroll
export function setSmoothLineScroll(mode, nosave) {
config.smoothLineScroll = mode;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleSmoothLineScroll() {
config.smoothLineScroll = !config.smoothLineScroll;
saveToCookie();
saveToLocalStorage();
}
//quick tab
@ -1043,7 +1043,7 @@ export function setQuickTabMode(mode, nosave) {
$("#bottom .keyTips").html(`<key>tab</key> - restart test<br>
<key>esc</key> - command line`);
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleQuickTabMode() {
@ -1059,7 +1059,7 @@ export function toggleQuickTabMode() {
$("#bottom .keyTips").html(`<key>tab</key> - restart test<br>
<key>esc</key> - command line`);
}
saveToCookie();
saveToLocalStorage();
}
export function previewFontFamily(font) {
@ -1098,7 +1098,7 @@ export function setFontFamily(font, nosave) {
'"' + font.replace(/_/g, " ") + '"'
);
ChartController.setDefaultFontFamily(font);
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
//freedom
@ -1110,7 +1110,7 @@ export function setFreedomMode(freedom, nosave) {
if (config.freedomMode && config.confidenceMode !== "off") {
config.confidenceMode = "off";
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleFreedomMode() {
@ -1118,7 +1118,7 @@ export function toggleFreedomMode() {
if (config.freedomMode && config.confidenceMode !== "off") {
config.confidenceMode = false;
}
saveToCookie();
saveToLocalStorage();
}
export function setConfidenceMode(cm, nosave) {
@ -1132,7 +1132,7 @@ export function setConfidenceMode(cm, nosave) {
}
TestUI.updateModesNotice();
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleIndicateTypos() {
@ -1141,7 +1141,7 @@ export function toggleIndicateTypos() {
it = false;
}
config.indicateTypos = it;
saveToCookie();
saveToLocalStorage();
}
export function setIndicateTypos(it, nosave) {
@ -1149,7 +1149,7 @@ export function setIndicateTypos(it, nosave) {
it = false;
}
config.indicateTypos = it;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setCustomTheme(boolean, nosave) {
@ -1159,14 +1159,14 @@ export function setCustomTheme(boolean, nosave) {
} else if (!boolean && !nosave) {
ThemeController.set(config.theme);
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setTheme(name, nosave) {
config.theme = name;
setCustomTheme(false, true, true);
ThemeController.set(config.theme);
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setRandomTheme(val, nosave) {
@ -1177,7 +1177,7 @@ export function setRandomTheme(val, nosave) {
ThemeController.clearRandom();
}
config.randomTheme = val;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleCustomTheme(nosave) {
@ -1188,7 +1188,7 @@ export function toggleCustomTheme(nosave) {
setCustomTheme(true);
ThemeController.set("custom");
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setCustomThemeColors(colors, nosave) {
@ -1197,7 +1197,7 @@ export function setCustomThemeColors(colors, nosave) {
// ThemeController.set("custom");
// applyCustomThemeColors();
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setLanguage(language, nosave) {
@ -1212,7 +1212,7 @@ export function setLanguage(language, nosave) {
} catch (e) {
console.log("Analytics unavailable");
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleMonkey(nosave) {
@ -1222,7 +1222,7 @@ export function toggleMonkey(nosave) {
} else {
$("#monkey").addClass("hidden");
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setMonkey(monkey, nosave) {
@ -1235,7 +1235,7 @@ export function setMonkey(monkey, nosave) {
} else {
$("#monkey").addClass("hidden");
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setCapsLockBackspace(capsLockBackspace, nosave) {
@ -1243,7 +1243,7 @@ export function setCapsLockBackspace(capsLockBackspace, nosave) {
capsLockBackspace = false;
}
config.capsLockBackspace = capsLockBackspace;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function toggleCapsLockBackspace() {
@ -1258,7 +1258,7 @@ export function setKeymapMode(mode, nosave) {
$(".keymap-key").attr("style", "");
config.keymapMode = mode;
if (!nosave) TestLogic.restart(false, nosave);
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setKeymapLegendStyle(style, nosave) {
@ -1286,7 +1286,7 @@ export function setKeymapLegendStyle(style, nosave) {
// Update and save to cookie for persistence
$(".keymapLegendStyle").addClass(style);
config.keymapLegendStyle = style;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setKeymapStyle(style, nosave) {
@ -1297,7 +1297,7 @@ export function setKeymapStyle(style, nosave) {
$(".keymap").addClass(style);
config.keymapStyle = style;
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setKeymapLayout(layout, nosave) {
@ -1306,7 +1306,7 @@ export function setKeymapLayout(layout, nosave) {
}
config.keymapLayout = layout;
Keymap.refreshKeys(layout, setKeymapLayout);
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setLayout(layout, nosave) {
@ -1318,7 +1318,7 @@ export function setLayout(layout, nosave) {
if (config.keymapLayout === "overrideSync") {
Keymap.refreshKeys(config.keymapLayout, setKeymapLayout);
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
// export function setSavedLayout(layout, nosave) {
@ -1365,7 +1365,7 @@ export function setFontSize(fontSize, nosave) {
$("#caret, #paceCaret").addClass("size3");
$("#miniTimerAndLiveWpm").addClass("size3");
}
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setCustomBackground(value, nosave) {
@ -1384,7 +1384,7 @@ export function setCustomBackground(value, nosave) {
(command) => command.id == "changeCustomBackground"
)[0].defaultValue = value;
ThemeController.applyCustomBackground();
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
} else {
Notifications.add("Invalid custom background URL", 0);
}
@ -1396,14 +1396,14 @@ export function setCustomBackgroundSize(value, nosave) {
}
config.customBackgroundSize = value;
ThemeController.applyCustomBackgroundSize();
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function setCustomBackgroundFilter(array, nosave) {
config.customBackgroundFilter = array;
BackgroundFilter.loadConfig(config.customBackgroundFilter);
BackgroundFilter.apply();
if (!nosave) saveToCookie();
if (!nosave) saveToLocalStorage();
}
export function apply(configObj) {
@ -1676,24 +1676,24 @@ export function reset() {
...defaultConfig,
};
apply();
saveToCookie();
saveToLocalStorage();
}
export function loadFromCookie() {
console.log("loading cookie config");
export function loadFromLocalStorage() {
console.log("loading localStorage config");
// let newConfig = $.cookie("config");
let newConfig = Misc.getCookie("config");
if (newConfig !== undefined && newConfig !== "") {
let newConfig = window.localStorage.getItem("config");
if (newConfig !== undefined && newConfig !== null && newConfig !== "") {
try {
newConfig = JSON.parse(newConfig);
} catch (e) {
newConfig = {};
}
apply(newConfig);
console.log("applying cookie config");
cookieConfig = newConfig;
saveToCookie(true);
console.log("saving cookie config");
console.log("applying localStorage config");
localStorageConfig = newConfig;
saveToLocalStorage(true);
console.log("saving localStorage config");
}
TestLogic.restart(false, true);
loadDone();

View file

@ -287,27 +287,28 @@ export async function getLanguage(lang) {
}
}
export function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);
var expires = "expires=" + d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
export function migrateFromCookies() {
["resultFilters", "config", "merchbannerclosed", "activeTags"].forEach(
function (name) {
let decodedCookie = decodeURIComponent(document.cookie).split(";");
let value = null;
export function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(";");
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == " ") {
c = c.substring(1);
for (var i = 0; i < decodedCookie.length; i++) {
var c = decodedCookie[i];
while (c.charAt(0) == " ") {
c = c.substring(1);
}
if (c.indexOf(name + "=") == 0) {
value = c.substring(name.length + 1, c.length);
}
}
if (value) {
window.localStorage.setItem(name, value);
$.removeCookie(name, { path: "/" });
}
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
);
}
export function sendVerificationEmail() {

View file

@ -27,7 +27,7 @@ function hide() {
-1
);
}
UpdateConfig.saveToCookie();
UpdateConfig.saveToLocalStorage();
Settings.update();
}
$("#settingsImportWrapper")

View file

@ -7,7 +7,8 @@ import * as RouteController from "./route-controller";
import * as UI from "./ui";
ManualRestart.set();
UpdateConfig.loadFromCookie();
Misc.migrateFromCookies();
UpdateConfig.loadFromLocalStorage();
Misc.getReleasesFromGitHub();
$(document).ready(() => {
@ -19,7 +20,7 @@ $(document).ready(() => {
if (Config.quickTab) {
$("#restartTestButton").addClass("hidden");
}
if (!Misc.getCookie("merchbannerclosed")) {
if (!window.localStorage.getItem("merchbannerclosed")) {
$(".merchBanner").removeClass("hidden");
} else {
$(".merchBanner").remove();

View file

@ -93,7 +93,7 @@ function toggleFavourite(themename) {
newlist.push(themename);
UpdateConfig.setFavThemes(newlist);
}
UpdateConfig.saveToCookie();
UpdateConfig.saveToLocalStorage();
refreshButtons();
// showFavouriteThemesAtTheTop();
CommandlineLists.updateThemeCommands();

View file

@ -2,7 +2,7 @@ import * as DB from "./db";
import * as TestUI from "./test-ui";
import * as Misc from "./misc";
export function saveActiveToCookie() {
export function saveActiveToLocalStorage() {
let tags = [];
try {
@ -18,7 +18,7 @@ export function saveActiveToCookie() {
// expires: d,
// path: "/",
// });
Misc.setCookie("activeTags", JSON.stringify(tags), 365);
window.localStorage.setItem("activeTags", JSON.stringify(tags));
} catch (e) {}
}
@ -33,12 +33,12 @@ export function toggle(tagid, nosave = false) {
}
});
TestUI.updateModesNotice();
if (!nosave) saveActiveToCookie();
if (!nosave) saveActiveToLocalStorage();
}
export function loadActiveFromCookie() {
export function loadActiveFromLocalStorage() {
// let newTags = $.cookie("activeTags");
let newTags = Misc.getCookie("activeTags");
let newTags = window.localStorage.getItem("activeTags");
if (newTags !== undefined && newTags !== "") {
try {
newTags = JSON.parse(newTags);
@ -48,6 +48,6 @@ export function loadActiveFromCookie() {
newTags.forEach((ntag) => {
toggle(ntag, true);
});
saveActiveToCookie();
saveActiveToLocalStorage();
}
}

View file

@ -231,12 +231,12 @@ window.addEventListener("keydown", function (e) {
$(".merchBanner a").click((event) => {
$(".merchBanner").remove();
Misc.setCookie("merchbannerclosed", true, 365);
window.localStorage.setItem("merchbannerclosed", true);
});
$(".merchBanner .fas").click((event) => {
$(".merchBanner").remove();
Misc.setCookie("merchbannerclosed", true, 365);
window.localStorage.setItem("merchbannerclosed", true);
Notifications.add(
"Won't remind you anymore. Thanks for continued support <3",
0,