import { renderLoginForm, renderDashboard } from './ui.js';
import { checkAuthStatus } from './auth.js';
import { JSONRPC } from '@/json-rpc.js';

let isAuthenticated = false;
let enabledComponents = [];

async function loadEnabledComponents() {
    try {
        enabledComponents = await JSONRPC.System.getEnabledComponents();
    } catch(e) {
        console.error("Ошибка при загрузке включенных компонентов:", e);
        enabledComponents = [];
    }
}

export async function initApp() {
    const authSuccess = await checkAuthStatus();
    setAuthenticated(authSuccess);
}

export async function setAuthenticated(status) {
    isAuthenticated = status;
    if (isAuthenticated) {
        // Сначала загружаем компоненты
        await loadEnabledComponents();
        renderDashboard();
    } else {
        renderLoginForm();
    }
}

// Новый экспорт для доступа роутера к списку компонентов
export function getEnabledComponents() {
    return enabledComponents;
}