feat: migre le site vers SvelteKit (Svelte 5, statique, zéro tiers)
- Rebuild complet SvelteKit 2 + Svelte 5 runes + TypeScript, adapter-static - Images self-hébergées optimisées au build (vite-imagetools), fonts Archivo/Inter en woff2 local — BunnyCDN et Google Fonts supprimés (corrige les 403 d'images) - Tokens charte OKI, thème sombre par défaut / clair opt-in, zéro emoji (set SVG) - Motion : KineticText (stagger syncopé gwoka), ScrollProgressBar, View Transitions - Village SVG isométrique pour les services hébergés + fallback accessible - PWA (manifest + SW hors-ligne), 404 en KA, CSP nettoyée (.htaccess + _headers) - Lighthouse mobile : 91/100/100/100 — JS initial 67 Ko gzip
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
<script lang="ts">
|
||||
import { page } from '$app/state';
|
||||
|
||||
const status = $derived(page.status);
|
||||
const is404 = $derived(status === 404);
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<title>{status} — {is404 ? 'Paj la rivé périyòd…' : 'Erreur'} · ORGANISATION KA INTERNATIONALE</title>
|
||||
<meta name="robots" content="noindex" />
|
||||
</svelte:head>
|
||||
|
||||
<section class="error-page container">
|
||||
<svg class="icon error-icon" aria-hidden="true"><use href="/icons.svg#ka" /></svg>
|
||||
<h1>{status}</h1>
|
||||
{#if is404}
|
||||
<p class="ka" lang="gcf">« Paj la rivé périyòd… »</p>
|
||||
<p class="fr">La page que vous cherchez n'existe pas ou a été déplacée. La route continue ailleurs.</p>
|
||||
{:else}
|
||||
<p class="fr">{page.error?.message ?? 'Une erreur est survenue.'}</p>
|
||||
{/if}
|
||||
<a class="btn" href="/">Retour à l'accueil</a>
|
||||
</section>
|
||||
|
||||
<style>
|
||||
.error-page {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
gap: var(--space-3);
|
||||
padding: var(--space-5) var(--space-4);
|
||||
}
|
||||
|
||||
.error-icon {
|
||||
width: 6rem;
|
||||
height: 6rem;
|
||||
color: var(--or-oki);
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-weight: 900;
|
||||
font-size: clamp(4rem, 15vw, 8rem);
|
||||
}
|
||||
|
||||
.ka {
|
||||
font-size: 1.25rem;
|
||||
color: var(--or-oki);
|
||||
}
|
||||
|
||||
.fr {
|
||||
max-width: 52ch;
|
||||
color: var(--muted);
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user