add fonts
All checks were successful
Deploy / Deploy to pre-production (push) Successful in 8s

This commit is contained in:
Julie Blanc 2025-12-19 12:33:59 +01:00
parent 16d9851535
commit 53b6355baf
21 changed files with 385 additions and 132 deletions

View file

@ -1,20 +1,51 @@
window.onload = function () {
includeHTML();
headerToggle();
//TEMP, with includeHTML() --------------------------------------
window.onload = async function () {
await runIncludeHTML();
initAfterLoad();
};
window.onscroll = function () {
headerShrink();
};
function runIncludeHTML() {
if (typeof includeHTML === "function") {
const result = includeHTML();
if (result instanceof Promise) {
return result;
}
}
function headerToggle() {
const header = document.getElementById('site-header');
const buttonToggle = document.querySelector('menu-toggle');
console.log(buttonToggle);
return Promise.resolve();
}
/// INIT--------------------------------------------------------
// Note: une fois que IncludeHTML() est supprimé, on peut supprimer tout le temp au dessus
// remplacer `function initAfterLoad()` par ↓
// window.onload = async function () {
function initAfterLoad() {
headerToggle();
}
// ===============================
// HEADER
// ===============================
function headerToggle() {
const header = document.getElementById("site-header");
const buttonToggle = document.querySelector("#menu-toggle");
console.log(header);
console.log(buttonToggle);
if (!header || !buttonToggle) return;
buttonToggle.addEventListener("click", () => {
document.body.classList.toggle("menu-open");
});
}

View file

@ -2,32 +2,34 @@
// <header id="header" w3-include-html="components/header.html"></header>
function includeHTML() {
async function includeHTML() {
const elements = document.querySelectorAll("[w3-include-html]");
var z, i, elmnt, file, xhttp;
/* Loop through a collection of all HTML elements: */
z = document.getElementsByTagName("*");
for (i = 0; i < z.length; i++) {
elmnt = z[i];
/*search for elements with a certain atrribute:*/
file = elmnt.getAttribute("w3-include-html");
if (file) {
/* Make an HTTP request using the attribute value as the file name: */
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4) {
if (this.status == 200) {elmnt.innerHTML = this.responseText;}
if (this.status == 404) {elmnt.innerHTML = "Page not found.";}
/* Remove the attribute, and call this function once more: */
elmnt.removeAttribute("w3-include-html");
includeHTML();
}
}
xhttp.open("GET", file, true);
xhttp.send();
/* Exit the function: */
return;
}
if (elements.length === 0) {
return; // Plus rien à charger
}
const promises = Array.from(elements).map(async (elmnt) => {
const file = elmnt.getAttribute("w3-include-html");
if (!file) return;
try {
const response = await fetch(file);
if (response.ok) {
const html = await response.text();
elmnt.innerHTML = html;
} else {
elmnt.innerHTML = "Page not found.";
}
} catch (error) {
console.error(`Error loading ${file}:`, error);
elmnt.innerHTML = "Error loading content.";
}
elmnt.removeAttribute("w3-include-html");
});
// Attendre que tous les fichiers soient chargés
await Promise.all(promises);
await includeHTML();
}