Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 0 additions & 17 deletions netlify.toml

This file was deleted.

132 changes: 132 additions & 0 deletions src/app/[locale]/dlt-lecture/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
import Image from 'next/image'
import Link from 'next/link'
import { notFound } from 'next/navigation'
import type { Metadata } from 'next'

interface DltLecturePageProps {
params: Promise<{
locale: string
}>
}

export async function generateMetadata({ params }: DltLecturePageProps): Promise<Metadata> {
const { locale } = await params

// Only German version exists initially
if (locale !== 'de') {
return {
title: 'Page Not Available - Open Elements',
description: 'This page is not available in this language',
}
}

const title = 'Vorlesung zu "DLT & Digital Trust" - Open Elements'
const description = "Seit 2023 bietet Hendrik Ebbers die Vorlesung 'Distribution Ledger Technology und Digital Trust' an"

return {
title,
description,
openGraph: {
type: 'website',
title,
description,
siteName: 'Open Elements',
locale: 'de_DE',
},
}
}

export default async function DltLecturePage({ params }: DltLecturePageProps) {
const { locale } = await params

// Only German version exists initially
if (locale !== 'de') {
notFound()
}
Comment on lines +39 to +45
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This page introduces a new public route (/dlt-lecture), but the sitemap generator (src/app/sitemap.xml/route.ts) currently hardcodes staticRoutes and does not include dlt-lecture, so the new page won’t be discoverable via sitemap. Add this route to the sitemap’s static route list (and any other route registries used for navigation/SEO).

Copilot uses AI. Check for mistakes.

return (
<div >
{/* Hero Section */}
<div className="absolute left-0 w-full top-0 h-48 -z-10 overflow-hidden">
<Image
src="/illustrations/hero-bg-2.svg"
alt="Hero background"
fill
className="object-cover"
priority
/>
</div>

<div className="container max-w-sm lg:max-w-7xl md:max-w-2xl sm:max-w-xl sm:w-full">
<div className="flex items-center justify-center pt-16 pb-4 sm:pt-36 sm:pb-12">
<div className="relative flex flex-col items-center justify-center w-full">
<h1 className="text-center h1">Vorlesung zu &quot;DLT & Digital Trust&quot;</h1>
<Image
src="/illustrations/underline.svg"
alt="Unterstrich"
width={288}
height={24}
className="absolute w-48 -bottom-3 sm:w-72 sm:-mr-24 shrink-0"
/>
</div>
</div>
</div>

{/* Content Section */}
<div className=" lg:pb-48 sm:pb-32 pb-28">
<div className="container mt-12 xl:max-w-1xl">
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

xl:max-w-1xl is not a valid Tailwind max-width utility (Tailwind ships max-w-xl, max-w-2xl, …). This class will be ignored, so the intended layout constraint won’t apply. Use an existing max-w-* value (e.g. align with other pages that use xl:max-w-6xl).

Suggested change
<div className="container mt-12 xl:max-w-1xl">
<div className="container mt-12 xl:max-w-6xl">

Copilot uses AI. Check for mistakes.
<div
className="text-blue prose prose-lg prose-a:text-purple-700 prose-code:bg-yellow prose-blockquote:border-l-0 prose-blockquote:bg-green-100 prose-blockquote:not-italic prose-blockquote:px-8 prose-blockquote:py-3 prose-blockquote:rounded-3xl relative mx-auto"
style={{ maxWidth: '100%' }}
>
<p className="lead">
Seit 2023 bietet <Link href="/de/about-hendrik">Hendrik Ebbers</Link> die Vorlesung{' '}
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This internal link points to /de/about-hendrik, but there is no corresponding Next.js route under src/app/[locale] for about-hendrik (and it’s not present in public/ either), so it will 404. Link to an existing route (e.g. the current About page/section) or add the missing about-hendrik page/redirect as part of the migration.

Suggested change
Seit 2023 bietet <Link href="/de/about-hendrik">Hendrik Ebbers</Link> die Vorlesung{' '}
Seit 2023 bietet <Link href={`/${locale}`}>Hendrik Ebbers</Link> die Vorlesung{' '}

Copilot uses AI. Check for mistakes.
<strong>&quot;Distribution Ledger Technology und Digital Trust&quot;</strong> an.
Aktuell wird die Vorlesung als Lehrauftrag an der{' '}
<a href="https://www.oth-regensburg.de" target="_blank" rel="noopener noreferrer">
OTH Regensburg
</a>{' '}
durchgeführt.
</p>

<p>
Die Vorlesung behandelt die Grundlagen von Distributed Ledger Technologien (DLT) und
vermittelt die notwendigen Kenntnisse, um DLT-basierte Systeme zu entwickeln.
</p>

<h2>Auszug zur Vorlesung aus dem Vorlesungsverzeichnis der OTH Regensburg</h2>

<p>
Die Vorlesung vermittelt das grundlegende Verständnis über
Distributed-Ledger-Technologien. Neben den technischen Grundlagen zu Kryptowährungen
werden hierbei auch weitergehende Ansätze wie Smart Contracts und NFTs behandelt.
Inhaltlich werden konkret folgende Punkte besprochen:
</p>

<ul>
<li>Geschichte und Hintergrund von Bitcoin und Distributed-Ledger-Technologien</li>
<li>Umsetzung von Blockchains und Mining von Kryptowährungen</li>
<li>Tokens und NFTs</li>
<li>Einsatzmöglichkeiten von Distributed-Ledger-Technologien</li>
<li>Nutzung und Einbindung von öffentlichen Distributed-Ledger-Technologien</li>
<li>Smart Contracts und die Ethereum Virtual Machine (EVM)</li>
</ul>

<h2>Meinung der Studenten zur Vorlesung</h2>

<blockquote className="not-prose my-8">
<div className="bg-green-100 rounded-3xl p-8">
<p className="text-blue italic mb-4">
&quot;Die Vorlesung hat mir sehr gut gefallen. Hendrik hat es geschafft, ein
komplexes Thema verständlich und praxisnah zu vermitteln. Besonders die praktischen
Übungen haben mir geholfen, das Gelernte anzuwenden.&quot;
</p>
<p className="text-blue font-semibold mb-0">- Fabian, Student</p>
</div>
</blockquote>
</div>
</div>
</div>
</div>
)
}
2 changes: 2 additions & 0 deletions src/i18n/de.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ notFound = "Seite nicht gefunden!!"
underline = "Grafisches Element zum Unterstreichen des Textes"
[digitalTrustLecture]
other = "Vorlesung zu Digital Trust"
[dltLecture]
other = "Vorlesung zu DLT & Digital Trust"
Comment on lines +45 to +46
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new [dltLecture] translation key is added here but is not referenced anywhere in the Next.js code (navigation uses digitalTrustLecture, and there are no t('dltLecture') usages). Either update the code/menu to use this key or remove it to avoid dead/duplicated i18n entries.

