HaoAws/app/[locale]/news/[id]/not-found.tsx

148 lines
6.6 KiB
TypeScript
Raw Permalink Normal View History

2025-09-16 16:37:48 +08:00
import Link from 'next/link';
import { getTranslations, Locale, getNavigationPaths } from '@/lib/i18n';
import Layout from '@/components/Layout';
export default async function NewsNotFound() {
// Since we can't access params in not-found.tsx, we'll use the default locale
const locale: Locale = 'zh-CN';
const common = await getTranslations(locale, 'common');
const navigationPaths = getNavigationPaths(locale);
const navigation = [
{
name: common.navigation.home,
href: navigationPaths.find((p) => p.key === 'home')?.path || '/',
},
{
name: common.navigation.products,
href: navigationPaths.find((p) => p.key === 'products')?.path || '/products',
},
{
name: common.navigation.news,
href: navigationPaths.find((p) => p.key === 'news')?.path || '/news',
},
{
name: common.navigation.support,
href: navigationPaths.find((p) => p.key === 'support')?.path || '/support',
},
{
name: common.navigation.about,
href: navigationPaths.find((p) => p.key === 'about')?.path || '/about',
},
];
return (
<Layout locale={locale} navigation={navigation} common={common} data-oid="_3j68t9">
<section
className="py-20 px-4 sm:px-6 lg:px-8 bg-gray-50 min-h-screen flex items-center"
data-oid="byufenu"
>
<div className="max-w-2xl mx-auto text-center" data-oid="d7nio8r">
<div className="mb-8" data-oid="jsety51">
<div
className="w-24 h-24 mx-auto mb-6 bg-gray-200 rounded-full flex items-center justify-center"
data-oid="5ihesur"
>
<svg
className="w-12 h-12 text-gray-400"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
data-oid="kjp5851"
>
<path
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={2}
d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"
data-oid="fi-bv88"
/>
</svg>
</div>
<h1
className="text-4xl md:text-5xl font-light mb-4 text-gray-900"
data-oid="9oigcow"
>
404
</h1>
<h2
className="text-2xl md:text-3xl font-light mb-6 text-gray-700"
data-oid="e04ibd."
>
</h2>
<p
className="text-lg text-gray-600 mb-8 leading-relaxed"
data-oid="pec0pi4"
>
</p>
</div>
<div className="space-y-4" data-oid="zq.yd55">
<p className="text-gray-600 mb-6" data-oid="lq5sfie">
</p>
<ul
className="text-left text-gray-600 space-y-2 mb-8 max-w-md mx-auto"
data-oid="hwob-h0"
>
<li className="flex items-start space-x-2" data-oid="z.xttum">
<span className="text-blue-600 mt-1" data-oid="ivn4wke">
</span>
<span data-oid="uvhrz0m"></span>
</li>
<li className="flex items-start space-x-2" data-oid="49u2bhz">
<span className="text-blue-600 mt-1" data-oid="e6cgf9o">
</span>
<span data-oid="1vzafpj"></span>
</li>
<li className="flex items-start space-x-2" data-oid="ooz29p4">
<span className="text-blue-600 mt-1" data-oid="w99sjj5">
</span>
<span data-oid="yl74i72"></span>
</li>
</ul>
<div
className="flex flex-col sm:flex-row gap-4 justify-center"
data-oid="nz.s4ql"
>
<Link
href={
navigationPaths.find((p) => p.key === 'news')?.path || '/news'
}
className="bg-blue-600 text-white px-6 py-3 rounded-lg hover:bg-blue-700 transition-colors font-light"
data-oid="c45-.pd"
>
</Link>
<Link
href={navigationPaths.find((p) => p.key === 'home')?.path || '/'}
className="bg-gray-100 text-gray-700 px-6 py-3 rounded-lg hover:bg-gray-200 transition-colors font-light"
data-oid="vzzstbf"
>
</Link>
</div>
</div>
<div className="mt-12 pt-8 border-t border-gray-200" data-oid="y88ceui">
<p className="text-sm text-gray-500" data-oid="bu7u61n">
</p>
</div>
</div>
</section>
</Layout>
);
}