split javascript file into multiple

This commit is contained in:
2026-09-21 21:25:31 +02:00
parent b09f2029ed
commit cc91f7d4ff
17 changed files with 473 additions and 461 deletions
+41
View File
@@ -0,0 +1,41 @@
import { loadContent, loadImageConfig } from "./core/data.js";
import { detectLanguage, setupLanguageDropdown } from "./ui/language.js";
import { setupThemeToggle } from "./ui/theme.js";
import { createNavbar, setupMobileNavbar, hideMobileNavbar } from "./ui/navbar.js";
import { setupScrollRestoration, restoreScroll, setupScrollSpy } from "./ui/scroll.js";
import { renderSidebarTop } from "./sections/sidebar.js";
import { renderIntroduction } from "./sections/introduction.js";
import { renderWork } from "./sections/work.js";
import { renderProjects } from "./sections/projects.js";
const lang = detectLanguage();
// Each control exists twice: sidebar (desktop) and mobile bar.
setupThemeToggle("themeToggle", ["themeToggle2"]);
setupThemeToggle("themeToggle2", ["themeToggle"]);
setupLanguageDropdown(lang, "lang-button", "lang-menu", "lang-dropdown");
setupLanguageDropdown(lang, "lang-button2", "lang-menu2", "lang-dropdown2");
setupScrollRestoration();
async function init() {
const data = await loadContent(lang);
const imageConfig = await loadImageConfig();
document.getElementById("website_title").textContent = data.title_website;
setupMobileNavbar();
const navbar = createNavbar();
const container = document.getElementById("projects-section");
renderSidebarTop(data);
renderIntroduction(data, navbar);
renderWork(container, navbar, data);
renderProjects(container, navbar, data, imageConfig);
restoreScroll();
setupScrollSpy();
hideMobileNavbar();
}
init();