35 Commits

Author SHA1 Message Date
d32895790c Update src/app/page.tsx 2026-03-27 19:39:44 +00:00
5991fb9a25 Merge version_16 into main
Merge version_16 into main
2026-03-27 19:36:58 +00:00
75a8912eb1 Update src/app/styles/variables.css 2026-03-27 19:36:52 +00:00
9c6e8aa915 Merge version_15 into main
Merge version_15 into main
2026-03-27 19:36:03 +00:00
809e647910 Update src/app/page.tsx 2026-03-27 19:36:00 +00:00
d0850756b3 Merge version_14 into main
Merge version_14 into main
2026-03-27 19:34:26 +00:00
5ee65764df Update src/app/styles/variables.css 2026-03-27 19:34:23 +00:00
2c34164f4b Update src/app/page.tsx 2026-03-27 19:34:23 +00:00
ac81567aad Merge version_13 into main
Merge version_13 into main
2026-03-27 19:32:07 +00:00
ad5e4c087e Update src/app/page.tsx 2026-03-27 19:32:01 +00:00
aaceed4826 Merge version_12 into main
Merge version_12 into main
2026-03-27 19:27:20 +00:00
c990c5b5be Update src/app/page.tsx 2026-03-27 19:27:14 +00:00
749a476842 Merge version_11 into main
Merge version_11 into main
2026-03-27 19:25:38 +00:00
e663d07c35 Update src/app/page.tsx 2026-03-27 19:25:35 +00:00
6355632b75 Merge version_10 into main
Merge version_10 into main
2026-03-27 19:24:44 +00:00
bfaf78322f Update src/app/page.tsx 2026-03-27 19:24:38 +00:00
cc2d1837ad Merge version_9 into main
Merge version_9 into main
2026-03-27 19:23:16 +00:00
f9cd211092 Update src/app/styles/base.css 2026-03-27 19:23:13 +00:00
85356bbd96 Update src/app/page.tsx 2026-03-27 19:23:12 +00:00
6b49851c4f Update src/app/layout.tsx 2026-03-27 19:23:12 +00:00
c44d3c669c Merge version_8 into main
Merge version_8 into main
2026-03-27 19:22:34 +00:00
cb9b618c69 Update src/app/page.tsx 2026-03-27 19:22:31 +00:00
110cd5c894 Merge version_7 into main
Merge version_7 into main
2026-03-27 19:21:08 +00:00
73c1b0b712 Update src/app/page.tsx 2026-03-27 19:21:02 +00:00
6187c79a37 Merge version_6 into main
Merge version_6 into main
2026-03-27 19:20:27 +00:00
03e4134601 Update src/app/page.tsx 2026-03-27 19:20:24 +00:00
764572ccba Merge version_5 into main
Merge version_5 into main
2026-03-27 19:19:40 +00:00
efa866adcb Update src/app/page.tsx 2026-03-27 19:19:37 +00:00
ad3ca2d96c Merge version_4 into main
Merge version_4 into main
2026-03-27 19:18:57 +00:00
abb1ca7a14 Update src/app/page.tsx 2026-03-27 19:18:54 +00:00
3f6726c7d1 Merge version_3 into main
Merge version_3 into main
2026-03-27 19:18:34 +00:00
6f4d355423 Update src/app/page.tsx 2026-03-27 19:18:28 +00:00
c7ffcd966c Merge version_2 into main
Merge version_2 into main
2026-03-27 19:17:44 +00:00
c7fc289f93 Merge version_2 into main
Merge version_2 into main
2026-03-27 19:16:13 +00:00
7b951b99fa Merge version_2 into main
Merge version_2 into main
2026-03-27 19:15:49 +00:00
4 changed files with 41 additions and 43 deletions

View File

