translations and pickers
This commit is contained in:
+12
-5
@@ -7,8 +7,8 @@
|
||||
* See LICENSE file in repository root for details.
|
||||
*/
|
||||
|
||||
import { applySessionTheme } from "@rustpad/theme";
|
||||
import { setLanguage } from "@rustpad/i18n";
|
||||
import { applySessionTheme, rememberGuestTheme, restoreGuestTheme } from "@rustpad/theme";
|
||||
import { getLanguage, rememberGuestLanguage, restoreGuestLanguage, setLanguage } from "@rustpad/i18n";
|
||||
|
||||
const ACCESS_STORAGE_VERSION_KEY = "rustpad:access-storage-version";
|
||||
const ACCESS_STORAGE_VERSION = "http-only-cookie-v1";
|
||||
@@ -84,10 +84,16 @@ localStorage.removeItem("rustpad:auth-token");
|
||||
sessionStorage.removeItem("rustpad:auth-token");
|
||||
export function getAuthToken() { return localStorage.getItem(AUTH_STATE_KEY) ? "cookie" : ""; }
|
||||
export async function setAuthSession(session) {
|
||||
const hadAccountSession = localStorage.getItem(AUTH_STATE_KEY) === "1";
|
||||
if (!hadAccountSession) {
|
||||
rememberGuestTheme();
|
||||
rememberGuestLanguage(getLanguage());
|
||||
}
|
||||
localStorage.setItem(AUTH_STATE_KEY, "1");
|
||||
setNickname(session.nickname);
|
||||
applySessionTheme(session);
|
||||
await setLanguage(session?.language || "en");
|
||||
await setLanguage(session?.language || "en", { scope: "account" });
|
||||
window.dispatchEvent(new CustomEvent("rustpad:session-change", { detail: { session } }));
|
||||
}
|
||||
export async function clearAuthSession() {
|
||||
localStorage.removeItem(AUTH_STATE_KEY);
|
||||
@@ -95,7 +101,8 @@ export async function clearAuthSession() {
|
||||
sessionStorage.removeItem("rustpad:auth-token");
|
||||
localStorage.removeItem(NICKNAME_KEY);
|
||||
sessionStorage.removeItem(NICKNAME_KEY);
|
||||
localStorage.removeItem("rustpad:language");
|
||||
setNicknameCookie("");
|
||||
await setLanguage("en", { persist: false });
|
||||
restoreGuestTheme();
|
||||
await restoreGuestLanguage();
|
||||
window.dispatchEvent(new CustomEvent("rustpad:session-change", { detail: { session: null } }));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user