Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + React</title>
<title>NutriDry</title>
</head>
<body>
<div id="root"></div>
Expand Down
41 changes: 41 additions & 0 deletions public/images/green-bg.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/green-elements.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/guava.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/mango.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
42 changes: 21 additions & 21 deletions public/images/orange-bg.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/images/orange-elements.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/videos/hero.mp4
Binary file not shown.
2 changes: 1 addition & 1 deletion src/components/FlavorSlider.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ const FlavorSlider = () => {
/>

<img
src={`/images/${flavor.color}-drink.webp`}
src={`/images/${flavor.name.toLowerCase()}.png`}
alt=""
className="drinks"
/>
Expand Down
6 changes: 3 additions & 3 deletions src/components/FlavorTitle.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ const FlavorTitle = () => {
return (
<div className="general-title col-center h-full 2xl:gap-32 xl:gap-24 gap-16">
<div className="overflow-hidden 2xl:py-0 py-3 first-text-split">
<h1>We have 6</h1>
<h1>We have 4</h1>
</div>

<div
Expand All @@ -54,12 +54,12 @@ const FlavorTitle = () => {
className="flavor-text-scroll"
>
<div className="bg-mid-brown pb-5 2xl:pt-0 pt-3 2xl:px-5 px-3">
<h2 className="text-milk">freaking</h2>
<h2 className="text-milk">premium</h2>
</div>
</div>

<div className="overflow-hidden 2xl:py-0 py-3 second-text-split">
<h1>delicious flavors</h1>
<h1>fruit varieties</h1>
</div>
</div>
);
Expand Down
2 changes: 1 addition & 1 deletion src/components/NavBar.jsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const NavBar = () => {
return (
<nav className="fixed top-0 left-0 z-50 md:p-9 p-3">
<img src="/images/nav-logo.svg" alt="nav-logo" className="md:w-24 w-20" />
<img src="/images/nutri-dry-logo.svg" alt="nutri-dry-logo" className="md:w-24 w-20" />
</nav>
);
};
Expand Down
36 changes: 13 additions & 23 deletions src/constants/index.js
Original file line number Diff line number Diff line change
@@ -1,42 +1,32 @@
const flavorlists = [
{
name: "Chocolate Milk",
color: "brown",
rotation: "md:rotate-[-8deg] rotate-0",
},
{
name: "Stawberry Milk",
color: "red",
rotation: "md:rotate-[8deg] rotate-0",
},
{
name: "Cookies & Cream",
color: "blue",
name: "Mango",
color: "orange",
rotation: "md:rotate-[-8deg] rotate-0",
},
{
name: "Peanut Butter Chocolate",
color: "orange",
name: "Guava",
color: "green",
rotation: "md:rotate-[8deg] rotate-0",
},
{
name: "Vanilla Milkshake",
color: "white",
name: "Banana",
color: "yellow",
rotation: "md:rotate-[-8deg] rotate-0",
},
{
name: "Max Chocolate Milk",
color: "black",
name: "Sapota",
color: "brown",
rotation: "md:rotate-[8deg] rotate-0",
},
];

const nutrientLists = [
{ label: "Potassium", amount: "245mg" },
{ label: "Calcium", amount: "500mg" },
{ label: "Vitamin A", amount: "176mcg" },
{ label: "Vitamin D", amount: "5mcg" },
{ label: "Iron", amount: "1mg" },
{ label: "Vitamin C", amount: "45mg" },
{ label: "Fiber", amount: "3g" },
{ label: "Potassium", amount: "320mg" },
{ label: "Vitamin A", amount: "42mcg" },
{ label: "Natural Sugars", amount: "12g" },
];

const cards = [
Expand Down
12 changes: 6 additions & 6 deletions src/sections/BenefitSection.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -47,34 +47,34 @@ const BenefitSection = () => {
<div className="container mx-auto pt-20">
<div className="col-center">
<p>
Unlock the Advantages: <br />
Explore the Key Benefits of Choosing SPYLT
Three Truths We Operate On: <br />
The foundation of everything we do at NutriDry
</p>

<div className="mt-20 col-center">
<ClipPathTitle
title={"Shelf stable"}
title={"Farmers First"}
color={"#faeade"}
bg={"#c88e64"}
className={"first-title"}
borderColor={"#222123"}
/>
<ClipPathTitle
title={"Protein + Caffeine"}
title={"Biology Respected"}
color={"#222123"}
bg={"#faeade"}
className={"second-title"}
borderColor={"#222123"}
/>
<ClipPathTitle
title={"Infinitely recyclable"}
title={"Moment Matched"}
color={"#faeade"}
bg={"#7F3B2D"}
className={"third-title"}
borderColor={"#222123"}
/>
<ClipPathTitle
title={"Lactose free"}
title={"Six Month Stable"}
color={"#2E2D2F"}
bg={"#FED775"}
className={"fourth-title"}
Expand Down
37 changes: 18 additions & 19 deletions src/sections/FooterSection.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ const FooterSection = () => {
<div className="2xl:h-[110dvh] relative md:pt-[20vh] pt-[10vh]">
<div className="overflow-hidden z-10">
<h1 className="general-title text-center text-milk py-5">
#CHUGRESPONSIBLY
#EATREAL
</h1>
</div>

Expand Down Expand Up @@ -48,49 +48,48 @@ const FooterSection = () => {
</div>

<div className="mt-40 md:px-10 px-5 flex gap-10 md:flex-row flex-col justify-between text-milk font-paragraph md:text-lg font-medium">
<div className="flex items-center md:gap-16 gap-5">
<div className="flex md:gap-16 gap-5 md:flex-row flex-col">
<div>
<p>SPYLT Flavors</p>
<p>NutriDry Varieties</p>
</div>
<div>
<p>Chug Club</p>
<p>Student Marketing</p>
<p>Dairy Dealers</p>
<p>Farmers Program</p>
<p>Bulk Orders</p>
<p>Nutrition Info</p>
</div>
<div>
<p>Company</p>
<p>Contacts</p>
<p>Tasty Talk</p>
<p>Contact</p>
<p>Our Mission</p>
</div>
</div>

<div className="md:max-w-lg">
<div className="flex-1 md:max-w-lg">
<p>
Get Exclusive Early Access and Stay Informed About Product
Updates, Events, and More!
Get updates on new fruit varieties, farmer stories, and
exclusive access to seasonal harvests.
</p>
<div className="flex justify-between items-center border-b border-[#D9D9D9] py-5 md:mt-10">
{/* The input field and arrow icon for newsletter signup. */}{" "}
{/* A
border at the bottom for a clean, modern look. */}
<input
{/* <input
type="email"
placeholder="Enter your email"
className="w-full placeholder:font-sans placeholder:text-[#999999]"
className="w-full placeholder:font-sans placeholder:text-[#999999] bg-transparent outline-none"
/>
<img src="/images/arrow.svg" alt="arrow" />
<img src="/images/arrow.svg" alt="arrow" /> */}
</div>
</div>
</div>

<div className="copyright-box">
{/* The final row with copyright and legal links. */}
<p>Copyright © 2025 Spylt - All Rights Reserved</p>
{/* <div className="copyright-box flex md:flex-row flex-col items-center justify-between gap-4 mt-20 px-5 md:px-10">
<p>Copyright © 2025 NutriDry - All Rights Reserved</p>
<div className="flex items-center gap-7">
<p>Privacy Policy</p>
<p>Terms of Sеrvice</p>
<p>Terms of Service</p>
</div>
</div>
</div> */}
</div>
</section>
);
Expand Down
27 changes: 11 additions & 16 deletions src/sections/HeroSection.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ const HeroSection = () => {
});

const tl = gsap.timeline({
delay: 1,
delay: 1.5,
});

tl.to(".hero-content", {
Expand All @@ -33,16 +33,16 @@ const HeroSection = () => {
clipPath: "polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)",
ease: "circ.out",
},
"-=0.5"
"-=0.3"
)
.from(
titleSplit.chars,
{
yPercent: 200,
stagger: 0.02,
stagger: 0.05,
ease: "power2.out",
},
"-=0.5"
"-=0.3"
);

const heroTl = gsap.timeline({
Expand Down Expand Up @@ -79,35 +79,30 @@ const HeroSection = () => {
</>
) : (
<video
src="/videos/hero-bg.mp4"
src="/videos/hero.mp4"
autoPlay
muted
playsInline
className="absolute inset-0 w-full h-full object-cover"
/>
)}
<div className="hero-content opacity-0">
<div className="overflow-hidden">
<h1 className="hero-title">Freaking Delicious</h1>
<div className="overflow-hidden mb-4">
<h1 className="hero-title">NutriDry</h1>
</div>
<div
style={{
clipPath: "polygon(50% 0, 50% 0, 50% 100%, 50% 100%)",
}}
className="hero-text-scroll"
className="hero-text-scroll mb-20"
>
<div className="hero-subtitle">
<h1>Protein + Caffine </h1>
<h1>Tamil Nadu's surplus,<br className="hidden md:block" /> precisely preserved</h1>
</div>
</div>

<h2>
Live life to the fullest  with SPYLT: Shatter boredom and embrace
your inner kid with every deliciously smooth chug.
</h2>

<div className="hero-button">
<p>Chug a SPYLT</p>
<div className="hero-button -mt-4">
<p>Experience Real Nutrition</p>
</div>
</div>
</div>
Expand Down
12 changes: 6 additions & 6 deletions src/sections/MessageSection.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ const MessageSection = () => {
<div className="container mx-auto flex-center py-28 relative">
<div className="w-full h-full">
<div className="msg-wrapper">
<h1 className="first-message">Stir up your fearless past and</h1>
<h1 className="first-message">We Believe Fresh fruit is perfect nutrition with</h1>

<div
style={{
Expand All @@ -80,21 +80,21 @@ const MessageSection = () => {
className="msg-text-scroll"
>
<div className="bg-light-brown md:pb-5 pb-3 px-5">
<h2 className="text-red-brown">Fuel Up</h2>
<h2 className="text-red-brown">Farmers First</h2>
</div>
</div>

<h1 className="second-message">
your future with every gulp of Perfect Protein
terrible logistics. We removed the problem—at the source.
</h1>
</div>

<div className="flex-center md:mt-20 mt-10">
<div className="max-w-md px-10 flex-center overflow-hidden">
<p>
Rev up your rebel spirit and feed the adventure of life with
SPYLT, where you’re one chug away from epic nostalgia and
fearless fun.
Grade B fruit is nutritionally perfect. We pay farmers for what
supermarkets reject. Water is heavy. Heat destroys. Distance kills.
So we process at origin and preserve what matters.
</p>
</div>
</div>
Expand Down
8 changes: 4 additions & 4 deletions src/sections/NutritionSection.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ const NutritionSection = () => {
<div className="relative inline-block md:translate-y-20">
<div className="general-title relative flex flex-col justify-center items-center gap-24">
<div className="overflow-hidden place-self-start">
<h1 className="nutrition-title">It still does</h1>
<h1 className="nutrition-title">Biology Respected</h1>
</div>
<div
style={{
Expand All @@ -87,7 +87,7 @@ const NutritionSection = () => {
className="nutrition-text-scroll place-self-start"
>
<div className="bg-yellow-brown pb-5 md:pt-0 pt-3 md:px-5 px-3">
<h2 className="text-milk-yellow">Body Good</h2>
<h2 className="text-milk-yellow">Nutrients Intact</h2>
</div>
</div>
</div>
Expand All @@ -96,8 +96,8 @@ const NutritionSection = () => {
<div className="flex md:justify-center items-center translate-y-5">
<div className="md:max-w-xs max-w-md">
<p className="text-lg md:text-right text-balance font-paragraph">
Milk contains a wide array of nutrients, including vitamins,
minerals, and protein, and this is lactose free
Precise dehydration preserves cellular structure.
Nutrients remain intact without chemical masks or additives.
</p>
</div>
</div>
Expand Down