feat: asset immagini estratti da Figma e mappati

Estrazione da Web Insanity.fig, identificazione visiva, mappatura
semantica e ottimizzazione peso. 31 immagini in src/assets/img/,
2 loghi InsanityLab (fallback da Dati/) in public/img/. Tutti i 4
partner logo trovati nel Figma. PNG foto convertite a JPG q85 per
ridurre da 99 MB a 3.4 MB totali.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-01 23:57:39 +02:00
parent 5f7ed1f97b
commit d8ef59e370
36 changed files with 75 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
import { copyFileSync, mkdirSync, existsSync } from 'node:fs';
import { readFileSync } from 'node:fs';
import { join, dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
const root = join(dirname(fileURLToPath(import.meta.url)), '..');
const map = JSON.parse(readFileSync(join(root, 'scripts/asset-map.json'), 'utf8'));
let n = 0, missing = 0;
for (const [destDir, entries] of Object.entries(map)) {
mkdirSync(join(root, destDir), { recursive: true });
for (const [src, dest] of Object.entries(entries)) {
const from = join(root, 'assets-src', src);
if (!existsSync(from)) { console.error(`MANCANTE: ${src}`); missing++; continue; }
copyFileSync(from, join(root, destDir, dest));
n++;
}
}
console.log(`Copiate ${n} immagini${missing ? `, ${missing} mancanti` : ''}`);
process.exit(missing ? 1 : 0);
+39
View File
@@ -0,0 +1,39 @@
{
"src/assets/img": {
"8b71f158c30a0a23cc5113bfe1cd9a6c4f19e4c4.jpg": "hero-1.jpg",
"0f8034394657985cc4cf35eb8441ae93a7ce5302.jpg": "info-performance.jpg",
"432d397a342b4e8312a3a13a4fea836b3e867a64.jpg": "info-balance.jpg",
"d7fcf0aa827ec50f660145c0d319049b9153fefb.jpg": "info-longevity.jpg",
"6d6025730c3d0b73c0052fa67b1bb111c8462a08.jpg": "feature-performance.jpg",
"16e611de84f51bf5d01486a5e74ba0f8249850be.jpg": "feature-balance.jpg",
"98f1f8d257dfeffbaf35507d033e5bb51e08895e.png": "feature-longevity.png",
"28e8157dc88a42cffdbcd028e4cb02a6eb3de337.png": "quote-bg.png",
"85808a0c9aeb461c70c059b013eab47faa4fc4f1.png": "training-one-to-one.png",
"bb632b8da5e9e4d4b05207f04a8883163caac53a.png": "training-small-groups.png",
"91aa82b5dedee8ad56c6db249c9947c7d6d9c89a.png": "training-performance-class.png",
"86c1363b22a8fb3bb7b2bf044e52856d474d927e.jpg": "training-fit-remote.jpg",
"0b6cf69438af21bbca934b0b27995ac4fa967451.png": "team-donata.png",
"1cc33c41368d47c30d949e991c5a442ff51d1a91.png": "team-nicola.png",
"a75ca105e362e3c3bc5cfe0bfc7c39e69645660d.png": "team-eleonora.png",
"e3c84f9989df8b160d185bd40b774e460a4f6896.png": "team-antonello.png",
"88cfcd5fd321b5ca6e4833e3980b792a95090545.jpg": "method-step-1.jpg",
"d21671bb08f4f2eadde09f91a46b568788a209d7.jpg": "method-step-2.jpg",
"a3e84d7daf0b25c750ef694f4b9fc10bf0f2f1a8.jpg": "method-step-3.jpg",
"e50b6f7818b3742ddba0f4ad4a162a8aafc505e0.jpg": "method-step-4.jpg",
"bee22f37bba6f18d3defcd47762375e1c8ddd0f5.png": "partner-edenred.png",
"cf079250ea1db7f0055b76af21e04b1ed1870770.png": "partner-welbee.png",
"872c3679df24bd0d3fdca7c4cb9a24d1836309a0.png": "partner-howden.png",
"014a7708ad61b12c5765ad4a60539d2fa325f9aa.png": "partner-aon.png",
"8ffc5f7a2428b0d0eabd09f676ab98d3e5644f0d.png": "about-exterior.png",
"32ecd00a20321e58c700fbaf739e53ac3bf03876.png": "about-team-group.png",
"d4608b102eb67ac067e6585250b3c37963db1d34.png": "about-training-group.png",
"dafcc19362e3a76dd20e9a656499a8068a3a9fca.png": "about-trainer-1.png",
"9c50f1d3b3a0477e80e03c0849d3d4687610b461.png": "about-trainer-2.png",
"c51a49b9be7f1b1a31de6b2f5261c8c5b5fdab52.png": "about-trainer-3.png",
"3341a11b7153349a23c75b1fa2a9a62d48953330.png": "about-trainer-4.png"
},
"public/img": {
"logo-dark.png": "logo-dark.png",
"logo-light.png": "logo-light.png"
}
}
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")/.."
FIG="../FigmaDoc/Web Insanity.fig"
OUT="assets-src"
rm -rf "$OUT" && mkdir -p "$OUT"
unzip -o -j -q "$FIG" 'images/*' -d "$OUT"
cd "$OUT"
for f in *; do
case "$(file --brief --mime-type "$f")" in
image/png) mv "$f" "$f.png" ;;
image/jpeg) mv "$f" "$f.jpg" ;;
image/webp) mv "$f" "$f.webp" ;;
*) rm -f "$f" ;;
esac
done
echo "Estratte: $(ls | wc -l) immagini in $OUT/"