Skip to content

Commit c22d21d

Browse files
committed
feat(landing): add landing page (WIP)
1 parent de1fb88 commit c22d21d

File tree

5 files changed

+75
-2
lines changed

5 files changed

+75
-2
lines changed

frontend/public/backdrop.jpg

341 KB
Loading
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import React, { ReactNode } from "react";
2+
3+
type ButtonVariant = "primary";
4+
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
5+
className?: string;
6+
isDisabled?: boolean;
7+
isLoading?: boolean;
8+
children?: ReactNode;
9+
variant?: ButtonVariant;
10+
}
11+
12+
const Button = ({
13+
className = "",
14+
isDisabled = false,
15+
children,
16+
...props
17+
}: ButtonProps) => {
18+
return (
19+
<button
20+
className={`btn outline outline-white text-white shadow-sm ${className}`}
21+
disabled={isDisabled}
22+
{...props}
23+
>
24+
{children}
25+
</button>
26+
);
27+
};
28+
29+
export default Button;
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { IoPeopleCircleSharp } from "react-icons/io5";
2+
import Button from "../button/Button";
3+
4+
const Navbar = () => {
5+
return (
6+
<nav>
7+
<div className="flex justify-between bg-neutral p-2 px-12 items-center">
8+
<div className="text-4xl text-white font-bold flex items-center">
9+
<IoPeopleCircleSharp className="text-base-100 text-5xl" />
10+
PeerPrep
11+
</div>
12+
<Button
13+
className="btn-accent rounded-full btn-sm px-4"
14+
children={<span>Login</span>}
15+
/>
16+
</div>
17+
</nav>
18+
);
19+
};
20+
21+
export default Navbar;

frontend/src/app/layout.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import "./globals.css";
22
import type { Metadata } from "next";
33
import { Montserrat } from "next/font/google";
4+
import Navbar from "./components/navbar/Navbar";
45

56
const montserrat = Montserrat({ subsets: ["latin"] });
67

@@ -16,7 +17,10 @@ export default function RootLayout({
1617
}) {
1718
return (
1819
<html lang="en" data-theme="myTheme">
19-
<body className={montserrat.className}>{children}</body>
20+
<body className={montserrat.className}>
21+
<Navbar />
22+
{children}
23+
</body>
2024
</html>
2125
);
2226
}

frontend/src/app/page.tsx

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,26 @@
11
import Image from "next/image";
2+
import Button from "./components/button/Button";
23

34
export default function Home() {
45
return (
5-
<main className="flex min-h-screen flex-col items-center justify-between p-24"></main>
6+
<main>
7+
<Image
8+
src="/backdrop.jpg"
9+
alt="backdrop"
10+
className="-z-10 opacity-50"
11+
fill
12+
/>
13+
<section className="flex flex-col items-center py-36 px-24 gap-4 z-20">
14+
<h1 className="text-7xl text-white font-bold">Let's Prep Together!</h1>
15+
<h2 className="text-xl text-center text-white font-medium max-w-xl">
16+
Collaborative Mock Interviews to Boost Your Confidence and Nail Your
17+
Dream Job Interviews
18+
</h2>
19+
<Button
20+
className="btn-accent w-36"
21+
children={<span>Get Started!</span>}
22+
/>
23+
</section>
24+
</main>
625
);
726
}

0 commit comments

Comments
 (0)