diff --git a/app/app/src/components/LocalesPicker/LocalesPicker.astro b/app/app/src/components/LocalesPicker/LocalesPicker.astro new file mode 100644 index 0000000..1177de3 --- /dev/null +++ b/app/app/src/components/LocalesPicker/LocalesPicker.astro @@ -0,0 +1,55 @@ +--- +import { getRelativeLocaleUrl } from 'astro:i18n' + +export interface Props +{ + lang?: string | undefined +} + +const { + lang = Astro.currentLocale, +} = Astro.props +--- + + + + diff --git a/app/app/src/components/LocalesPicker/LocalesPicker.spec.ts b/app/app/src/components/LocalesPicker/LocalesPicker.spec.ts new file mode 100644 index 0000000..7d6c4a1 --- /dev/null +++ b/app/app/src/components/LocalesPicker/LocalesPicker.spec.ts @@ -0,0 +1,26 @@ +import { experimental_AstroContainer as AstroContainer } from 'astro/container' +import { expect, test } from 'vitest' +import LocalesPicker from './LocalesPicker.astro' + +test('LocalesPicker with defaults', async () => +{ + const container = await AstroContainer.create() + const result = await container.renderToString(LocalesPicker) + + expect(result).toBeTruthy() + expect(result).not.toContain('active') +}) + +test('LocalesPicker with FR language', async () => +{ + const container = await AstroContainer.create() + const result = await container.renderToString(LocalesPicker, { + props: { + lang: 'fr', + } + }) + + expect(result).toBeTruthy() + expect(result).toContain('active') + expect(result).toMatch(/]+class="active"[^>]*>/) +}) diff --git a/app/app/src/pages/en/index.astro b/app/app/src/pages/en/index.astro deleted file mode 100644 index 25090d8..0000000 --- a/app/app/src/pages/en/index.astro +++ /dev/null @@ -1,5 +0,0 @@ ---- -import Page from '~/pages/index.astro' ---- - - diff --git a/app/app/src/pages/index.astro b/app/app/src/pages/index.astro index 6eea7b7..03b3049 100644 --- a/app/app/src/pages/index.astro +++ b/app/app/src/pages/index.astro @@ -1,5 +1,6 @@ --- import { getCollection } from 'astro:content' +import LocalesPicker from '~/components/LocalesPicker/LocalesPicker.astro' import Layout from '~/layouts/Layout.astro' import logosrc from '~/assets/logo.png?url' @@ -37,6 +38,8 @@ function getTitleFromBody(body: string | undefined): string | undefined
+ +

{_({