Skip to content

Commit c3be72f

Browse files
authored
Feat/getting started page (#340)
* feat(app) add getting started page * feat(app) add getting started page * feat(getting-started) add metadata
1 parent 662e77d commit c3be72f

File tree

3 files changed

+110
-1
lines changed

3 files changed

+110
-1
lines changed

app/docs/getting-started/page.tsx

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
import { Metadata } from "next";
2+
import Link from "next/link";
3+
4+
import { Download } from "lucide-react";
5+
6+
import { Button } from "@/components/ui/button";
7+
import {
8+
Card,
9+
CardContent,
10+
CardDescription,
11+
CardHeader,
12+
CardTitle,
13+
} from "@/components/ui/card";
14+
15+
import CopyCommandButton from "../../docs/components/copy-command-button";
16+
17+
export const metadata: Metadata = {
18+
title: "Getting Started",
19+
description:
20+
"Welcome to 8bitcn/ui! This guide will help you set up and start using our retro-styled components in your project.",
21+
};
22+
23+
export default function GettingStartedPage() {
24+
return (
25+
<div className="container mx-auto px-4 py-8 max-w-4xl">
26+
<div className="space-y-8">
27+
{/* Header */}
28+
<div className="text-center space-y-4">
29+
<h1 className="text-4xl font-bold tracking-tight">Getting Started</h1>
30+
<p className="text-xl text-muted-foreground max-w-2xl mx-auto">
31+
Welcome to 8bitcn/ui! This guide will help you set up and start
32+
using our retro-styled components in your project.
33+
</p>
34+
</div>
35+
36+
{/* Quick Start */}
37+
<Card>
38+
<CardHeader>
39+
<CardTitle className="flex items-center gap-2">
40+
<Download className="h-5 w-5" />
41+
Quick Start
42+
</CardTitle>
43+
<CardDescription>
44+
Get up and running with 8bitcn/ui in just a few steps
45+
</CardDescription>
46+
</CardHeader>
47+
<CardContent className="space-y-4">
48+
<div className="space-y-3">
49+
<h3 className="font-semibold">
50+
1. Add the 8bitcn registry to your components.json
51+
</h3>
52+
<div className="bg-muted p-4 rounded-lg">
53+
<pre className="text-sm overflow-x-auto">
54+
{`{
55+
"registries": {
56+
"@8bitcn": "https://8bitcn.com/r/{name}.json"
57+
}
58+
}`}
59+
</pre>
60+
</div>
61+
</div>
62+
63+
<div className="space-y-3">
64+
<h3 className="font-semibold">2. Start adding components!</h3>
65+
<div className="bg-muted p-4 rounded-lg">
66+
<CopyCommandButton
67+
command="npx shadcn@latest add @8bitcn/login-form"
68+
copyCommand="npx shadcn@latest add @8bitcn/login-form"
69+
/>
70+
</div>
71+
</div>
72+
</CardContent>
73+
</Card>
74+
75+
{/* Support */}
76+
<Card>
77+
<CardHeader>
78+
<CardTitle>Need Help?</CardTitle>
79+
<CardDescription>
80+
We&apos;re here to help you get started with 8bitcn/ui
81+
</CardDescription>
82+
</CardHeader>
83+
<CardContent>
84+
<div className="flex flex-col sm:flex-row gap-4">
85+
<Button asChild variant="outline" className="flex-1">
86+
<Link
87+
href="https://github.com/theorcdev/8bitcn"
88+
target="_blank"
89+
>
90+
GitHub Repository
91+
</Link>
92+
</Button>
93+
<Button asChild variant="outline" className="flex-1">
94+
<Link href="/contributors">Meet the Team</Link>
95+
</Button>
96+
<Button asChild className="flex-1">
97+
<Link href="/docs">Documentation</Link>
98+
</Button>
99+
</div>
100+
</CardContent>
101+
</Card>
102+
</div>
103+
</div>
104+
);
105+
}

app/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export default function Home() {
1414
A set of 8-bit styled components and a code distribution platform. Works
1515
with your favorite frameworks. Open Source. Open Code.
1616
</p>
17-
<Link href="/docs/components/accordion" className="w-fit">
17+
<Link href="/docs/getting-started" className="w-fit">
1818
<Button size="sm" className="w-fit">
1919
Get Started
2020
</Button>

config/nav-items.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,10 @@ const components = [
197197

198198
export const navItems = {
199199
header: [
200+
{
201+
label: "Getting Started",
202+
href: "/docs/getting-started",
203+
},
200204
{
201205
label: "Docs",
202206
href: "/docs",

0 commit comments

Comments
 (0)