Skip to content

Commit 282c29d

Browse files
committed
Best Commit Ever
1 parent 1461238 commit 282c29d

File tree

6 files changed

+97
-15
lines changed

6 files changed

+97
-15
lines changed

src/app/globals.css

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
11
@import "tailwindcss";
22

3-
3+
@theme {
4+
--animate-dash-scroll: dash-scroll 1.5s linear infinite;
5+
6+
@keyframes dash-scroll {
7+
0% { background-position: 0 0; }
8+
100% { background-position: 16px 0; }
9+
}
10+
}
11+
12+
.infinite-dashed-border {
13+
background-image: repeating-linear-gradient(to right, white 0, white 4px, transparent 4px, transparent 8px);
14+
height: 2px; /* border thickness */
15+
animation: var(--animate-dash-scroll);
16+
}
17+
418

519
.font-space-grotesk {
620
font-family: var(--font-space-grotesk) , 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;

src/app/page.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@
22

33
import React, { useState } from "react";
44
import HeroSection from "@/components/HeroSection";
5+
import Navbar from "@/components/Navbar";
56

67
const Home = () => {
78
return (
89
<>
10+
<Navbar />
911
<HeroSection />
12+
1013
</>
1114
);
1215
};

src/components/HeroSection.jsx

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,22 @@ import Link from "next/link";
66
const HeroSection = () => {
77
return (
88
<>
9-
<section className="w-full h-screen bg-neutral-900">
10-
<section className="min-h-screen w-full flex items-center bg-neutral-900">
11-
<main className="w-full flex flex-col items-center justify-center pt-24 pb-16 border-y-2 border-dashed border-gray-600 ">
12-
{/* Accent Graphic */}
9+
<section className="w-full h-screen flex flex-col items-center justify-center bg-neutral-900 ">
10+
<main className="min-h-max w-full flex flex-col items-center bg-neutral-900 ">
11+
<div className="w-full infinite-dashed-border" />
12+
13+
<main className="w-full flex flex-col items-center justify-center pt-24 pb-16">
1314
<span className="rounded-2xl bg-white/10 shadow-lg p-3 flex items-center justify-center mb-8">
1415
<Image
1516
src="/logo.png"
1617
alt="Hero Logo"
1718
width={72}
1819
height={72}
1920
className="h-14 w-14 object-cover rounded-2xl"
20-
priority
2121
/>
2222
</span>
23-
{/* Bold Headline */}
24-
<div className="flex flex-col items-center gap-2 ">
23+
24+
<div className="flex flex-col items-center gap-2">
2525
<h1 className="text-5xl flex items-center justify-center sm:text-7xl font-space-mono font-extrabold uppercase tracking-tight text-white text-center">
2626
I am
2727
<div className="flex items-center justify-center ml-8">
@@ -37,7 +37,7 @@ const HeroSection = () => {
3737
</div>
3838
</h1>
3939
</div>
40-
{/* Subtitle / Role */}
40+
4141
<div className="mt-6 mb-2">
4242
<WordRotate
4343
className="text-lg sm:text-2xl text-gray-400 tracking-wide text-center"
@@ -50,7 +50,7 @@ const HeroSection = () => {
5050
]}
5151
/>
5252
</div>
53-
{/* Buttons */}
53+
5454
<div className="flex gap-5 mt-10 flex-wrap justify-center">
5555
<button className="px-8 py-3 bg-white text-black text-lg rounded-full font-semibold shadow-lg hover:bg-gray-300/90 transition">
5656
<Link href="/project">My Work</Link>
@@ -60,11 +60,12 @@ const HeroSection = () => {
6060
</button>
6161
</div>
6262
</main>
63-
{/* Modern Bottom Divider */}
64-
<div className="w-full flex justify-center mt-16 absolute bottom-12 left-0">
65-
<div className="h-2 w-32 rounded-full bg-white/10 shadow-md" />
66-
</div>
67-
</section>
63+
64+
<div className=" w-full infinite-dashed-border" />
65+
</main>
66+
<div className="w-full flex justify-center mt-16">
67+
<div className="h-2 w-32 rounded-full bg-white/10 shadow-md" />
68+
</div>
6869
</section>
6970
</>
7071
);

src/components/Navbar.jsx

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import Image from "next/image";
2+
import React from "react";
3+
import ThaYT from "@/components/ThaYT";
4+
5+
const Navbar = () => {
6+
return (
7+
<nav className="fixed w-full top-4 flex justify-center items-center ">
8+
<main className="bg-zinc-950/80 rounded-full shadow-lg py-3 justify-around w-6xl flex flex-row gap-5 items-center ">
9+
<div>
10+
<span className="rounded-2xl px-4 font-space-mono font-bold text-lg flex items-center justify-center">
11+
<Image
12+
src="/logo.png"
13+
alt="Hero Logo"
14+
width={72}
15+
height={72}
16+
className="h-14 w-14 object-cover rounded-2xl mr-2"
17+
/>
18+
Vspcoderz
19+
</span>
20+
</div>
21+
<div className="flex flex-row gap-3 justify-around">
22+
<ThaYT name="Projects" href="/projects" arrow={false} className="mr-2" />
23+
<ThaYT name="Skill" href="/skills" arrow={false} className="mr-2" />
24+
<ThaYT name="About Me" href="/about" arrow={false} className="mr-2" />
25+
<ThaYT name="Contact Me" href="/contact" arrow={true} className="mr-2" />
26+
</div>
27+
</main>
28+
</nav>
29+
);
30+
};
31+
32+
export default Navbar;

src/components/ThaYT.jsx

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import React from "react";
2+
import Link from "next/link";
3+
4+
const ThaYT = (props) => {
5+
return (
6+
<Link href={props.href}>
7+
<button
8+
type="button"
9+
className="relative inline-flex items-center text-gray-500 font-normal text-lg font-poppins cursor-pointer border-0 bg-transparent transition-colors duration-400 ease-[cubic-bezier(0.25,0.8,0.25,1)] focus:outline-none hover:text-white focus:text-white group"
10+
>
11+
<span className="relative font-space-grotesk uppercase text-sm font-bold">
12+
{props.name}
13+
<span className="absolute bottom-[-7px] left-0 h-[1px] bg-white w-0 group-hover:w-full group-focus:w-full transition-all duration-500 ease-[cubic-bezier(0.25,0.8,0.25,1)]"></span>
14+
</span>
15+
16+
{props.arrow && (
17+
<span className="ml-2.5">
18+
<svg
19+
xmlns="http://www.w3.org/2000/svg"
20+
viewBox="0 0 448 512"
21+
className="w-[0.9em] h-[0.8em] fill-current text-gray-500 transition-transform duration-500 ease-out -rotate-[45deg] group-hover:rotate-0 group-hover:text-white group-focus:rotate-0 group-focus:text-white"
22+
>
23+
<path d="M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"></path>
24+
</svg>
25+
</span>
26+
)}
27+
</button>
28+
</Link>
29+
);
30+
};
31+
32+
export default ThaYT;

0 commit comments

Comments
 (0)