import { readJson } from './readJson.js'; document.addEventListener('DOMContentLoaded', async function() { const navbar = document.querySelector("nav"); const header = document.querySelector("header"); let pagePath = ""; const linkInterceptor = () => { const a = document.querySelectorAll('a'); a.forEach(function(link) { if( link.getAttribute('data-page') != "externe") { link.addEventListener('click', function(event) { event.preventDefault(); const href = link.getAttribute('data-page'); const id = link.getAttribute('id'); if (!href) { console.warn('Attribut data-page introuvable sur la balise:', link); return; } if(id != "admin") { loadPage(`./Views/${href}.html`); } else { window.location.href = href; } }); } }); } const loadPage = async (page) => { const mainContent = document.querySelector('.main-content'); const loadProjects = async () => { try { const data = await readJson('./data/projects.json'); return data; } catch (error) { console.error('Erreur lors du chargement des projets :', error); return []; } } const loadDataContacts = async () => { try { const data = await readJson('./data/contacts.json'); return data; } catch (error) { console.error('Erreur lors du chargement des projets :', error); return []; } } if (!mainContent) { console.error('Élément .main-content introuvable dans le document.'); return; } if(mainContent) { fetch(page) .then(response => { if(!response.ok) { throw new Error(`Erreur lors du chargement de la page : ${response.statusText}`); } pagePath = page; return response.text(); }) .then(async (html) => { mainContent.innerHTML = html; linkInterceptor(); const divProjectsGrid = document.querySelector('.projects-grid'); if (divProjectsGrid) { console.log("Projects grid found, loading projects..."); const data = await loadProjects(); if (data) { const projects = Object.values(data); console.log('Projets :', projects); projects.forEach(project => { if (project.active) { const projectDiv = document.createElement('div'); projectDiv.className = 'project-card'; projectDiv.innerHTML = `
Merci pour votre message. Je vous répondrai dans les plus brefs délais.