8ebc1da9e4
- Astro statique, EN par defaut + /fr/ + /nl/, detection langue navigateur - i18n par fichiers JSON, ajouter une langue = ajouter des traductions - Contenu original porte a l'identique (diff d'inventaire par langue) - Chronologie legislative corrigee sur sources primaires (PE, Conseil, votes) - Timeline 23 precedents + observatoire 35 items + annuaire 66 outils FOSS, chaque affirmation verifiee et sourcee - Zero requete tierce (teste), lisible JS coupe, axe WCAG AA x2 themes - Version offline monofichier par langue a chaque build - Docker multi-stage vers nginx + CSP stricte auto-generee - CI GitHub Actions (SHA-pinnees) + verification hebdo des liens - CONTRIBUTING : divulgation d'affiliation obligatoire, allowlist de domaines testee en CI
30 lines
569 B
Plaintext
30 lines
569 B
Plaintext
---
|
|
// Brand icon from the build-time-embedded simple-icons set (CC0).
|
|
// Unknown slug → nothing renders; callers keep their monogram fallback.
|
|
import { BRAND_ICONS } from '../icons.generated'
|
|
|
|
interface Props {
|
|
slug: string
|
|
size?: number
|
|
class?: string
|
|
}
|
|
|
|
const { slug, size = 18, class: className } = Astro.props
|
|
const path = BRAND_ICONS[slug]
|
|
---
|
|
|
|
{
|
|
path && (
|
|
<svg
|
|
viewBox="0 0 24 24"
|
|
width={size}
|
|
height={size}
|
|
fill="currentColor"
|
|
aria-hidden="true"
|
|
class={className}
|
|
>
|
|
<path d={path} />
|
|
</svg>
|
|
)
|
|
}
|