Files
portfolio/src/components/TechIcon.astro
Johan LEROY ce17bf590b
Some checks failed
Deploy production / build-deploy (push) Failing after 56s
refonte: portfolio statique Astro (design moderne développeur)
- Remplace l'ancien Astro hybrid + admin par un site one-page statique (sortie static)
- Thème clair/sombre sans flash, contenu typé (src/data/content.ts), zéro admin
- Icônes simple-icons (SVG monochrome), polices auto-hébergées (RGPD)
- SEO complet : canonical, Open Graph, Twitter Card, JSON-LD Person, robots.txt, sitemap.xml, image OG 1200x630
- CI Gitea de déploiement FTPS vers Plesk (.gitea/workflows/prod.yml)
2026-06-19 16:03:09 +02:00

18 lines
607 B
Plaintext

---
/* Icône d'une techno : SVG simple-icons (currentColor) si dispo,
sinon monogramme. Taille pilotée par le CSS (.tile .ic). */
import { techIcons, monogram, type TechDef } from "../lib/techIcons";
interface Props { name: string; }
const { name } = Astro.props;
const def: TechDef | undefined = techIcons[name];
const path = def && "path" in def ? def.path : null;
const mono = def && "mono" in def ? def.mono : monogram(name);
---
{path ? (
<svg class="ic" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
<path d={path} />
</svg>
) : (
<span class="tile-mono">{mono}</span>
)}