Новые правки

This commit is contained in:
Web-serfer 2026-05-07 18:50:53 +05:00
parent b298e69f7b
commit 51efcbd00a
3 changed files with 6 additions and 18 deletions

View file

@ -584,10 +584,8 @@ import { NAV_LINKS, COMPANY } from '@constants';
localStorage.removeItem('user');
localStorage.removeItem('pocketbase_auth');
// Через 3 сек возвращаем кнопку входа
setTimeout(() => {
restoreLoginButton();
}, 3000);
// Полностью перезагружаем страницу — SSR проверит куки и обновит состояние
window.location.reload();
};
};

View file

@ -112,10 +112,8 @@ const firstLetter = userName ? userName.charAt(0).toUpperCase() : userEmail?.cha
localStorage.removeItem('user');
localStorage.removeItem('pocketbase_auth');
// Перенаправляем на текущую страницу с параметром loggedout
const currentUrl = window.location.pathname + window.location.search + window.location.hash;
const separator = currentUrl.includes('?') ? '&' : '?';
window.location.href = currentUrl + separator + 'loggedout=true';
// Полностью перезагружаем страницу — SSR проверит куки и обновит состояние
window.location.reload();
});
});
</script>

View file

@ -23,17 +23,13 @@ if (!post) {
return Astro.redirect('/blog');
}
// SSR проверка авторизации - используем реальную проверку через API
// SSR проверка авторизации
let isAuthorized = false;
const pbAuthCookie = Astro.cookies.get('pb_auth')?.value;
console.log('[SSR] Cookie exists:', !!pbAuthCookie);
if (pbAuthCookie && PB_POCKETBASE_URL && PB_POCKETBASE_URL.startsWith('http')) {
try {
const token = pbAuthCookie.trim();
console.log('[SSR] Token preview:', token.substring(0, 20) + '...');
const response = await fetch(`${PB_POCKETBASE_URL}/api/collections/users/auth-refresh`, {
method: 'POST',
@ -43,18 +39,14 @@ if (pbAuthCookie && PB_POCKETBASE_URL && PB_POCKETBASE_URL.startsWith('http')) {
},
});
console.log('[SSR] PB response:', response.status);
if (response.ok) {
const data = await response.json();
console.log('[SSR] Auth valid, user:', data.record?.email);
isAuthorized = true;
} else {
console.log('[SSR] Auth invalid, deleting cookie');
Astro.cookies.delete('pb_auth', { path: '/' });
}
} catch (e) {
console.error('[SSR] Error:', e.message);
console.error('[SSR] Auth check error:', e.message);
}
}