Compare commits
43 Commits
version_1
...
version_18
| Author | SHA1 | Date | |
|---|---|---|---|
| d0a4c6ce2e | |||
| 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 "@/lib/gsap-setup";
|
||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||
import Tag from "@/tag/Tag";
|
||||
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
||||
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",
|
||||
subsets: ["latin"],
|
||||
|
||||
const montserrat = Montserrat({
|
||||
variable: "--font-montserrat", subsets: ["latin"],
|
||||
});
|
||||
|
||||
export default function RootLayout({
|
||||
@@ -33,8 +33,8 @@ export default function RootLayout({
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<ServiceWrapper>
|
||||
<body className={`${nunitoSans.variable} antialiased`}>
|
||||
<Tag />
|
||||
<body className={`${montserrat.variable} antialiased`}>
|
||||
|
||||
{children}
|
||||
<script
|
||||
dangerouslySetInnerHTML={{
|
||||
|
||||
200
src/app/page.tsx
200
src/app/page.tsx
@@ -2,13 +2,13 @@
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import ReactLenis from "lenis/react";
|
||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
||||
import HeroOverlay from '@/components/sections/hero/HeroOverlay';
|
||||
import ContactSplit from '@/components/sections/contact/ContactSplit';
|
||||
import FooterBase from '@/components/sections/footer/FooterBase';
|
||||
import HeroCarouselLogo from '@/components/sections/hero/heroCarouselLogo/HeroCarouselLogo';
|
||||
import MediaAbout from '@/components/sections/about/MediaAbout';
|
||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||
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() {
|
||||
return (
|
||||
@@ -17,50 +17,38 @@ export default function LandingPage() {
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="rounded"
|
||||
contentWidth="smallMedium"
|
||||
sizing="mediumLargeSizeMediumTitles"
|
||||
sizing="largeSizeMediumTitles"
|
||||
background="floatingGradient"
|
||||
cardStyle="solid"
|
||||
primaryButtonStyle="diagonal-gradient"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
headingFontWeight="bold"
|
||||
headingFontWeight="extrabold"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
navItems={[
|
||||
{
|
||||
name: "Home",
|
||||
id: "home",
|
||||
},
|
||||
{
|
||||
name: "About",
|
||||
id: "about",
|
||||
},
|
||||
{
|
||||
name: "Pricing",
|
||||
id: "pricing",
|
||||
},
|
||||
{
|
||||
name: "Contact",
|
||||
id: "contact",
|
||||
},
|
||||
{ name: "Home", id: "home" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Pricing", id: "pricing" },
|
||||
{ name: "Testimonials", id: "testimonial" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
]}
|
||||
brandName="FlawLikeMigo"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="home" data-section="home">
|
||||
<HeroOverlay
|
||||
title="Precision grooming by FlawLikeMigo"
|
||||
description="Transforming your look with sharp cuts, clean fades, and impeccable attention to detail. Experience the difference of true craftsmanship."
|
||||
<HeroCarouselLogo
|
||||
logoText="FlawLikeMigo"
|
||||
description="Serving Buda, Kyle, and the greater Austin area—elevating your style with precision."
|
||||
buttons={[
|
||||
{
|
||||
text: "Book Your Cut",
|
||||
href: "#contact",
|
||||
},
|
||||
{ text: "Book Appointment", 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>
|
||||
|
||||
@@ -68,8 +56,9 @@ export default function LandingPage() {
|
||||
<MediaAbout
|
||||
useInvertedBackground={false}
|
||||
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."
|
||||
imageSrc="http://img.b2bpic.net/free-photo/medium-shot-man-getting-groomed-salon_23-2149220574.jpg"
|
||||
tag="Come get right, best in the city I don’t sell the cut I sell an experience"
|
||||
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"
|
||||
/>
|
||||
</div>
|
||||
@@ -81,55 +70,16 @@ export default function LandingPage() {
|
||||
useInvertedBackground={false}
|
||||
plans={[
|
||||
{
|
||||
id: "p1",
|
||||
badge: "Most Popular",
|
||||
price: "$45",
|
||||
subtitle: "The Signature Cut",
|
||||
buttons: [
|
||||
{
|
||||
text: "Book",
|
||||
href: "#contact",
|
||||
},
|
||||
],
|
||||
features: [
|
||||
"Precision Haircut",
|
||||
"Line-up",
|
||||
"Hot Towel Service",
|
||||
],
|
||||
id: "p2", badge: "Classic", price: "$35", subtitle: "Haircut with Eyebrows", buttons: [{ text: "Book", href: "#contact" }],
|
||||
features: ["Precision Haircut", "Eyebrow Grooming", "Line-up"],
|
||||
},
|
||||
{
|
||||
id: "p2",
|
||||
badge: "Complete",
|
||||
price: "$65",
|
||||
subtitle: "Full Grooming",
|
||||
buttons: [
|
||||
{
|
||||
text: "Book",
|
||||
href: "#contact",
|
||||
},
|
||||
],
|
||||
features: [
|
||||
"Signature Cut",
|
||||
"Beard Trim",
|
||||
"Facial Treatment",
|
||||
],
|
||||
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: "Executive",
|
||||
price: "$85",
|
||||
subtitle: "The Migo Elite",
|
||||
buttons: [
|
||||
{
|
||||
text: "Book",
|
||||
href: "#contact",
|
||||
},
|
||||
],
|
||||
features: [
|
||||
"Full Grooming",
|
||||
"Hot Towel",
|
||||
"Express Facial",
|
||||
],
|
||||
id: "p3", badge: "Complete", price: "$50", subtitle: "Full Grooming", buttons: [{ text: "Book", href: "#contact" }],
|
||||
features: ["Signature Cut", "Beard Trim", "Facial Treatment"],
|
||||
},
|
||||
]}
|
||||
title="Services & Pricing"
|
||||
@@ -138,96 +88,38 @@ export default function LandingPage() {
|
||||
</div>
|
||||
|
||||
<div id="testimonial" data-section="testimonial">
|
||||
<TestimonialCardSix
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
testimonials={[
|
||||
{
|
||||
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",
|
||||
},
|
||||
{
|
||||
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."
|
||||
<TestimonialCardTwo
|
||||
animationType="blur-reveal"
|
||||
textboxLayout="split"
|
||||
useInvertedBackground={true}
|
||||
title="Client Reviews"
|
||||
description="What our community has to say about the Migo experience."
|
||||
testimonials={[]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactSplitForm
|
||||
useInvertedBackground={false}
|
||||
<ContactSplit
|
||||
tag="Book Now"
|
||||
title="Schedule Your Visit"
|
||||
description="Ready to get fresh? Reach out and let's get you on the schedule."
|
||||
inputs={[
|
||||
{
|
||||
name: "name",
|
||||
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,
|
||||
}}
|
||||
background={{ variant: "cell-wave" }}
|
||||
useInvertedBackground={false}
|
||||
mediaPosition="right"
|
||||
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 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"
|
||||
leftLink={{
|
||||
text: "Instagram",
|
||||
href: "https://instagram.com",
|
||||
}}
|
||||
rightLink={{
|
||||
text: "Terms of Service",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,7 @@ html {
|
||||
body {
|
||||
background-color: var(--background);
|
||||
color: var(--foreground);
|
||||
font-family: var(--font-nunito-sans), sans-serif;
|
||||
font-family: var(--font-montserrat), sans-serif;
|
||||
position: relative;
|
||||
min-height: 100vh;
|
||||
overscroll-behavior: none;
|
||||
@@ -24,5 +24,5 @@ h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: var(--font-nunito-sans), sans-serif;
|
||||
font-family: var(--font-montserrat), sans-serif;
|
||||
}
|
||||
|
||||
@@ -10,15 +10,15 @@
|
||||
--accent: #ffffff;
|
||||
--background-accent: #ffffff; */
|
||||
|
||||
--background: #f5f4f0;
|
||||
--card: #ffffff;
|
||||
--foreground: #1a1a1a;
|
||||
--primary-cta: #2c2c2c;
|
||||
--background: #010912;
|
||||
--card: #152840;
|
||||
--foreground: #e6f0ff;
|
||||
--primary-cta: #cee7ff;
|
||||
--primary-cta-text: #f5f4f0;
|
||||
--secondary-cta: #f5f4f0;
|
||||
--secondary-cta: #0e1a29;
|
||||
--secondary-cta-text: #1a1a1a;
|
||||
--accent: #8a8a8a;
|
||||
--background-accent: #e8e6e1;
|
||||
--accent: #3f5c79;
|
||||
--background-accent: #004a93;
|
||||
|
||||
/* text sizing - set by ThemeProvider */
|
||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||
|
||||
Reference in New Issue
Block a user