@@ -6,6 +6,7 @@ import "@/lib/gsap-setup";
import { ServiceWrapper } from "@/components/ServiceWrapper"; import { ServiceWrapper } from "@/components/ServiceWrapper";
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";
@@ -19,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({
@@ -32,7 +33,7 @@ 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`}>
{children} {children}
<script <script

View File

@@ -8,7 +8,7 @@ import HeroCarouselLogo from '@/components/sections/hero/heroCarouselLogo/HeroCa
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 TestimonialCardOne from '@/components/sections/testimonial/TestimonialCardOne';
export default function LandingPage() { export default function LandingPage() {
return ( return (
@@ -17,12 +17,12 @@ 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="floatingGradient"
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">
@@ -31,6 +31,7 @@ export default function LandingPage() {
{ name: "Home", id: "home" }, { name: "Home", id: "home" },
{ name: "About", id: "about" }, { name: "About", id: "about" },
{ name: "Pricing", id: "pricing" }, { name: "Pricing", id: "pricing" },
{ name: "Testimonials", id: "testimonial" },
{ name: "Contact", id: "contact" }, { name: "Contact", id: "contact" },
]} ]}
brandName="FlawLikeMigo" brandName="FlawLikeMigo"
@@ -40,13 +41,13 @@ export default function LandingPage() {
<div id="home" data-section="home"> <div id="home" data-section="home">
<HeroCarouselLogo <HeroCarouselLogo
logoText="FlawLikeMigo" logoText="FlawLikeMigo"
description="Precision grooming and premium barber services. Experience a cut designed to elevate your personal style." description="Serving Buda, Kyle, and the greater Austin area—elevating your style with precision."
buttons={[ buttons={[
{ text: "Book Appointment", href: "#contact" }, { text: "Book Appointment", href: "#contact" },
]} ]}
slides={[ slides={[
{ imageSrc: "http://img.b2bpic.net/free-photo/combs-brushes_23-2147711617.jpg" }, { imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BXcDHoKBX1pK6RdszTOwD4Yhel/uploaded-1774639907880-qdv0qs1a.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-man-getting-groomed-salon_23-2149220574.jpg?_wi=1" } { imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BXcDHoKBX1pK6RdszTOwD4Yhel/uploaded-1774639907880-gfi2j7xb.jpg" }
]} ]}
/> />
</div> </div>
@@ -55,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 dont sell the cut I sell an experience"
imageSrc="http://img.b2bpic.net/free-photo/medium-shot-man-getting-groomed-salon_23-2149220574.jpg?_wi=2" 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>
@@ -68,17 +70,17 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
plans={[ plans={[
{ {
id: "p1", badge: "Most Popular", price: "$45", subtitle: "The Signature Cut", buttons: [{ text: "Book", href: "#contact" }], id: "p2", badge: "Classic", price: "$35", subtitle: "Haircut with Eyebrows", buttons: [{ text: "Book", href: "#contact" }],
features: ["Precision Haircut", "Line-up", "Hot Towel Service"], features: ["Precision Haircut", "Eyebrow Grooming", "Line-up"],
}, },
{ {
id: "p2", badge: "Complete", price: "$65", subtitle: "Full Grooming", buttons: [{ text: "Book", href: "#contact" }], id: "p1", badge: "Signature", price: "$45", subtitle: "Full service hair cut with design, black mask, and eyebrows", buttons: [{ text: "Book", href: "#contact" }],
features: ["Precision Haircut", "Custom Design", "Black Mask Treatment", "Eyebrow Grooming"],
},
{
id: "p3", badge: "Complete", price: "$50", subtitle: "Full Grooming", buttons: [{ text: "Book", href: "#contact" }],
features: ["Signature Cut", "Beard Trim", "Facial Treatment"], features: ["Signature Cut", "Beard Trim", "Facial Treatment"],
}, },
{
id: "p3", badge: "Executive", price: "$85", subtitle: "The Migo Elite", buttons: [{ text: "Book", href: "#contact" }],
features: ["Full Grooming", "Hot Towel", "Express Facial"],
},
]} ]}
title="Services & Pricing" title="Services & Pricing"
description="Select the service that fits your style." description="Select the service that fits your style."
@@ -86,34 +88,29 @@ export default function LandingPage() {
</div> </div>
<div id="testimonial" data-section="testimonial"> <div id="testimonial" data-section="testimonial">
<TestimonialCardSix <TestimonialCardOne
animationType="slide-up" animationType="slide-up"
textboxLayout="default" textboxLayout="split"
useInvertedBackground={false} gridVariant="uniform-all-items-equal"
testimonials={[ useInvertedBackground={true}
{ title="Client Reviews"
id: "t1", 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"}, description="Rate your experience and let us know how we did."
{ buttons={[{ text: "Leave a Review", href: "#contact" }]}
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"}, testimonials={[]}
{
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"}
]}
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 <ContactSplitForm
useInvertedBackground={false} useInvertedBackground={false}
title="Schedule Your Visit" title="Schedule Your Visit (512-504-6134)"
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={[ inputs={[
{ name: "name", type: "text", placeholder: "Your Name", required: true }, { name: "name", type: "text", placeholder: "Your Name", required: true },
{ name: "email", type: "email", placeholder: "Your Email", required: true }, { name: "email", type: "email", placeholder: "Your Email", required: true },
]} ]}
textarea={{ textarea={{
name: "message", placeholder: "Which service do you need?", required: true, name: "message", placeholder: "Which service do you need? (Or leave us a review!)", 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" mediaAnimation="slide-up"
@@ -131,4 +128,4 @@ export default function LandingPage() {
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }

View File

@@ -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;
} }

View File

@@ -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: #15479c;
--primary-cta-text: #f5f4f0; --primary-cta-text: #f5f4f0;
--secondary-cta: #f5f4f0; --secondary-cta: #f9f9f9;
--secondary-cta-text: #1a1a1a; --secondary-cta-text: #1a1a1a;
--accent: #8a8a8a; --accent: #e2e2e2;
--background-accent: #e8e6e1; --background-accent: #c4c4c4;
/* 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);