Skip to content

Commit 535dc3c

Browse files
committed
feat: Hello World WebX Guild 🎩
1 parent 5af7a3b commit 535dc3c

File tree

2 files changed

+160
-0
lines changed

2 files changed

+160
-0
lines changed

app/layout.tsx

+118
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
import { Inter as FontSans } from "next/font/google"
2+
import localFont from "next/font/local"
3+
4+
import "@/styles/globals.css"
5+
6+
import { MainNav } from "@/components/main-nav"
7+
import { SiteFooter } from "@/components/site-footer"
8+
import { TailwindIndicator } from "@/components/tailwind-indicator"
9+
import { ThemeProvider } from "@/components/theme-provider"
10+
import { buttonVariants } from "@/components/ui/button"
11+
import { Toaster } from "@/components/ui/toaster"
12+
import { landingConfig } from "@/config/landing"
13+
import { siteConfig } from "@/config/site"
14+
import { cn } from "@/lib/utils"
15+
import { Metadata } from "next"
16+
import Link from "next/link"
17+
18+
export const dynamic = 'force-dynamic'
19+
20+
const fontSans = FontSans({
21+
subsets: ["latin"],
22+
variable: "--font-sans",
23+
})
24+
25+
// Font files can be colocated inside of `pages`
26+
const fontHeading = localFont({
27+
src: "../assets/fonts/CalSans-SemiBold.woff2",
28+
variable: "--font-heading",
29+
})
30+
31+
interface RootLayoutProps {
32+
children: React.ReactNode
33+
}
34+
35+
export const metadata: Metadata = {
36+
title: {
37+
default: siteConfig.name,
38+
template: `%s | ${siteConfig.name}`,
39+
},
40+
description: siteConfig.description,
41+
keywords: [
42+
"Next.js",
43+
"React",
44+
"Tailwind CSS",
45+
"Server Components",
46+
"Radix UI",
47+
],
48+
authors: [
49+
{
50+
name: "webxdao",
51+
url: "https://webxdao.xyz",
52+
},
53+
],
54+
creator: "webxdao",
55+
themeColor: [
56+
{ media: "(prefers-color-scheme: light)", color: "white" },
57+
{ media: "(prefers-color-scheme: dark)", color: "black" },
58+
],
59+
openGraph: {
60+
type: "website",
61+
locale: "en_US",
62+
url: siteConfig.url,
63+
title: siteConfig.name,
64+
description: siteConfig.description,
65+
siteName: siteConfig.name,
66+
},
67+
twitter: {
68+
card: "summary_large_image",
69+
title: siteConfig.name,
70+
description: siteConfig.description,
71+
images: [`${siteConfig.url}/og.jpg`],
72+
creator: "@shadcn",
73+
},
74+
icons: {
75+
icon: "/favicon.ico",
76+
shortcut: "/favicon-16x16.png",
77+
apple: "/apple-touch-icon.png",
78+
},
79+
manifest: `${siteConfig.url}/site.webmanifest`,
80+
}
81+
82+
export default function RootLayout({ children }: RootLayoutProps) {
83+
return (
84+
<html lang="en" suppressHydrationWarning>
85+
<head />
86+
<body
87+
className={cn(
88+
"flex flex-col min-h-screen bg-background font-sans antialiased",
89+
fontSans.variable,
90+
fontHeading.variable
91+
)}
92+
>
93+
<ThemeProvider attribute="class" defaultTheme="system" enableSystem>
94+
<header className="container z-40 bg-background">
95+
<div className="flex h-20 items-center justify-between py-6">
96+
<MainNav items={landingConfig.mainNav} />
97+
<nav>
98+
<Link
99+
href={"/login"}
100+
className={cn(
101+
buttonVariants({ variant: "secondary", size: "sm" }),
102+
"px-4"
103+
)}
104+
>
105+
Login
106+
</Link>
107+
</nav>
108+
</div>
109+
</header>
110+
<div className="grow">{children}</div>
111+
<SiteFooter></SiteFooter>
112+
<Toaster />
113+
<TailwindIndicator />
114+
</ThemeProvider>
115+
</body>
116+
</html>
117+
)
118+
}

app/page.tsx

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import Link from "next/link"
2+
3+
import { buttonVariants } from "@/components/ui/button"
4+
import { siteConfig } from "@/config/site"
5+
import { cn } from "@/lib/utils"
6+
7+
export default function IndexPage() {
8+
return (
9+
<>
10+
<section className="grow space-y-6 pb-8 pt-6 md:pb-12 md:pt-10 lg:py-32">
11+
<div className="container flex max-w-[64rem] flex-col justify-center items-center gap-4 text-center">
12+
<Link
13+
href={siteConfig.links.twitter}
14+
className="rounded-2xl bg-muted px-4 py-1.5 text-sm font-medium"
15+
target="_blank"
16+
>
17+
alpha preview
18+
</Link>
19+
<h1 className="font-heading text-3xl sm:text-5xl md:text-6xl lg:text-7xl">
20+
WebXGuild 🎩
21+
</h1>
22+
<p className="max-w-[42rem] leading-normal text-muted-foreground sm:text-xl sm:leading-8">
23+
Where developers guild meet. Create your events, request sponsorship, and more.
24+
</p>
25+
<div className="space-x-4">
26+
<Link href="/login" className={cn(buttonVariants({ size: "lg" }))}>
27+
Login
28+
</Link>
29+
<Link
30+
href={siteConfig.links.github}
31+
target="_blank"
32+
rel="noreferrer"
33+
className={cn(buttonVariants({ variant: "outline", size: "lg" }))}
34+
>
35+
GitHub
36+
</Link>
37+
</div>
38+
</div>
39+
</section>
40+
</>
41+
)
42+
}

0 commit comments

Comments
 (0)