1
0

PWA модуль

Теперь проект может быть установлен как приложение на телефон
This commit is contained in:
2026-01-16 16:12:34 +07:00
parent 25663a7aa4
commit c46fd3952e
16 changed files with 5388 additions and 52 deletions

View File

@@ -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: '/',