-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
36 lines (30 loc) · 1.18 KB
/
app.js
File metadata and controls
36 lines (30 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
"use strict";
import Home from "./views/pages/Home/index.js";
import About from "./views/pages/About/index.js";
import Projects from "./views/pages/Projects/index.js";
import Resume from "./views/pages/Resume/index.js";
import Error404 from "./views/pages/Error404/index.js";
import Navbar from "./views/components/Navbar/index.js";
import Bottombar from "./views/components/Footer/index.js";
// The router code.
const router = async () => {
// Lazy load view element:
const header = null || document.getElementById("header_container");
const content = null || document.getElementById("page_container");
const footer = null || document.getElementById("footer_container");
// Render the Header and footer of the page
header.innerHTML = await Navbar.render();
const content_data =
(await About.render()) +
(await Projects.render()) +
(await Resume.render());
content.innerHTML = content_data;
footer.innerHTML = await Bottombar.render();
await Navbar.after_render();
await About.after_render();
await Bottombar.after_render();
};
// Listen on hash change:
window.addEventListener("hashchange", router);
// Listen on page load:
window.addEventListener("load", router);