lexiconga-lite/src/js/account/utilities.js

39 lines
1.1 KiB
JavaScript

import { setCookie } from "../StackOverflow/cookie";
import { DELETED_WORDS_LOCALSTORAGE_KEY } from "./constants";
import { getTimestampInSeconds } from "../../helpers";
export function saveToken(token) {
setCookie('token', token, 30);
}
export function saveDeletedWordsLocally(wordIds) {
let storedDeletedWords = getLocalDeletedWords();
wordIds.forEach(wordId => {
if (storedDeletedWords.findIndex(stored => stored.id === wordId) < 0) {
storedDeletedWords.push({
id: wordId,
deletedOn: getTimestampInSeconds(),
});
}
});
window.localStorage.setItem(DELETED_WORDS_LOCALSTORAGE_KEY, JSON.stringify(storedDeletedWords));
}
export function saveDeletedWordLocally(wordId) {
saveDeletedWordsLocally([wordId]);
}
export function getLocalDeletedWords() {
let storedDeletedWords = window.localStorage.getItem(DELETED_WORDS_LOCALSTORAGE_KEY);
if (!storedDeletedWords) {
storedDeletedWords = [];
} else {
storedDeletedWords = JSON.parse(storedDeletedWords);
}
return storedDeletedWords;
}
export function clearLocalDeletedWords() {
window.localStorage.removeItem(DELETED_WORDS_LOCALSTORAGE_KEY);
}