Compare commits
47 Commits
version_1
...
version_19
| Author | SHA1 | Date | |
|---|---|---|---|
| c07e31b6d7 | |||
| 3f78f65473 | |||
| c761e36f2c | |||
| d0a4c6ce2e | |||
| 7418321c80 | |||
| f31c650bdc | |||
| 2e61100626 | |||
| 194a7cde36 | |||
| d32895790c | |||
| 5991fb9a25 | |||
| 75a8912eb1 | |||
| 9c6e8aa915 | |||
| 809e647910 | |||
| d0850756b3 | |||
| 5ee65764df | |||
| 2c34164f4b | |||
| ac81567aad | |||
| ad5e4c087e | |||
| aaceed4826 | |||
| c990c5b5be | |||
| 749a476842 | |||
| e663d07c35 | |||
| 6355632b75 | |||
| bfaf78322f | |||
| cc2d1837ad | |||
| f9cd211092 | |||
| 85356bbd96 | |||
| 6b49851c4f | |||
| c44d3c669c | |||
| cb9b618c69 | |||
| 110cd5c894 | |||
| 73c1b0b712 | |||
| 6187c79a37 | |||
| 03e4134601 | |||
| 764572ccba | |||
| efa866adcb | |||
| ad3ca2d96c | |||
| abb1ca7a14 | |||
| 3f6726c7d1 | |||
| 6f4d355423 | |||
| c7ffcd966c | |||
| 9fb5953fec | |||
| c7fc289f93 | |||
| 45bbd06355 | |||
| 7b951b99fa | |||
| 981ca8824e | |||
| 3689924c69 |
@@ -4,9 +4,9 @@ import { Inter } from "next/font/google";
|
|||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
import "@/lib/gsap-setup";
|
import "@/lib/gsap-setup";
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||||
import Tag from "@/tag/Tag";
|
|
||||||
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
||||||
import { Nunito_Sans } from "next/font/google";
|
import { Nunito_Sans } from "next/font/google";
|
||||||
|
import { Montserrat } from "next/font/google";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -20,9 +20,9 @@ export const metadata: Metadata = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const nunitoSans = Nunito_Sans({
|
|
||||||
variable: "--font-nunito-sans",
|
const montserrat = Montserrat({
|
||||||
subsets: ["latin"],
|
variable: "--font-montserrat", subsets: ["latin"],
|
||||||
});
|
});
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
@@ -33,8 +33,8 @@ export default function RootLayout({
|
|||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en" suppressHydrationWarning>
|
||||||
<ServiceWrapper>
|
<ServiceWrapper>
|
||||||
<body className={`${nunitoSans.variable} antialiased`}>
|
<body className={`${montserrat.variable} antialiased`}>
|
||||||
<Tag />
|
|
||||||
{children}
|
{children}
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
|
|||||||
200
src/app/page.tsx
200
src/app/page.tsx
@@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
import ReactLenis from "lenis/react";
|
import ReactLenis from "lenis/react";
|
||||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
import ContactSplit from '@/components/sections/contact/ContactSplit';
|
||||||
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
import FooterBase from '@/components/sections/footer/FooterBase';
|
||||||
import HeroOverlay from '@/components/sections/hero/HeroOverlay';
|
import HeroCarouselLogo from '@/components/sections/hero/heroCarouselLogo/HeroCarouselLogo';
|
||||||
import MediaAbout from '@/components/sections/about/MediaAbout';
|
import MediaAbout from '@/components/sections/about/MediaAbout';
|
||||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||||
import PricingCardTwo from '@/components/sections/pricing/PricingCardTwo';
|
import PricingCardTwo from '@/components/sections/pricing/PricingCardTwo';
|
||||||
import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix';
|
import TestimonialCardTwo from '@/components/sections/testimonial/TestimonialCardTwo';
|
||||||
|
|
||||||
export default function LandingPage() {
|
export default function LandingPage() {
|
||||||
return (
|
return (
|
||||||
@@ -17,50 +17,38 @@ export default function LandingPage() {
|
|||||||
defaultTextAnimation="background-highlight"
|
defaultTextAnimation="background-highlight"
|
||||||
borderRadius="rounded"
|
borderRadius="rounded"
|
||||||
contentWidth="smallMedium"
|
contentWidth="smallMedium"
|
||||||
sizing="mediumLargeSizeMediumTitles"
|
sizing="largeSizeMediumTitles"
|
||||||
background="floatingGradient"
|
background="none"
|
||||||
cardStyle="solid"
|
cardStyle="solid"
|
||||||
primaryButtonStyle="diagonal-gradient"
|
primaryButtonStyle="diagonal-gradient"
|
||||||
secondaryButtonStyle="radial-glow"
|
secondaryButtonStyle="radial-glow"
|
||||||
headingFontWeight="bold"
|
headingFontWeight="extrabold"
|
||||||
>
|
>
|
||||||
<ReactLenis root>
|
<ReactLenis root>
|
||||||
<div id="nav" data-section="nav">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarLayoutFloatingOverlay
|
<NavbarLayoutFloatingOverlay
|
||||||
navItems={[
|
navItems={[
|
||||||
{
|
{ name: "Home", id: "home" },
|
||||||
name: "Home",
|
{ name: "About", id: "about" },
|
||||||
id: "home",
|
{ name: "Pricing", id: "pricing" },
|
||||||
},
|
{ name: "Testimonials", id: "testimonial" },
|
||||||
{
|
{ name: "Contact", id: "contact" },
|
||||||
name: "About",
|
|
||||||
id: "about",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Pricing",
|
|
||||||
id: "pricing",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Contact",
|
|
||||||
id: "contact",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
brandName="FlawLikeMigo"
|
brandName="FlawLikeMigo"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="home" data-section="home">
|
<div id="home" data-section="home">
|
||||||
<HeroOverlay
|
<HeroCarouselLogo
|
||||||
title="Precision grooming by FlawLikeMigo"
|
logoText="FlawLikeMigo"
|
||||||
description="Transforming your look with sharp cuts, clean fades, and impeccable attention to detail. Experience the difference of true craftsmanship."
|
description="Serving Buda, Kyle, and the greater Austin area—elevating your style with precision."
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{ text: "Book Appointment", href: "#contact" },
|
||||||
text: "Book Your Cut",
|
]}
|
||||||
href: "#contact",
|
slides={[
|
||||||
},
|
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BXcDHoKBX1pK6RdszTOwD4Yhel/uploaded-1774639907880-qdv0qs1a.jpg" },
|
||||||
|
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BXcDHoKBX1pK6RdszTOwD4Yhel/uploaded-1774639907880-gfi2j7xb.jpg" }
|
||||||
]}
|
]}
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/combs-brushes_23-2147711617.jpg"
|
|
||||||
videoSrc="https://www.w3schools.com/howto/img_video.mp4?_wi=1"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -68,8 +56,9 @@ export default function LandingPage() {
|
|||||||
<MediaAbout
|
<MediaAbout
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
title="The Migo Touch"
|
title="The Migo Touch"
|
||||||
description="With years of experience behind the chair, FlawLikeMigo is dedicated to providing more than just a haircut. We curate experiences that leave you feeling confident and sharp."
|
tag="Come get right, best in the city I don’t sell the cut I sell an experience"
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/medium-shot-man-getting-groomed-salon_23-2149220574.jpg"
|
description="FlawLikeMigo is a young, precision-focused barber based in Buda and Kyle, Texas—just a 15-minute drive from Austin. With years of experience behind the chair, we are dedicated to providing more than just a haircut; we curate a premium grooming experience designed to leave you feeling sharp, confident, and ready for anything."
|
||||||
|
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BXcDHoKBX1pK6RdszTOwD4Yhel/uploaded-1774640146026-zf8iucja.jpg"
|
||||||
videoSrc="https://www.w3schools.com/howto/img_video.mp4?_wi=2"
|
videoSrc="https://www.w3schools.com/howto/img_video.mp4?_wi=2"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -81,55 +70,16 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
plans={[
|
plans={[
|
||||||
{
|
{
|
||||||
id: "p1",
|
id: "p2", badge: "Classic", price: "$35", subtitle: "Haircut with Eyebrows", buttons: [{ text: "Book", href: "#contact" }],
|
||||||
badge: "Most Popular",
|
features: ["Precision Haircut", "Eyebrow Grooming", "Line-up"],
|
||||||
price: "$45",
|
|
||||||
subtitle: "The Signature Cut",
|
|
||||||
buttons: [
|
|
||||||
{
|
|
||||||
text: "Book",
|
|
||||||
href: "#contact",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
features: [
|
|
||||||
"Precision Haircut",
|
|
||||||
"Line-up",
|
|
||||||
"Hot Towel Service",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "p2",
|
id: "p1", badge: "Signature", price: "$45", subtitle: "Full service hair cut with design, black mask, and eyebrows", buttons: [{ text: "Book", href: "#contact" }],
|
||||||
badge: "Complete",
|
features: ["Precision Haircut", "Custom Design", "Black Mask Treatment", "Eyebrow Grooming"],
|
||||||
price: "$65",
|
|
||||||
subtitle: "Full Grooming",
|
|
||||||
buttons: [
|
|
||||||
{
|
|
||||||
text: "Book",
|
|
||||||
href: "#contact",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
features: [
|
|
||||||
"Signature Cut",
|
|
||||||
"Beard Trim",
|
|
||||||
"Facial Treatment",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "p3",
|
id: "p3", badge: "Complete", price: "$50", subtitle: "Full Grooming", buttons: [{ text: "Book", href: "#contact" }],
|
||||||
badge: "Executive",
|
features: ["Signature Cut", "Beard Trim", "Facial Treatment"],
|
||||||
price: "$85",
|
|
||||||
subtitle: "The Migo Elite",
|
|
||||||
buttons: [
|
|
||||||
{
|
|
||||||
text: "Book",
|
|
||||||
href: "#contact",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
features: [
|
|
||||||
"Full Grooming",
|
|
||||||
"Hot Towel",
|
|
||||||
"Express Facial",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
title="Services & Pricing"
|
title="Services & Pricing"
|
||||||
@@ -138,96 +88,38 @@ export default function LandingPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="testimonial" data-section="testimonial">
|
<div id="testimonial" data-section="testimonial">
|
||||||
<TestimonialCardSix
|
<TestimonialCardTwo
|
||||||
animationType="slide-up"
|
animationType="blur-reveal"
|
||||||
textboxLayout="default"
|
textboxLayout="split"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
testimonials={[
|
title="Client Reviews"
|
||||||
{
|
description="What our community has to say about the Migo experience."
|
||||||
id: "t1",
|
testimonials={[]}
|
||||||
name: "James R.",
|
|
||||||
handle: "@jamesr",
|
|
||||||
testimonial: "Best fade I've had in years. Migo is a perfectionist.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/happy-young-man-sitting-isolated-grey_171337-10568.jpg?_wi=1",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "t2",
|
|
||||||
name: "Marcus W.",
|
|
||||||
handle: "@m_w",
|
|
||||||
testimonial: "Clean, sharp, and consistent. The service is always top tier.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/joyful-young-handsome-barber-holding-hair-clippers-winner-cup-isolated-olive-green_141793-84218.jpg",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "t3",
|
|
||||||
name: "David L.",
|
|
||||||
handle: "@dl_styles",
|
|
||||||
testimonial: "Top quality service. I walk out feeling like a new man every time.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/hairstylist-giving-haircut-customer_23-2148506233.jpg",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "t4",
|
|
||||||
name: "Chris B.",
|
|
||||||
handle: "@chrisb",
|
|
||||||
testimonial: "Great vibes, even better cuts. Migo knows his craft.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-young-man-getting-haircut_23-2149220536.jpg",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "t5",
|
|
||||||
name: "Alex P.",
|
|
||||||
handle: "@alexp",
|
|
||||||
testimonial: "Consistently the best barbershop experience in the city. Highly recommended.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/happy-young-man-sitting-isolated-grey_171337-10568.jpg?_wi=2",
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
title="What Clients Say"
|
|
||||||
description="Don't just take our word for it."
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="contact" data-section="contact">
|
<div id="contact" data-section="contact">
|
||||||
<ContactSplitForm
|
<ContactSplit
|
||||||
useInvertedBackground={false}
|
tag="Book Now"
|
||||||
title="Schedule Your Visit"
|
title="Schedule Your Visit"
|
||||||
description="Ready to get fresh? Reach out and let's get you on the schedule."
|
description="Ready to get fresh? Reach out and let's get you on the schedule."
|
||||||
inputs={[
|
background={{ variant: "plain" }}
|
||||||
{
|
useInvertedBackground={false}
|
||||||
name: "name",
|
mediaPosition="right"
|
||||||
type: "text",
|
|
||||||
placeholder: "Your Name",
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "email",
|
|
||||||
type: "email",
|
|
||||||
placeholder: "Your Email",
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
textarea={{
|
|
||||||
name: "message",
|
|
||||||
placeholder: "Which service do you need?",
|
|
||||||
required: true,
|
|
||||||
}}
|
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/tools-from-barbershop-wooden-background_1303-10377.jpg"
|
imageSrc="http://img.b2bpic.net/free-photo/tools-from-barbershop-wooden-background_1303-10377.jpg"
|
||||||
mediaAnimation="slide-up"
|
|
||||||
videoSrc="https://www.w3schools.com/howto/img_video.mp4?_wi=3"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="footer" data-section="footer">
|
<div id="footer" data-section="footer">
|
||||||
<FooterLogoReveal
|
<FooterBase
|
||||||
|
columns={[
|
||||||
|
{ title: "Navigation", items: [{ label: "Home", href: "#home" }, { label: "Pricing", href: "#pricing" }] },
|
||||||
|
{ title: "Connect", items: [{ label: "Instagram", href: "https://instagram.com" }, { label: "Terms", href: "#" }] }
|
||||||
|
]}
|
||||||
logoText="FlawLikeMigo"
|
logoText="FlawLikeMigo"
|
||||||
leftLink={{
|
|
||||||
text: "Instagram",
|
|
||||||
href: "https://instagram.com",
|
|
||||||
}}
|
|
||||||
rightLink={{
|
|
||||||
text: "Terms of Service",
|
|
||||||
href: "#",
|
|
||||||
}}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@ html {
|
|||||||
body {
|
body {
|
||||||
background-color: var(--background);
|
background-color: var(--background);
|
||||||
color: var(--foreground);
|
color: var(--foreground);
|
||||||
font-family: var(--font-nunito-sans), sans-serif;
|
font-family: var(--font-montserrat), sans-serif;
|
||||||
position: relative;
|
position: relative;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
overscroll-behavior: none;
|
overscroll-behavior: none;
|
||||||
@@ -24,5 +24,5 @@ h3,
|
|||||||
h4,
|
h4,
|
||||||
h5,
|
h5,
|
||||||
h6 {
|
h6 {
|
||||||
font-family: var(--font-nunito-sans), sans-serif;
|
font-family: var(--font-montserrat), sans-serif;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,15 +10,15 @@
|
|||||||
--accent: #ffffff;
|
--accent: #ffffff;
|
||||||
--background-accent: #ffffff; */
|
--background-accent: #ffffff; */
|
||||||
|
|
||||||
--background: #f5f4f0;
|
--background: #ffffff;
|
||||||
--card: #ffffff;
|
--card: #f9f9f9;
|
||||||
--foreground: #1a1a1a;
|
--foreground: #1a1a1a;
|
||||||
--primary-cta: #2c2c2c;
|
--primary-cta: #1c1c1c;
|
||||||
--primary-cta-text: #f5f4f0;
|
--primary-cta-text: #f5f4f0;
|
||||||
--secondary-cta: #f5f4f0;
|
--secondary-cta: #f0f0f0;
|
||||||
--secondary-cta-text: #1a1a1a;
|
--secondary-cta-text: #1a1a1a;
|
||||||
--accent: #8a8a8a;
|
--accent: #e5e5e5;
|
||||||
--background-accent: #e8e6e1;
|
--background-accent: #f4f4f4;
|
||||||
|
|
||||||
/* text sizing - set by ThemeProvider */
|
/* text sizing - set by ThemeProvider */
|
||||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||||
|
|||||||
Reference in New Issue
Block a user