Refactor code structure for improved readability and maintainability

This commit is contained in:
2026-10-19 16:25:15 +02:00
parent 2ed2c0389d
commit a8aa6d9927
50 changed files with 1164 additions and 8 deletions
+1 -1
View File
@@ -229,7 +229,7 @@ const buildListaModelli = (modelli, modello, categoria, sistema) => {
html += `<div class="d-inline btn-categoria">
<a href="./?type=${m.id}&sistema=${sistema}">
<img class="${selected}" src="./assets/data/icone/${m.id}.jpg" alt="${m.id}" />
<img class="${selected}" src="${m.icona || ''}" alt="${m.id}" />
</a>
<p>${m.nome}</p>
+11 -7
View File
@@ -23,8 +23,6 @@ window.GLTFLoader = GLTFLoader; // Used by APP Scripts.
// --- Integrazione backend preventivi ---
const CART_TOKEN_KEY = 'kreios_cart_token';
// Ordine dei sistemi come nel menu: il primo è quello di default
const SISTEMI = ['pvc', 'alluminio', 'legno', 'acciaio'];
// URL dell'app cliente (checkout): richiesto all'API invece di essere indovinato, perché la
// porta Vite dell'app cliente può cambiare (es. se 5199 è già occupata). Fallback locale se
@@ -138,15 +136,21 @@ $(() => {
const start = async () => {
const params = ParamsParser.getQueryParams();
// Senza sistema in query string si parte dal primo sistema (pvc)
if (!SISTEMI.includes(params.sistema))
params.sistema = SISTEMI[0];
// Sistemi e modelli (con icone) sono serviti dal backoffice, già filtrati sui soli attivi
// e nell'ordine del menu: il primo sistema è quello di default.
const res = await fetch(`${PREVENTIVI_API_BASE}/sistemi`, { headers: { Accept: 'application/json' } });
if (!res.ok) throw new Error(`Catalogo non disponibile (HTTP ${res.status})`);
const sistemi = await res.json();
if (!sistemi.length) throw new Error('Nessun sistema attivo nel catalogo');
const sistema = sistemi.find(s => s.codice === params.sistema) || sistemi[0];
params.sistema = sistema.codice;
let data_folder = `./assets/data/sistemi/${params.sistema}`;
let modello_folder = `./assets/data/modelli/${params.sistema}`;
const modelli = await (await fetch(`${data_folder}/modelli.json?rnd=` + Math.random())).json();
const modelli = sistema.modelli;
if (!modelli.length) throw new Error(`Nessun modello attivo per il sistema ${sistema.codice}`);
let modello = modelli.find(m => m.id === params.type);