Новые правки
This commit is contained in:
parent
f182c0e5b1
commit
b12de1e9c0
2 changed files with 88 additions and 8 deletions
|
|
@ -274,6 +274,22 @@ import { COMPANY } from "@constants";
|
|||
.mobile-auth-block {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
transition: all 0.3s ease-out;
|
||||
}
|
||||
|
||||
/* Анимация плавного исчезновения */
|
||||
.mobile-auth-block.fade-out {
|
||||
opacity: 0;
|
||||
transform: scale(0.8);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.mobile-auth-block.fade-out-complete {
|
||||
opacity: 0;
|
||||
width: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Кнопка входа - круглая иконка */
|
||||
|
|
@ -287,6 +303,7 @@ import { COMPANY } from "@constants";
|
|||
background: transparent;
|
||||
border: 2px solid #1e3050;
|
||||
border-radius: 50%;
|
||||
transition: all 0.3s ease-out;
|
||||
color: #1e3050;
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
|
|
@ -517,14 +534,26 @@ import { COMPANY } from "@constants";
|
|||
`;
|
||||
|
||||
document.getElementById('mobile-logout-btn')?.addEventListener('click', async () => {
|
||||
const mobileAuthBlock = document.getElementById('mobile-auth-block');
|
||||
|
||||
// Запускаем анимацию плавного исчезновения
|
||||
if (mobileAuthBlock) {
|
||||
mobileAuthBlock.classList.add('fade-out');
|
||||
}
|
||||
|
||||
// Ждем завершения анимации
|
||||
await new Promise(resolve => setTimeout(resolve, 300));
|
||||
|
||||
try {
|
||||
await fetch('/api/auth/logout', { method: 'POST' });
|
||||
} catch (e) {
|
||||
console.error('Logout error:', e);
|
||||
}
|
||||
|
||||
// Очищаем localStorage полностью
|
||||
localStorage.clear();
|
||||
// Очищаем только данные авторизации, НЕ трогаем cookie_consent
|
||||
localStorage.removeItem('auth_token');
|
||||
localStorage.removeItem('user');
|
||||
localStorage.removeItem('pocketbase_auth');
|
||||
|
||||
// Удаляем cookie pb_auth всеми возможными способами
|
||||
const cookieName = 'pb_auth';
|
||||
|
|
@ -539,9 +568,8 @@ import { COMPANY } from "@constants";
|
|||
});
|
||||
});
|
||||
|
||||
// Альтернативный способ - перезапись пустым значением
|
||||
// Альтернативный способ
|
||||
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();
|
||||
|
|
@ -550,14 +578,27 @@ import { COMPANY } from "@constants";
|
|||
|
||||
// Обработчик выхода
|
||||
document.getElementById('logout-btn')?.addEventListener('click', async () => {
|
||||
// Находим блок user-display
|
||||
const userDisplay = document.querySelector('.user-display');
|
||||
|
||||
// Запускаем анимацию плавного исчезновения
|
||||
if (userDisplay) {
|
||||
userDisplay.classList.add('fade-out');
|
||||
}
|
||||
|
||||
// Ждем завершения анимации
|
||||
await new Promise(resolve => setTimeout(resolve, 300));
|
||||
|
||||
try {
|
||||
await fetch('/api/auth/logout', { method: 'POST' });
|
||||
} catch (e) {
|
||||
console.error('Logout error:', e);
|
||||
}
|
||||
|
||||
// Очищаем localStorage полностью
|
||||
localStorage.clear();
|
||||
// Очищаем только данные авторизации, НЕ трогаем cookie_consent
|
||||
localStorage.removeItem('auth_token');
|
||||
localStorage.removeItem('user');
|
||||
localStorage.removeItem('pocketbase_auth');
|
||||
|
||||
// Удаляем cookie pb_auth всеми возможными способами
|
||||
const cookieName = 'pb_auth';
|
||||
|
|
@ -622,7 +663,25 @@ import { COMPANY } from "@constants";
|
|||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
transition: all 0.3s ease-out;
|
||||
}
|
||||
|
||||
/* Анимация плавного исчезновения для десктопа */
|
||||
.user-display.fade-out {
|
||||
opacity: 0;
|
||||
transform: scale(0.8);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.user-display.fade-out-complete {
|
||||
opacity: 0;
|
||||
width: 0;
|
||||
gap: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.user-avatar {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
|
|
|
|||
|
|
@ -35,6 +35,14 @@ const firstLetter = userName ? userName.charAt(0).toUpperCase() : userEmail?.cha
|
|||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.75rem;
|
||||
transition: all 0.3s ease-out;
|
||||
}
|
||||
|
||||
/* Анимация плавного исчезновения */
|
||||
.user-menu.fade-out {
|
||||
opacity: 0;
|
||||
transform: scale(0.9);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.user-avatar {
|
||||
|
|
@ -99,6 +107,17 @@ const firstLetter = userName ? userName.charAt(0).toUpperCase() : userEmail?.cha
|
|||
const logoutBtn = document.getElementById('logout-btn');
|
||||
|
||||
logoutBtn?.addEventListener('click', async () => {
|
||||
// Находим блок user-menu
|
||||
const userMenu = document.querySelector('.user-menu');
|
||||
|
||||
// Запускаем анимацию плавного исчезновения
|
||||
if (userMenu) {
|
||||
userMenu.classList.add('fade-out');
|
||||
}
|
||||
|
||||
// Ждем завершения анимации
|
||||
await new Promise(resolve => setTimeout(resolve, 300));
|
||||
|
||||
try {
|
||||
await fetch('/api/auth/logout', {
|
||||
method: 'POST',
|
||||
|
|
@ -107,8 +126,10 @@ const firstLetter = userName ? userName.charAt(0).toUpperCase() : userEmail?.cha
|
|||
console.error('Logout error:', e);
|
||||
}
|
||||
|
||||
// Очищаем localStorage полностью
|
||||
localStorage.clear();
|
||||
// Очищаем только данные авторизации, НЕ трогаем cookie_consent
|
||||
localStorage.removeItem('auth_token');
|
||||
localStorage.removeItem('user');
|
||||
localStorage.removeItem('pocketbase_auth');
|
||||
|
||||
// Удаляем cookie pb_auth всеми возможными способами
|
||||
const cookieName = 'pb_auth';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue