project setup

This commit is contained in:
Sone
2025-11-02 10:08:56 +01:00
commit 568838003e
174 changed files with 27100 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
import * as SecureStore from "expo-secure-store";
import { Platform } from "react-native";
let inMemoryToken: string | null = null;
export const getToken = (): string | null => inMemoryToken;
export const setToken = async (token: string | null) => {
inMemoryToken = token;
try {
if (Platform.OS === "web") {
if (token) localStorage.setItem("auth_token", token);
else localStorage.removeItem("auth_token");
} else {
if (token) await SecureStore.setItemAsync("auth_token", token);
else await SecureStore.deleteItemAsync("auth_token");
}
} catch (e) {
console.warn("Token persistence error:", e);
}
};
export const loadPersistedToken = async (): Promise<string | null> => {
try {
if (Platform.OS === "web") {
const t = localStorage.getItem("auth_token");
inMemoryToken = t;
return t;
}
const t = await SecureStore.getItemAsync("auth_token");
inMemoryToken = t;
return t;
} catch (e) {
console.warn("Token load error:", e);
return null;
}
};