diff --git a/src/components/Footer.astro b/src/components/Footer.astro
index c4c7d84..7a87348 100644
--- a/src/components/Footer.astro
+++ b/src/components/Footer.astro
@@ -1,15 +1,52 @@
---
+import { DEFAULT_LOCALE, type Locale } from '~/consts';
+import { getLocaleFromUrl, localizePath, t } from '~/i18n/ui';
+
+interface Props {
+ locale?: Locale;
+}
+
+const locale: Locale = Astro.props.locale ?? getLocaleFromUrl(Astro.url) ?? DEFAULT_LOCALE;
+const contactSegment = locale === 'de' ? 'kontakt' : 'contact';
+const imprintSegment = locale === 'de' ? 'impressum' : 'imprint';
+const privacySegment = locale === 'de' ? 'datenschutz' : 'privacy-policy';
+
const today = new Date();
---
diff --git a/src/components/Header.astro b/src/components/Header.astro
index f26f787..5e6a2c8 100644
--- a/src/components/Header.astro
+++ b/src/components/Header.astro
@@ -1,6 +1,6 @@
---
import type { CollectionEntry } from 'astro:content';
-import { DEFAULT_LOCALE, type Locale, SITE } from '~/consts';
+import { type Locale, SITE } from '~/consts';
import {
aboutSegment,
categoryIndexSegment,
@@ -131,6 +131,12 @@ const switchHref = await resolveSwitchHref();
h2 {
margin: 0;
font-size: 1em;
+ text-align: left;
+ }
+ nav > h2 a {
+ display: block;
+ padding: 1em 0;
+ text-align: left;
}
h2 a,
@@ -138,11 +144,20 @@ const switchHref = await resolveSwitchHref();
text-decoration: none;
}
nav {
- display: flex;
+ display: grid;
+ grid-template-columns: auto 1fr auto;
align-items: center;
- justify-content: space-between;
gap: 1em;
}
+ nav > h2 {
+ justify-self: start;
+ }
+ nav > .internal-links {
+ justify-self: center;
+ }
+ nav > .toolbar {
+ justify-self: end;
+ }
nav a {
padding: 1em 0.5em;
color: var(--black);
diff --git a/src/i18n/ui.ts b/src/i18n/ui.ts
index bf3e672..94aa759 100644
--- a/src/i18n/ui.ts
+++ b/src/i18n/ui.ts
@@ -19,6 +19,9 @@ export const ui = {
'tags.description': 'Alle Schlagwörter im Überblick.',
'tag.postsTagged': 'Beiträge mit',
'tag.noPosts': 'Noch keine Beiträge mit diesem Stichwort.',
+ 'footer.contact': 'Kontakt',
+ 'footer.imprint': 'Impressum',
+ 'footer.privacy': 'Datenschutz',
'lang.de': 'Deutsch',
'lang.en': 'English',
},
@@ -40,6 +43,9 @@ export const ui = {
'tags.description': 'All tags at a glance.',
'tag.postsTagged': 'Posts tagged',
'tag.noPosts': 'No posts with this tag yet.',
+ 'footer.contact': 'Contact',
+ 'footer.imprint': 'Imprint',
+ 'footer.privacy': 'Privacy',
'lang.de': 'Deutsch',
'lang.en': 'English',
},
@@ -82,6 +88,9 @@ const LOCALIZED_SEGMENTS: Record> = {
about: 'ueber-mich',
tag: 'schlagwort',
tags: 'schlagwoerter',
+ contact: 'kontakt',
+ imprint: 'impressum',
+ 'privacy-policy': 'datenschutz',
},
en: {
kategorie: 'category',
@@ -89,6 +98,9 @@ const LOCALIZED_SEGMENTS: Record> = {
'ueber-mich': 'about',
schlagwort: 'tag',
schlagwoerter: 'tags',
+ kontakt: 'contact',
+ impressum: 'imprint',
+ datenschutz: 'privacy-policy',
},
};
diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro
index 3248167..1d5e3c9 100644
--- a/src/layouts/BaseLayout.astro
+++ b/src/layouts/BaseLayout.astro
@@ -66,6 +66,6 @@ const {
-
+