feat: route structure, providers, layouts, and placeholder pages

This commit is contained in:
zetaloop
2026-02-20 12:43:34 +08:00
parent 1f87f4676e
commit 3093da1665
35 changed files with 324 additions and 70 deletions
+8
View File
@@ -0,0 +1,8 @@
export default function CommunityPage() {
return (
<div className="container mx-auto py-8 px-4">
<h1 className="text-2xl font-bold"></h1>
<p className="mt-2 text-muted-foreground"></p>
</div>
)
}
+20
View File
@@ -0,0 +1,20 @@
export default function MainLayout({ children }: { children: React.ReactNode }) {
return (
<div className="flex min-h-screen flex-col">
<header className="border-b">
<nav className="container mx-auto flex h-16 items-center justify-between px-4">
<span className="text-xl font-bold"></span>
<div className="flex items-center gap-4">
<span className="text-sm text-muted-foreground"></span>
</div>
</nav>
</header>
<main className="flex-1">{children}</main>
<footer className="border-t py-6">
<div className="container mx-auto px-4 text-center text-sm text-muted-foreground">
© -
</div>
</footer>
</div>
)
}
+22
View File
@@ -0,0 +1,22 @@
export default function HomePage() {
return (
<div className="container mx-auto py-8 px-4">
<h1 className="text-3xl font-bold"></h1>
<p className="mt-2 text-lg text-muted-foreground"></p>
<div className="mt-8 grid gap-6 md:grid-cols-2 lg:grid-cols-3">
<div className="rounded-lg border p-6">
<h2 className="font-semibold"></h2>
<p className="mt-1 text-sm text-muted-foreground"></p>
</div>
<div className="rounded-lg border p-6">
<h2 className="font-semibold"></h2>
<p className="mt-1 text-sm text-muted-foreground"></p>
</div>
<div className="rounded-lg border p-6">
<h2 className="font-semibold"></h2>
<p className="mt-1 text-sm text-muted-foreground"></p>
</div>
</div>
</div>
)
}
+8
View File
@@ -0,0 +1,8 @@
export default function PlayerDetailPage({ params: _params }: { params: Promise<{ id: string }> }) {
return (
<div className="container mx-auto py-8 px-4">
<h1 className="text-2xl font-bold"></h1>
<p className="mt-2 text-muted-foreground"></p>
</div>
)
}
+8
View File
@@ -0,0 +1,8 @@
export default function PostDetailPage({ params: _params }: { params: Promise<{ id: string }> }) {
return (
<div className="container mx-auto py-8 px-4">
<h1 className="text-2xl font-bold"></h1>
<p className="mt-2 text-muted-foreground"></p>
</div>
)
}
+8
View File
@@ -0,0 +1,8 @@
export default function NewPostPage() {
return (
<div className="container mx-auto py-8 px-4">
<h1 className="text-2xl font-bold"></h1>
<p className="mt-2 text-muted-foreground"></p>
</div>
)
}
+8
View File
@@ -0,0 +1,8 @@
export default function SearchPage() {
return (
<div className="container mx-auto py-8 px-4">
<h1 className="text-2xl font-bold"></h1>
<p className="mt-2 text-muted-foreground"></p>
</div>
)
}
+8
View File
@@ -0,0 +1,8 @@
export default function ShopDetailPage({ params: _params }: { params: Promise<{ id: string }> }) {
return (
<div className="container mx-auto py-8 px-4">
<h1 className="text-2xl font-bold"></h1>
<p className="mt-2 text-muted-foreground"></p>
</div>
)
}