PWA модуль
Теперь проект может быть установлен как приложение на телефон
This commit is contained in:
@@ -8,6 +8,7 @@ import { authApi } from './api'
|
||||
// Кэш авторизации (чтобы не делать запрос при каждой навигации)
|
||||
let authCache = {
|
||||
isAuthenticated: null, // null = не проверяли, true/false = результат
|
||||
user: null, // Данные пользователя
|
||||
lastCheck: 0
|
||||
}
|
||||
|
||||
@@ -26,6 +27,7 @@ const checkAuth = async (forceCheck = false) => {
|
||||
try {
|
||||
const data = await authApi.check()
|
||||
authCache.isAuthenticated = data.success === true
|
||||
authCache.user = data.user || null
|
||||
authCache.lastCheck = now
|
||||
return authCache.isAuthenticated
|
||||
} catch {
|
||||
@@ -39,14 +41,19 @@ const checkAuth = async (forceCheck = false) => {
|
||||
|
||||
// Сброс кэша (вызывать при logout)
|
||||
export const clearAuthCache = () => {
|
||||
authCache = { isAuthenticated: null, lastCheck: 0 }
|
||||
authCache = { isAuthenticated: null, user: null, lastCheck: 0 }
|
||||
}
|
||||
// Глобальный доступ для api.js (избегаем циклической зависимости)
|
||||
window.__clearAuthCache = clearAuthCache
|
||||
|
||||
// Установка кэша (вызывать при успешном login)
|
||||
export const setAuthCache = (isAuth) => {
|
||||
authCache = { isAuthenticated: isAuth, lastCheck: Date.now() }
|
||||
export const setAuthCache = (isAuth, user = null) => {
|
||||
authCache = { isAuthenticated: isAuth, user, lastCheck: Date.now() }
|
||||
}
|
||||
|
||||
// Получить закэшированного пользователя
|
||||
export const getCachedUser = () => authCache.user
|
||||
|
||||
const routes = [
|
||||
{
|
||||
path: '/',
|
||||
|
||||
Reference in New Issue
Block a user