// src/utils/cookies.js

const TOKEN_KEY = 'sdn_auth_token';

/**
 * Получает токен авторизации из куки.
 * @returns {string|null} Токен или null, если не найден.
 */
export function getAuthToken() {
    const nameEQ = TOKEN_KEY + "=";
    const ca = document.cookie.split(';');
    for(let i=0; i < ca.length; i++) {
        let c = ca[i];
        while (c.charAt(0) === ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) === 0) {
            return c.substring(nameEQ.length, c.length);
        }
    }
    return null;
}

/**
 * Устанавливает токен авторизации в куки на 1 год.
 * @param {string} token - Токен для сохранения.
 */
export function setAuthToken(token) {
    const expirationDate = new Date();
    // Устанавливаем срок действия на 1 год
    expirationDate.setTime(expirationDate.getTime() + (365 * 24 * 60 * 60 * 1000));
    const expires = "expires=" + expirationDate.toUTCString();

    // Используем secure и samesite=Lax (рекомендуется для современных браузеров)
    // path=/ делает токен доступным для всего сайта
    document.cookie = `${TOKEN_KEY}=${token};${expires};path=/;samesite=Lax`;
}

/**
 * Удаляет токен авторизации.
 */
export function removeAuthToken() {
    document.cookie = `${TOKEN_KEY}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`;
}