Skip to content

Commit f0abb82

Browse files
committed
layout
1 parent adc2c60 commit f0abb82

4 files changed

Lines changed: 94 additions & 14 deletions

File tree

client/package-lock.json

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

client/src/pages/index.tsx

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { usePings } from "@/hooks/pings";
55
import { cn } from "@/lib/utils";
66

77
import { Button } from "../components/ui/button";
8+
import Layout from "./layout";
89

910
const fontSans = FontSans({
1011
subsets: ["latin"],
@@ -18,19 +19,21 @@ export default function Home() {
1819
});
1920

2021
return (
21-
<main
22-
className={cn(
23-
"flex min-h-screen flex-col items-center gap-4 p-24 font-sans",
24-
fontSans.variable,
25-
)}
26-
>
27-
<h1 className="text-3xl text-primary">Test title</h1>
28-
<Button onClick={() => setClicked(true)}>
29-
{isLoading ? "Loading" : "Ping"}
30-
</Button>
31-
<p>
32-
Response from server: <span>{data as string}</span>
33-
</p>
34-
</main>
22+
<Layout>
23+
<main
24+
className={cn(
25+
"flex min-h-screen flex-col items-center gap-4 p-24 font-sans",
26+
fontSans.variable,
27+
)}
28+
>
29+
<h1 className="text-3xl text-primary">Test title</h1>
30+
<Button onClick={() => setClicked(true)}>
31+
{isLoading ? "Loading" : "Ping"}
32+
</Button>
33+
<p>
34+
Response from server: <span>{data as string}</span>
35+
</p>
36+
</main>
37+
</Layout>
3538
);
3639
}

client/src/pages/layout.tsx

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import { NavigationMenuLink } from "@radix-ui/react-navigation-menu";
2+
import Link from "next/link";
3+
4+
import { Button } from "@/components/ui/button";
5+
import {
6+
NavigationMenu,
7+
NavigationMenuContent,
8+
NavigationMenuItem,
9+
NavigationMenuList,
10+
NavigationMenuTrigger,
11+
} from "@/components/ui/navigation-menu";
12+
13+
type LayoutProps = {
14+
children: React.ReactNode;
15+
};
16+
17+
export default function Layout({ children }: LayoutProps) {
18+
return (
19+
<>
20+
<div className="flex flex-row items-center justify-between gap-6 bg-blue-500 p-6">
21+
<NavigationMenu>
22+
<NavigationMenuList>
23+
<NavigationMenuItem>
24+
<NavigationMenuTrigger>Events</NavigationMenuTrigger>
25+
<NavigationMenuContent>
26+
<NavigationMenuLink asChild>
27+
<Link href="/">Index</Link>
28+
</NavigationMenuLink>
29+
</NavigationMenuContent>
30+
</NavigationMenuItem>
31+
32+
<NavigationMenuItem>
33+
<NavigationMenuTrigger>Clubs</NavigationMenuTrigger>
34+
</NavigationMenuItem>
35+
36+
<NavigationMenuItem>
37+
<NavigationMenuTrigger>About us</NavigationMenuTrigger>
38+
</NavigationMenuItem>
39+
</NavigationMenuList>
40+
</NavigationMenu>
41+
42+
<Button>Join or something</Button>
43+
</div>
44+
45+
<main>{children}</main>
46+
</>
47+
);
48+
}

client/src/pages/try.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import Layout from "./layout";
2+
3+
export default function Home() {
4+
return (
5+
<Layout>
6+
<div className="p-6">
7+
<h1 className="text-2xl font-bold">Home</h1>
8+
<p>This is the home page.</p>
9+
</div>
10+
</Layout>
11+
);
12+
}

0 commit comments

Comments
 (0)