import { subscribe } from '../app-state';
import { renderDayNav } from './day-nav';
import { renderHourList } from './hour-list';
import { renderHourView } from './hour-view';
import { renderLanguageToggle } from './bilingual-toggle';
export function mountShell(root: HTMLElement): void {
root.innerHTML = `
`;
const dayNavEl = root.querySelector('[data-slot="day-nav"]');
const hourListEl = root.querySelector('[data-slot="hour-list"]');
const hourViewEl = root.querySelector('[data-slot="hour-view"]');
const languageToggleEl = root.querySelector('[data-slot="language-toggle"]');
if (!dayNavEl || !hourListEl || !hourViewEl || !languageToggleEl) {
throw new Error('shell markup is missing an expected slot');
}
function render(): void {
renderDayNav(dayNavEl!);
renderHourList(hourListEl!);
renderHourView(hourViewEl!);
renderLanguageToggle(languageToggleEl!);
}
render();
subscribe(render);
}