Use basePath for internal links and export from next.config.ts
This commit is contained in:
@@ -2,6 +2,7 @@ import "./globals.css";
|
||||
import {Inter} from "next/font/google";
|
||||
import Navbar from "@/components/Navbar";
|
||||
import Footer from "@/components/Footer";
|
||||
import React from "react";
|
||||
|
||||
const inter = Inter({subsets: ["latin"]});
|
||||
|
||||
@@ -10,7 +11,8 @@ export const metadata = {
|
||||
description: "Kompetente Rechtsberatung in allen Lebenslagen",
|
||||
};
|
||||
|
||||
export default function RootLayout({children}: { children: React.ReactNode }) {
|
||||
export default function RootLayout(
|
||||
{children}: Readonly<{ children: React.ReactNode }>) {
|
||||
return (
|
||||
<html lang="de">
|
||||
<body className={inter.className}>
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
import {motion} from 'framer-motion';
|
||||
import Link from 'next/link';
|
||||
import Image from 'next/image';
|
||||
import {basePath} from '@/next.config';
|
||||
|
||||
export default function HomePage() {
|
||||
return (
|
||||
@@ -29,7 +30,7 @@ export default function HomePage() {
|
||||
<p className="text-lg max-w-2xl text-gray-100">
|
||||
Persönliche Betreuung. Klare Kommunikation. Effektive Lösungen für Ihr Anliegen.
|
||||
</p>
|
||||
<Link href="/kontakt/">
|
||||
<Link href={`${basePath}/kontakt/`}>
|
||||
<motion.button
|
||||
whileHover={{scale: 1.05}}
|
||||
whileTap={{scale: 0.95}}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import Link from 'next/link';
|
||||
import {basePath} from "@/next.config";
|
||||
|
||||
export default function Footer() {
|
||||
return (
|
||||
@@ -9,8 +10,8 @@ export default function Footer() {
|
||||
<p>© {new Date().getFullYear()} Kanzlei Mustermann. Alle Rechte vorbehalten.</p>
|
||||
</div>
|
||||
<div className="space-x-4">
|
||||
<Link href="/impressum/" className="hover:underline">Impressum</Link>
|
||||
<Link href="/datenschutz/" className="hover:underline">Datenschutz</Link>
|
||||
<Link href={`${basePath}/impressum/`} className="hover:underline">Impressum</Link>
|
||||
<Link href={`${basePath}/datenschutz/`} className="hover:underline">Datenschutz</Link>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
import Link from 'next/link';
|
||||
import {motion} from 'framer-motion';
|
||||
import {basePath} from "@/next.config";
|
||||
|
||||
export default function Navbar() {
|
||||
return (
|
||||
@@ -12,14 +13,14 @@ export default function Navbar() {
|
||||
className="fixed top-0 left-0 right-0 z-50 bg-white shadow-md py-4 px-6 md:px-12 lg:px-24 text-gray-900"
|
||||
>
|
||||
<div className="flex justify-between items-center">
|
||||
<Link href="/">
|
||||
<Link href={`${basePath}/`}>
|
||||
<span className="text-xl font-bold text-blue-800">Kanzlei Mustermann</span>
|
||||
</Link>
|
||||
<div className="space-x-6 text-sm md:text-base">
|
||||
<Link href="/">Start</Link>
|
||||
<Link href="/ueber-uns/">Über uns</Link>
|
||||
<Link href="/impressum/">Impressum</Link>
|
||||
<Link href="/datenschutz/">Datenschutz</Link>
|
||||
<Link href={`${basePath}/`}>Start</Link>
|
||||
<Link href={`${basePath}/ueber-uns/`}>Über uns</Link>
|
||||
<Link href={`${basePath}/impressum/`}>Impressum</Link>
|
||||
<Link href={`${basePath}/datenschutz/`}>Datenschutz</Link>
|
||||
</div>
|
||||
</div>
|
||||
</motion.nav>
|
||||
|
||||
@@ -2,8 +2,8 @@ import type {NextConfig} from "next";
|
||||
|
||||
const isProd = process.env.NODE_ENV === 'production';
|
||||
|
||||
const basePath = isProd ? '/lawfirm/demo1' : '';
|
||||
const assetPrefix = isProd ? '/lawfirm/demo1' : '';
|
||||
export const basePath = isProd ? '/lawfirm/demo1' : '';
|
||||
export const assetPrefix = isProd ? '/lawfirm/demo1' : '';
|
||||
|
||||
console.log(`🚀 [next.config.ts] Running in ${process.env.NODE_ENV} mode`);
|
||||
console.log(`👉 basePath: ${basePath || '(none)'}`);
|
||||
|
||||
Reference in New Issue
Block a user