feat: make subtitle a prop so that it is i18ned

finxol.io 5c7b4ff6 621acec2

verified
Changed files
+11 -3
src
layouts
pages
+9 -1
src/layouts/Layout.astro
···
import colinPng from "@/assets/img/colin.png";
import colinWebp from "@/assets/img/colin.webp";
const path = Astro.originPathname.replace(/\/(fr|en)\//, "/");
const locale = Astro.currentLocale;
---
···
<img src={colinPng.src} alt="Colin Ozanne" />
</picture>
<h1 class="container">Colin <br class="desktop-only" /> Ozanne</h1>
-
<p class="container">Étudiant M1 Informatique</p>
</header>
<main class="">
<slot />
···
import colinPng from "@/assets/img/colin.png";
import colinWebp from "@/assets/img/colin.webp";
+
// Define the props interface
+
interface Props {
+
subtitle: string;
+
}
+
+
// Destructure the prop
+
const { subtitle } = Astro.props;
+
const path = Astro.originPathname.replace(/\/(fr|en)\//, "/");
const locale = Astro.currentLocale;
---
···
<img src={colinPng.src} alt="Colin Ozanne" />
</picture>
<h1 class="container">Colin <br class="desktop-only" /> Ozanne</h1>
+
<p class="container">{subtitle}</p>
</header>
<main class="">
<slot />
+1 -1
src/pages/en/index.astro
···
import { Icon } from "astro-icon/components";
---
-
<Layout>
<article>
<section class="container layout content-intro">
<aside>👋</aside>
···
import { Icon } from "astro-icon/components";
---
+
<Layout subtitle="Computer Science Student">
<article>
<section class="container layout content-intro">
<aside>👋</aside>
+1 -1
src/pages/fr/index.astro
···
import { Icon } from "astro-icon/components";
---
-
<Layout>
<article>
<section class="container layout content-intro">
<aside>👋</aside>
···
import { Icon } from "astro-icon/components";
---
+
<Layout subtitle="Étudiant M1 Informatique">
<article>
<section class="container layout content-intro">
<aside>👋</aside>