feat: add profile language preferences and refine toast, dropdown and history UI
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
*/
|
||||
|
||||
import { applySessionTheme } from "@rustpad/theme";
|
||||
import { setLanguage } from "@rustpad/i18n";
|
||||
|
||||
const ACCESS_STORAGE_VERSION_KEY = "rustpad:access-storage-version";
|
||||
const ACCESS_STORAGE_VERSION = "http-only-cookie-v1";
|
||||
@@ -82,16 +83,19 @@ const AUTH_STATE_KEY = "rustpad:auth-state";
|
||||
localStorage.removeItem("rustpad:auth-token");
|
||||
sessionStorage.removeItem("rustpad:auth-token");
|
||||
export function getAuthToken() { return localStorage.getItem(AUTH_STATE_KEY) ? "cookie" : ""; }
|
||||
export function setAuthSession(session) {
|
||||
export async function setAuthSession(session) {
|
||||
localStorage.setItem(AUTH_STATE_KEY, "1");
|
||||
setNickname(session.nickname);
|
||||
applySessionTheme(session);
|
||||
await setLanguage(session?.language || "en");
|
||||
}
|
||||
export function clearAuthSession() {
|
||||
export async function clearAuthSession() {
|
||||
localStorage.removeItem(AUTH_STATE_KEY);
|
||||
localStorage.removeItem("rustpad:auth-token");
|
||||
sessionStorage.removeItem("rustpad:auth-token");
|
||||
localStorage.removeItem(NICKNAME_KEY);
|
||||
sessionStorage.removeItem(NICKNAME_KEY);
|
||||
localStorage.removeItem("rustpad:language");
|
||||
setNicknameCookie("");
|
||||
await setLanguage("en", { persist: false });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user