Migrate from Vite to Next.js 15 with SSR

- Replace Vite + React Router with Next.js 15 App Router
- Implement i18n with next-intl (URL-based: /de, /en, /sr)
- Add SSR/SSG for all pages (48 static pages generated)
- Setup Supabase SSR client for auth
- Migrate all pages: Home, About, Portfolio, Blog, Contact, Login, Dashboard, Imprint, Privacy, Terms
- Add Docker support with standalone output
- Replace i18next with next-intl JSON translations
- Use next/image for optimized images

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-17 01:00:33 +01:00
co-authored by Claude Opus 4.5
parent a66f51b9a2
commit b1ec7b4d61
281 changed files with 8024 additions and 8901 deletions
+59
View File
@@ -0,0 +1,59 @@
// src/i18n/locales/de/pages/terms.ts
export const terms = {
// SEO und Schema
seo: {
title: 'Allgemeine Geschäftsbedingungen',
description: 'Allgemeine Geschäftsbedingungen für die Portfolio-Website von Damjan Savić'
},
schema: {
name: 'Allgemeine Geschäftsbedingungen',
description: 'Allgemeine Geschäftsbedingungen für die Portfolio-Website von Damjan Savić'
},
// Hauptinhalt
content: {
title: 'Allgemeine Geschäftsbedingungen',
lastUpdated: 'Zuletzt aktualisiert: 10. März 2024',
// Navigation
breadcrumbs: {
currentTitle: 'Allgemeine Geschäftsbedingungen'
},
// Abschnitte
sections: {
agreement: {
title: '1. Zustimmung zu den Bedingungen',
content: 'Mit dem Zugriff auf unsere Website stimmen Sie zu, an diese Allgemeinen Geschäftsbedingungen gebunden zu sein und alle geltenden Gesetze und Vorschriften einzuhalten.'
},
intellectualProperty: {
title: '2. Rechte an geistigem Eigentum',
content: 'Alle Inhalte dieser Website, einschließlich, aber nicht beschränkt auf Texte, Grafiken, Logos, Bilder und Software, sind Eigentum von Damjan Savić und durch Gesetze zum Schutz geistigen Eigentums geschützt.'
},
userResponsibilities: {
title: '3. Nutzerverantwortlichkeiten',
intro: 'Bei der Nutzung unserer Website stimmen Sie zu:',
items: [
'Korrekte Informationen bereitzustellen',
'Die Website legal und ethisch zu nutzen',
'Keinen unbefugten Zugriff zu versuchen',
'Den Betrieb der Website nicht zu stören'
]
},
liability: {
title: '4. Haftungsbeschränkung',
content: 'Wir haften nicht für indirekte, zufällige, besondere, Folge- oder Strafschäden, die sich aus Ihrer Nutzung oder Unfähigkeit zur Nutzung der Website ergeben.'
},
changes: {
title: '5. Änderungen der Bedingungen',
content: 'Wir behalten uns das Recht vor, diese Bedingungen jederzeit zu ändern. Wir werden die Nutzer über wesentliche Änderungen informieren, indem wir die neuen Allgemeinen Geschäftsbedingungen auf dieser Seite veröffentlichen.'
},
governingLaw: {
title: '6. Geltendes Recht',
content: 'Diese Bedingungen unterliegen den Gesetzen der Bundesrepublik Deutschland und werden in Übereinstimmung mit diesen ausgelegt, ohne Berücksichtigung von Kollisionsnormen.'
},
contact: {
title: '7. Kontaktinformationen',
intro: 'Bei Fragen zu diesen Allgemeinen Geschäftsbedingungen kontaktieren Sie uns bitte unter:',
email: 'E-Mail: legal@damjan-savic.com'
}
}
}
};