Herkese merhaba, next.js öğrenmeye başladım. Hatta bir projeye hayat verdim sayılır. Son kontrolleri yaparken bir şey dikkatimi çekti.

[city]/page.tsx sayfam mevcut, lakin gelen değer json içinde yoksa 404 döndürmem gerekiyor. Sayfaya gittiğimde veyahut curl ile get attığımda 200 döndürüyor. (404 sayfasını basmasına rağmen)
dev 'de ve build & start 'da da aynı sonucu veriyor. Bir yerde bir şey kaçırıyorum ama sebebini bulamadım. Ufak bir yardım alabilir miyim acaba?

// src/app/not-found.tsx dosyası
import Image from "next/image";
import Link from "next/link";
import {Metadata} from "next";

export const metadata : Metadata = {
    title: 'Sayfa Bulunamadı',
    //...
}

export default async function NotFound() {
    return (
        <section id="blogdetay">
            <div className="container">
                <div className="row justify-content-center">
                    <div className="col-md-8">
                        <h1 className="adi">Sayfa Bulunamadı</h1>
                        <Image width={856} height={468} src="/img/404.svg" alt="404" className="w-100" loading="eager"/>
                        <Link href="/" className="btn btn-yesil w-100">Anasayfa</Link>
                    </div>
                </div>
            </div>
        </section>
    );
}
genereteMetadata için ve CityPage için 2 farklı şehir sorgusu yapmam bile belki hatalı, ona da bir anlam ve çözüm bulamadım. Hatta genereteMetadata yapmadan page title dahi gelmiyor, "localhost/asd" gibi link yazıyor. O konuna da fikrinize açığım
// src/app/[city]/page.tsx dosyam
import PrintButton from "@/components/ui/PrintButton";
import cities from "@/data/cities.json";
import { Metadata } from "next";
import Link from "next/link";
import { notFound } from 'next/navigation';

interface Props {
    params: Promise<{
        city: string;
    }>;
}
export async function generateMetadata({ params }: Props): Promise<Metadata> {
    const { city: slug } = await params;
    const cityJson = cities.find(c => c.slug === slug);
    if (!cityJson) {
        return {
            title: 'Sayfa Bulunamadı',
        };
    }
//...
}
export default async function CityPage({ params }: Props) {
    const { city: slug } = await params;
    const cityJson = cities.find(c => c.slug === slug);
    if(!cityJson){
        return notFound();
    }
//...
}