import { useEffect, useState } from 'react';
import { SETTINGS_ROLES } from '../../admin/js/role-capabilities.js';
import { logoutAndRedirect } from '../shared/auth-client.js';
import { SESSION_PHASES } from '../shared/session-policy.js';
import { useAuthorizedSession } from '../shared/use-authorized-session.js';
import { AsyncState } from '../shared/ui/AsyncState.jsx';
import { DatabaseTab } from './DatabaseTab.jsx';
import { EduFormsTab } from './EduFormsTab.jsx';
import { GeneralTab } from './GeneralTab.jsx';
import { TimeSlotsTab } from './TimeSlotsTab.jsx';
import {
defaultSettingsTabForRole,
settingsTabsForRole
} from './settings-service.js';
const THEME_STORAGE_KEY = 'theme';
const SIDEBAR_STORAGE_KEY = 'sidebar-collapsed';
const TAB_ICONS = Object.freeze({
database: (
),
'edu-forms': (
),
general: (
),
'time-slots': (
)
});
export function SettingsApp() {
const sessionState = useAuthorizedSession(SETTINGS_ROLES);
useEffect(() => {
document.documentElement.dataset.theme = localStorage.getItem(THEME_STORAGE_KEY) || 'light';
}, []);
if (sessionState.phase === SESSION_PHASES.loading) {
return