prime8dev

prime8dev
git clone https://git.prime8.dev/prime8dev.git
Log | Files | Refs | README | LICENSE

app.js (1175B)


      1 import { initAbout } from "./modules/about.js";
      2 import { initBlog } from "./modules/blog.js";
      3 import { initBlogDetail } from "./modules/blogDetail.js";
      4 import { initExperience } from "./modules/experience.js";
      5 import { initHeader, updateAppTitle } from "./modules/header.js";
      6 import { initHelp } from "./modules/help.js";
      7 import { initLayout } from "./modules/layout.js";
      8 import { initLightbox } from "./modules/lightbox.js";
      9 import { initProjects } from "./modules/projects.js";
     10 
     11 function initApp() {
     12   initHeader();
     13   initHelp();
     14   initLightbox();
     15   initLayout();
     16 
     17   const initDynamicContent = () => {
     18     initAbout();
     19     initProjects();
     20     initExperience();
     21     initBlog();
     22     initBlogDetail();
     23     updateAppTitle();
     24   };
     25   initDynamicContent();
     26 
     27   document.addEventListener("htmx:afterSwap", (e) => {
     28     if (!e.target) return;
     29 
     30     switch (e.target.id) {
     31       case "content":
     32       case "project-detail":
     33       case "blog-post-content":
     34         initDynamicContent();
     35         break;
     36       default:
     37         break;
     38     }
     39   });
     40 }
     41 
     42 if (document.readyState === "loading") {
     43   document.addEventListener("DOMContentLoaded", initApp, { once: true });
     44 } else {
     45   initApp();
     46 }