Skip to content

Commit 320719c

Browse files
web(ui): modified hero
1 parent 9d31c13 commit 320719c

File tree

4 files changed

+44
-46
lines changed

4 files changed

+44
-46
lines changed

app/globals.css

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,3 +224,23 @@ body {
224224
height: 0;
225225
pointer-events: none;
226226
}
227+
228+
.mask-bottom-dark {
229+
-webkit-mask-image: linear-gradient(
230+
to bottom,
231+
black 0%,
232+
rgba(0, 0, 0, 0.9) 20%,
233+
rgba(0, 0, 0, 0.6) 40%,
234+
rgba(0, 0, 0, 0.3) 55%,
235+
transparent 70%
236+
);
237+
238+
mask-image: linear-gradient(
239+
to bottom,
240+
black 0%,
241+
rgba(0, 0, 0, 0.9) 20%,
242+
rgba(0, 0, 0, 0.6) 40%,
243+
rgba(0, 0, 0, 0.3) 55%,
244+
transparent 70%
245+
);
246+
}

components/landing/features.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ export default function Features() {
2626
};
2727

2828
return (
29-
<section className="min-h-screen relative flex flex-col justify-center bg-gradient-to-b from-[#0A0A0A] via-[#131516] to-[#0A0A0A] mt-5 px-4 sm:px-6 md:px-10 lg:px-14 xl:px-28 2xl:px-40 gap-y-3 sm:gap-y-4 md:gap-y-5 xl:gap-y-6">
30-
<div className="relative ">
29+
<section className=" relative flex flex-col justify-center bg-gradient-to-b from-[#0A0A0A] via-[#131516] to-[#0A0A0A] px-4 sm:px-6 md:px-10 lg:px-14 xl:px-28 2xl:px-40 gap-y-3 sm:gap-y-4 md:gap-y-5 xl:gap-y-6 pt-10 md:pt-0 pb-20 xl:pb-28">
30+
<div className="relative">
3131
<p className="text-xl md:text-3xl lg:text-4xl xl:text-6xl font-medium pb-3 ">
3232
Everything you need
3333
</p>

components/landing/hero.tsx

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export default function Hero() {
3434
"/api/waitlist",
3535
{
3636
userEmail: email.trim(),
37-
}
37+
},
3838
);
3939

