Новые правки

This commit is contained in:
Web-serfer 2026-05-07 20:20:55 +05:00
parent 48c750db0d
commit f182c0e5b1
3 changed files with 82 additions and 26 deletions

View file

@ -517,30 +517,62 @@ import { COMPANY } from "@constants";
`;
document.getElementById('mobile-logout-btn')?.addEventListener('click', async () => {
try {
await fetch('/api/auth/logout', { method: 'POST' });
} catch (e) {}
// Очищаем localStorage
localStorage.removeItem('auth_token');
localStorage.removeItem('user');
localStorage.removeItem('pocketbase_auth');
// Удаляем cookie pb_auth
document.cookie = 'pb_auth=; path=/; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT';
document.querySelector('.header-right')?.classList.remove('auth-active');
window.location.reload();
try {
await fetch('/api/auth/logout', { method: 'POST' });
} catch (e) {
console.error('Logout error:', e);
}
// Очищаем localStorage полностью
localStorage.clear();
// Удаляем cookie pb_auth всеми возможными способами
const cookieName = 'pb_auth';
const domains = ['', window.location.hostname, '.' + window.location.hostname];
const paths = ['/', '/api'];
domains.forEach(domain => {
paths.forEach(path => {
document.cookie = `${cookieName}=; path=${path}; domain=${domain}; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT`;
document.cookie = `${cookieName}=; path=${path}; domain=${domain}; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT; SameSite=Lax`;
document.cookie = `${cookieName}=; path=${path}; domain=${domain}; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT; SameSite=Strict`;
});
});
// Альтернативный способ - перезапись пустым значением
document.cookie = 'pb_auth=; path=/; max-age=0';
document.cookie = 'pb_auth=; path=/; expires=1970-01-01';
document.querySelector('.header-right')?.classList.remove('auth-active');
window.location.reload();
});
}
// Обработчик выхода
document.getElementById('logout-btn')?.addEventListener('click', async () => {
try {
await fetch('/api/auth/logout', { method: 'POST' });
} catch (e) {}
localStorage.removeItem('auth_token');
localStorage.removeItem('user');
localStorage.removeItem('pocketbase_auth');
} catch (e) {
console.error('Logout error:', e);
}
// Очищаем localStorage полностью
localStorage.clear();
// Удаляем cookie pb_auth всеми возможными способами
const cookieName = 'pb_auth';
const domains = ['', window.location.hostname, '.' + window.location.hostname];
const paths = ['/', '/api'];
domains.forEach(domain => {
paths.forEach(path => {
document.cookie = `${cookieName}=; path=${path}; domain=${domain}; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT`;
document.cookie = `${cookieName}=; path=${path}; domain=${domain}; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT; SameSite=Lax`;
document.cookie = `${cookieName}=; path=${path}; domain=${domain}; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT; SameSite=Strict`;
});
});
document.querySelector('.header-right')?.classList.remove('auth-active');
// Остаемся на той же странице
window.location.reload();
});

View file

@ -107,13 +107,24 @@ const firstLetter = userName ? userName.charAt(0).toUpperCase() : userEmail?.cha
console.error('Logout error:', e);
}
// Очищаем localStorage
localStorage.removeItem('auth_token');
localStorage.removeItem('user');
localStorage.removeItem('pocketbase_auth');
// Очищаем localStorage полностью
localStorage.clear();
// Удаляем cookie pb_auth
document.cookie = 'pb_auth=; path=/; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT';
// Удаляем cookie pb_auth всеми возможными способами
const cookieName = 'pb_auth';
const domains = ['', window.location.hostname, '.' + window.location.hostname];
const paths = ['/', '/api'];
domains.forEach(domain => {
paths.forEach(path => {
document.cookie = `${cookieName}=; path=${path}; domain=${domain}; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT`;
document.cookie = `${cookieName}=; path=${path}; domain=${domain}; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT; SameSite=Lax`;
document.cookie = `${cookieName}=; path=${path}; domain=${domain}; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT; SameSite=Strict`;
});
});
// Альтернативный способ
document.cookie = 'pb_auth=; path=/; max-age=0';
// Полностью перезагружаем страницу
window.location.reload();