Suggested change
[dltLecture]
other = "Vorlesung zu DLT & Digital Trust"

Copilot uses AI. Check for mistakes.
[newsletter]
other = "Unser Newsletter"

Expand Down
2 changes: 2 additions & 0 deletions src/i18n/en.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ notFound = "Page Not Found!!"
underline = "Graphical element that underlines the text"
[digitalTrustLecture]
other = "Digital Trust Lecture"
[dltLecture]
other = "DLT & Digital Trust Lecture (German only)"
Comment on lines +45 to +46
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new [dltLecture] translation key is added here but is not referenced anywhere in the Next.js code (navigation uses digitalTrustLecture, and there are no t('dltLecture') usages). Either update the code/menu to use this key or remove it to avoid dead/duplicated i18n entries.

Suggested change
[dltLecture]
other = "DLT & Digital Trust Lecture (German only)"

Copilot uses AI. Check for mistakes.
[newsletter]
other = "Newsletter"

Expand Down
19 changes: 0 additions & 19 deletions src/layouts/404.html

This file was deleted.

4 changes: 0 additions & 4 deletions src/layouts/_default/_markup/render-heading.html

This file was deleted.

4 changes: 0 additions & 4 deletions src/layouts/_default/_markup/render-image.html

This file was deleted.

2 changes: 0 additions & 2 deletions src/layouts/_default/_markup/render-link.html

This file was deleted.

11 changes: 0 additions & 11 deletions src/layouts/_default/article.html

This file was deleted.

18 changes: 0 additions & 18 deletions src/layouts/_default/baseof.html

This file was deleted.

14 changes: 0 additions & 14 deletions src/layouts/_default/list.html

This file was deleted.

43 changes: 0 additions & 43 deletions src/layouts/employees/single.html

This file was deleted.

Loading
Loading