df9c40847d
- About page with identity cards and equipment lists (about.json) - Contact page: station info, obfuscated e-mail, lazy Leaflet/OSM map with antenna tower marker and dark-mode tiles - Privacy, license and disclaimer pages from a legal collection - QRT-themed 404 page - LICENSE (MIT) and LICENSE-CONTENT (CC BY-SA 4.0 legal code) - Shared PageHeader and CodeCopy components Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
37 lines
1.3 KiB
Plaintext
37 lines
1.3 KiB
Plaintext
---
|
|
// /gizlilik/, /lisans/, /sorumluluk-reddi/ from src/content/legal/*.md
|
|
import type { GetStaticPaths } from 'astro';
|
|
import { getCollection, render } from 'astro:content';
|
|
import CodeCopy from '../components/CodeCopy.astro';
|
|
import Container from '../components/Container.astro';
|
|
import PageHeader from '../components/PageHeader.astro';
|
|
import BaseLayout from '../layouts/BaseLayout.astro';
|
|
import { pages } from '../lib/data';
|
|
import { formatDate, isoDay } from '../lib/dates';
|
|
|
|
export const getStaticPaths = (async () => {
|
|
const docs = await getCollection('legal');
|
|
return docs.map((doc) => ({ params: { legal: doc.id }, props: { doc } }));
|
|
}) satisfies GetStaticPaths;
|
|
|
|
const { doc } = Astro.props;
|
|
const { Content } = await render(doc);
|
|
---
|
|
|
|
<BaseLayout title={doc.data.title} description={doc.data.description}>
|
|
<PageHeader eyebrow={pages.legal.eyebrow} title={doc.data.title}>
|
|
<p class="text-sm font-semibold">
|
|
{pages.legal.updated}:{' '}
|
|
<time datetime={isoDay(doc.data.updated)}>{formatDate(doc.data.updated)}</time>
|
|
</p>
|
|
</PageHeader>
|
|
<Container class="max-w-[52rem] py-14 md:py-20">
|
|
<div class="prose article-prose md:prose-lg max-w-[72ch]">
|
|
<CodeCopy>
|
|
<Content />
|
|
</CodeCopy>
|
|
</div>
|
|
<p class="border-line text-fg-muted mt-12 border-t pt-6 text-sm">{pages.legal.notice}</p>
|
|
</Container>
|
|
</BaseLayout>
|