4040
if (response.data) {
@@ -62,7 +62,7 @@ export default function Hero() {
6262
};
6363

6464
const handleKeyPress = (
65-
event: React.KeyboardEvent<HTMLInputElement>
65+
event: React.KeyboardEvent<HTMLInputElement>,
6666
): void => {
6767
if (event.key === "Enter" && !isLoading) {
6868
waitListCall();
@@ -71,7 +71,7 @@ export default function Hero() {
7171

7272
return (
7373
<div className="">
74-
<div className="relative h-[300px] sm:h-[400px] lg:h-[500px] flex px-4 sm:px-6 md:px-10 lg:px-14 xl:px-28 2xl:px-40 justify-center items-center">
74+
<div className="relative h-[300px] sm:h-[400px] flex px-4 sm:px-6 md:px-10 lg:px-14 xl:px-28 2xl:px-40 justify-center items-center ">
7575
<Image className="absolute opacity-20 z-0" src={grid} alt="" />
7676
<div className=" flex flex-col items-center md:font-bold ">
7777
<motion.p
@@ -103,28 +103,6 @@ export default function Hero() {
103103
<p>Introducing the system for modern software development.</p>
104104
<p>Organize issues, projects, and product roadmaps.</p>
105105
</motion.div>
106-
107-
{/* <BlurFade inView delay={1} className=" mt-10 flex gap-x-2">
108-
<div className="border border-[#686464] h-10 md:h-12 w-fit bg-[#121212a6] flex items-center p-1 rounded-full shadow-2xl shadow-[#7b7a7f74]">
109-
<input
110-
onChange={(e) => {
111-
setEmail(e.target.value);
112-
}}
113-
className="rounded-md h-full bg-transparent px-3 outline-none font-extralight w-60 sm:w-64 md:w-96 text-[14px] sm:text-sm md:text-[16px]"
114-
placeholder="Email"
115-
value={email}
116-
disabled={isLoading}
117-
onKeyDown={handleKeyPress}
118-
></input>
119-
<button
120-
onClick={waitListCall}
121-
disabled={(email.length == 0 ? true : false) || isLoading}
122-
className="h-full px-4 text-[14px] sm:text-sm md:text-[16px] rounded-full text-white bg-[#232222] border border-[#565555] cursor-pointer hover:bg-[#363537] transition-all duration-300"
123-
>
124-
{!isLoading ? "Join waitlist" : <Image src={spinner} alt="" />}
125-
</button>
126-
</div>
127-
</BlurFade> */}
128106
</div>
129107
</div>
130108
<HomeBanner />
@@ -139,9 +117,9 @@ const HomeBanner = () => {
139117
inView
140118
className="px-4 sm:px-6 md:px-10 lg:px-14 xl:px-28 2xl:px-40"
141119
>
142-
<div className="flex justify-center border border-[#313032] rounded-2xl p-1 md:p-2 bg-[#16161681]">
120+
<div className="relative flex justify-center border-t border-[#313032c6] rounded-2xl p-1 md:p-2 bg-[#0A0A0A]">
143121
<Image
144-
className="rounded-[11px] border border-[#515252]"
122+
className="rounded-[11px] border border-[#313032] mask-bottom-dark"
145123
src={homebannerImg}
146124
alt="img"
147125
/>

components/landing/navbar.tsx

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import Image from "next/image";
44
import Link from "next/link";
5-
import { motion } from "framer-motion";
5+
import { AnimatePresence, motion } from "framer-motion";
66
import { useEffect, useState } from "react";
77
import { useSession, signIn, signOut } from "@/utils/auth";
88
import { usePathname } from "next/navigation";
@@ -194,34 +194,34 @@ export default function Navbar() {
194194
<p>Star on GitHub</p>
195195
<SVGIcon className="flex w-3 lg:w-4" svgString={RAW_ICONS.Star} />
196196
</Link>
197-
{profileTabOpen && (
198-
<div
199-
className={`absolute top-13 -right-2 w-44 h-fit bg-[rgba(0,0,0,0.1)] backdrop-blur-lg border border-[#414141] rounded-xl shadow-lg p-1 transition-all duration-300 ${
200-
profileTabOpen
201-
? "opacity-100 scale-100"
202-
: "opacity-0 scale-95 pointer-events-none"
203-
}`}
204-
>
205-
{optionsArr.map((elem, key) => {
206-
return (
197+
<AnimatePresence>
198+
{profileTabOpen && (
199+
<motion.div
200+
initial={{ opacity: 0, scale: 0.95, y: -5 }}
201+
animate={{ opacity: 1, scale: 1, y: 0 }}
202+
exit={{ opacity: 0, scale: 0.95, y: -5 }}
203+
transition={{ duration: 0.2, ease: "easeOut" }}
204+
className="absolute top-13 -right-2 w-44 h-fit bg-[rgba(0,0,0,0.1)] backdrop-blur-lg border border-[#414141] rounded-xl shadow-lg p-1"
205+
>
206+
{optionsArr.map((elem, key) => (
207207
<BottomOptionLabel
208208
key={key}
209209
svg={elem.svg}
210210
title={elem.title}
211211
redirectHref={elem.redirectHref}
212212
openToNewPage={elem.openToNewPage}
213213
/>
214-
);
215-
})}
216-
<LogoutBtn />
217-
</div>
218-
)}
214+
))}
215+
<LogoutBtn />
216+
</motion.div>
217+
)}
218+
</AnimatePresence>
219219
{!session?.user?.id &&
220220
pathname !== "/login" &&
221221
pathname !== "/signup" && (
222222
<Link
223223
href={"/signup"}
224-
className="border-2 flex items-center px-4 h-9 rounded-lg text-black bg-white cursor-pointer border-[#313032] hover:bg-[#1e1e1f] hover:border-[1px] hover:text-white transition-all duration-300"
224+
className="border-2 flex items-center px-4 h-9 rounded-lg text-black bg-white cursor-pointer border-[#313032] hover:bg-[#1e1e1f] hover:border-[1px] hover:text-white transition-all duration-100"
225225
>
226226
Sign in
227227
</Link>

0 commit comments

Comments
 (0)