Merge version_8 into main #19
@@ -24,7 +24,7 @@
|
||||
},
|
||||
"ratingText": {
|
||||
"required": true,
|
||||
"example": "Rated by loving Clients",
|
||||
"example": "Rated by loving Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! s",
|
||||
"minChars": 2,
|
||||
"maxChars": 50
|
||||
}
|
||||
@@ -89,7 +89,7 @@
|
||||
"ratingClassName?": "string",
|
||||
"ratingTextClassName?": "string"
|
||||
},
|
||||
"usageExample": "<HeroSplitDualMedia background={{ variant: 'plain' }} tag=\"Business Coach\" tagIcon={Sparkles} title=\"Transform your business with proven strategies\" description=\"I help entrepreneurs and executives unlock their full potential and build thriving businesses.\" mediaItems={[{ imageSrc: '/image1.jpg', imageAlt: 'Coaching' }, { imageSrc: '/image2.jpg', imageAlt: 'Growth' }]} rating={5} ratingText=\"Rated by loving Clients\" buttons={[{ text: 'Book a Call', href: '#' }]} />",
|
||||
"usageExample": "<HeroSplitDualMedia background={{ variant: 'plain' }} tag=\"Business Coach\" tagIcon={Sparkles} title=\"Transform your business with proven strategies\" description=\"I help entrepreneurs and executives unlock their full potential and build thriving businesses.\" mediaItems={[{ imageSrc: '/image1.jpg', imageAlt: 'Coaching' }, { imageSrc: '/image2.jpg', imageAlt: 'Growth' }]} rating={5} ratingText=\"Rated by loving Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! s\" buttons={[{ text: 'Book a Call', href: '#' }]} />",
|
||||
"do": [
|
||||
"Use for coaching, consulting, or service-focused landing pages",
|
||||
"Include exactly 2 media items",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"textRules": {
|
||||
"title": {
|
||||
"required": true,
|
||||
"example": "What Our Clients Say",
|
||||
"example": "What Our Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! s Say",
|
||||
"minChars": 2,
|
||||
"maxChars": 50
|
||||
},
|
||||
@@ -89,7 +89,7 @@
|
||||
},
|
||||
"videoAriaLabel": {
|
||||
"required": false,
|
||||
"example": "Client testimonial video",
|
||||
"example": "Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! testimonial video",
|
||||
"note": "ARIA label for testimonial video"
|
||||
},
|
||||
"avatarAlt": {
|
||||
@@ -142,7 +142,7 @@
|
||||
"textBoxButtonClassName?": "string",
|
||||
"textBoxButtonTextClassName?": "string"
|
||||
},
|
||||
"usageExample": "<TestimonialCardFive testimonials={[{ id: '1', name: 'Alisa Hester, CEO of Ecomflow', date: 'Date: 28 October 2024', title: 'We\\'ve got only good things to say!', quote: 'We have been working with them for over 6 months now, and have been able to scale our business to new heights.', tag: 'Standard Line', avatarSrc: '/avatar.jpg', imageSrc: '/testimonial.jpg' }]} title=\"What Our Clients Say\" description=\"Hear from those who've experienced our work\" textboxLayout=\"default\" useInvertedBackground={false} />",
|
||||
"usageExample": "<TestimonialCardFive testimonials={[{ id: '1', name: 'Alisa Hester, CEO of Ecomflow', date: 'Date: 28 October 2024', title: 'We\\'ve got only good things to say!', quote: 'We have been working with them for over 6 months now, and have been able to scale our business to new heights.', tag: 'Standard Line', avatarSrc: '/avatar.jpg', imageSrc: '/testimonial.jpg' }]} title=\"What Our Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! s Say\" description=\"Hear from those who've experienced our work\" textboxLayout=\"default\" useInvertedBackground={false} />",
|
||||
"do": [
|
||||
"Use for social proof",
|
||||
"Use for customer reviews",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"textRules": {
|
||||
"title": {
|
||||
"required": true,
|
||||
"example": "What Our Clients Say",
|
||||
"example": "What Our Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! s Say",
|
||||
"minChars": 2,
|
||||
"maxChars": 50
|
||||
},
|
||||
@@ -110,7 +110,7 @@
|
||||
"textBoxButtonClassName?": "string",
|
||||
"textBoxButtonTextClassName?": "string"
|
||||
},
|
||||
"usageExample": "<TestimonialCardSix testimonials={[{ id: '1', name: 'Vickie Robbins', handle: '@sarahj', testimonial: 'This component library has transformed our development workflow. The quality and attention to detail is exceptional.', imageSrc: '/avatar1.jpg', imageAlt: 'Vickie Robbins' }, { id: '2', name: 'Michael Chen', handle: '@mchen', testimonial: 'Incredibly well-designed components that are both beautiful and functional. Highly recommend!', imageSrc: '/avatar2.jpg', imageAlt: 'Michael Chen' }]} animationType=\"slide-up\" title=\"What Our Clients Say\" description=\"Hear from those who've experienced our work\" textboxLayout=\"default\" useInvertedBackground={false} />",
|
||||
"usageExample": "<TestimonialCardSix testimonials={[{ id: '1', name: 'Vickie Robbins', handle: '@sarahj', testimonial: 'This component library has transformed our development workflow. The quality and attention to detail is exceptional.', imageSrc: '/avatar1.jpg', imageAlt: 'Vickie Robbins' }, { id: '2', name: 'Michael Chen', handle: '@mchen', testimonial: 'Incredibly well-designed components that are both beautiful and functional. Highly recommend!', imageSrc: '/avatar2.jpg', imageAlt: 'Michael Chen' }]} animationType=\"slide-up\" title=\"What Our Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! s Say\" description=\"Hear from those who've experienced our work\" textboxLayout=\"default\" useInvertedBackground={false} />",
|
||||
"do": [
|
||||
"Use for social proof",
|
||||
"Use for customer reviews",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"textRules": {
|
||||
"title": {
|
||||
"required": true,
|
||||
"example": "What Our Clients Say",
|
||||
"example": "What Our Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! s Say",
|
||||
"minChars": 2,
|
||||
"maxChars": 50
|
||||
},
|
||||
@@ -29,9 +29,9 @@
|
||||
"recommendedItems": "3",
|
||||
"structure": {
|
||||
"id": "string - Unique identifier (required)",
|
||||
"name": "string - Client name (required)",
|
||||
"role": "string - Client role/position (required)",
|
||||
"company": "string - Client company (required)",
|
||||
"name": "string - Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! name (required)",
|
||||
"role": "string - Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! role/position (required)",
|
||||
"company": "string - Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! company (required)",
|
||||
"rating": "number - Star rating 0-5 (required)",
|
||||
"imageSrc?": "string - Path to client image",
|
||||
"videoSrc?": "string - Path to client video",
|
||||
@@ -90,7 +90,7 @@
|
||||
"textBoxButtonClassName?": "string",
|
||||
"textBoxButtonTextClassName?": "string"
|
||||
},
|
||||
"usageExample": "<TestimonialCardSixteen testimonials={[{ id: '1', name: 'Alisa Hester', role: 'PM', company: 'Web Design Agency', rating: 5, imageSrc: '/placeholder.jpg' }]} kpiItems={[{ value: '180+', label: 'Projects completed' }, { value: '96%', label: 'Client satisfaction' }, { value: '15+', label: 'Years experience' }]} animationType=\"slide-up\" title=\"What Our Clients Say\" description=\"Hear from those who've experienced our work\" textboxLayout=\"default\" useInvertedBackground={false} />",
|
||||
"usageExample": "<TestimonialCardSixteen testimonials={[{ id: '1', name: 'Alisa Hester', role: 'PM', company: 'Web Design Agency', rating: 5, imageSrc: '/placeholder.jpg' }]} kpiItems={[{ value: '180+', label: 'Projects completed' }, { value: '96%', label: 'Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! satisfaction' }, { value: '15+', label: 'Years experience' }]} animationType=\"slide-up\" title=\"What Our Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! s Say\" description=\"Hear from those who've experienced our work\" textboxLayout=\"default\" useInvertedBackground={false} />",
|
||||
"do": [
|
||||
"Use for testimonial sections with visual emphasis on people",
|
||||
"Include exactly 3 KPI items for the bottom section",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"textRules": {
|
||||
"title": {
|
||||
"required": true,
|
||||
"example": "What Our Clients Say",
|
||||
"example": "What Our Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! s Say",
|
||||
"minChars": 2,
|
||||
"maxChars": 50
|
||||
},
|
||||
@@ -105,7 +105,7 @@
|
||||
"carouselClassName?": "string",
|
||||
"controlsClassName?": "string"
|
||||
},
|
||||
"usageExample": "<TestimonialCardThirteen testimonials={[{ id: '1', name: 'Jack', handle: '@jack', testimonial: 'Amazing experience!', rating: 5, icon: Quote }, { id: '2', name: 'Sarah', handle: '@sarah', testimonial: 'Highly recommended!', rating: 4, imageSrc: '/testimonials/sarah.jpg' }]} showRating={true} title=\"What Our Clients Say\" description=\"Hear from those who've experienced our work\" textboxLayout=\"default\" animationType=\"slide-up\" useInvertedBackground={false} />",
|
||||
"usageExample": "<TestimonialCardThirteen testimonials={[{ id: '1', name: 'Jack', handle: '@jack', testimonial: 'Amazing experience!', rating: 5, icon: Quote }, { id: '2', name: 'Sarah', handle: '@sarah', testimonial: 'Highly recommended!', rating: 4, imageSrc: '/testimonials/sarah.jpg' }]} showRating={true} title=\"What Our Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! s Say\" description=\"Hear from those who've experienced our work\" textboxLayout=\"default\" animationType=\"slide-up\" useInvertedBackground={false} />",
|
||||
"do": [
|
||||
"Use for social proof",
|
||||
"Use for customer reviews",
|
||||
|
||||
@@ -265,7 +265,7 @@ export default function RootLayout({
|
||||
};
|
||||
|
||||
const getElementInfo = (element, assignId = false) => {
|
||||
const rect = element.getBoundingClientRect();
|
||||
const rect = element.getBoundingJordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! Rect();
|
||||
const tagName = element.tagName.toLowerCase();
|
||||
const selector = getUniqueSelector(element, assignId);
|
||||
const sectionId = getSectionId(element);
|
||||
@@ -392,7 +392,7 @@ export default function RootLayout({
|
||||
if (validElements.length === 0) return null;
|
||||
const scoredElements = validElements.map(element => {
|
||||
let score = 0;
|
||||
const rect = element.getBoundingClientRect();
|
||||
const rect = element.getBoundingJordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! Rect();
|
||||
const tagName = element.tagName.toLowerCase();
|
||||
const computedStyle = window.getComputedStyle(element);
|
||||
let depth = 0;
|
||||
@@ -659,7 +659,7 @@ export default function RootLayout({
|
||||
};
|
||||
|
||||
const createHoverOverlay = (element) => {
|
||||
const rect = element.getBoundingClientRect();
|
||||
const rect = element.getBoundingJordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! Rect();
|
||||
const overlay = document.createElement('div');
|
||||
overlay.className = 'webild-hover-overlay';
|
||||
overlay.style.cssText = \`
|
||||
@@ -689,7 +689,7 @@ export default function RootLayout({
|
||||
|
||||
removeElementTypeLabel();
|
||||
|
||||
const rect = element.getBoundingClientRect();
|
||||
const rect = element.getBoundingJordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! Rect();
|
||||
elementTypeLabel = document.createElement('div');
|
||||
elementTypeLabel.className = 'webild-element-type-label';
|
||||
const ariaLabel = element.getAttribute('aria-label');
|
||||
@@ -707,7 +707,7 @@ export default function RootLayout({
|
||||
|
||||
elementTypeLabel.textContent = labelText;
|
||||
document.body.appendChild(elementTypeLabel);
|
||||
const labelRect = elementTypeLabel.getBoundingClientRect();
|
||||
const labelRect = elementTypeLabel.getBoundingJordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! Rect();
|
||||
let labelTop = rect.top - labelRect.height - 2;
|
||||
let labelLeft = rect.left - 3;
|
||||
let isLabelOnTop = true;
|
||||
|
||||
@@ -43,7 +43,7 @@ export default function LandingPage() {
|
||||
<HeroSplitDoubleCarousel
|
||||
title="Wake Up Confident. Every Day."
|
||||
description="I love my eyeliner enhancement! Jordan did a fantastic job. She explained the process in the beginning and during which keep my anxiety level way down. I am pleased with the results. I highly recommend! permanent makeup in Hot Springs, AR designed to save you time and enhance your natural beauty. 5-star rated, women-owned clinic specializing in precision eyeliner enhancement."
|
||||
tag="⭐ 5-Star Rated | 200+ Happy Clients"
|
||||
tag="⭐ 5-Star Rated | 200+ Happy Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! s"
|
||||
tagIcon={Star}
|
||||
tagAnimation="slide-up"
|
||||
background={{ variant: "plain" }}
|
||||
@@ -84,20 +84,20 @@ export default function LandingPage() {
|
||||
avatars={[
|
||||
{ src: "https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=100&h=100&fit=crop", alt: "Vickie Robbins" },
|
||||
{ src: "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=100&h=100&fit=crop", alt: "Holly Irons " },
|
||||
{ src: "https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=100&h=100&fit=crop", alt: "Emily Rodriguez" },
|
||||
{ src: "https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=100&h=100&fit=crop", alt: "Belinda Cosgrove" },
|
||||
]}
|
||||
avatarText="200+ Happy Clients"
|
||||
avatarText="200+ Happy Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! s"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="trust-section" data-section="trust-section">
|
||||
<AboutMetric
|
||||
title="Trusted by Hundreds of Happy Clients in Hot Springs"
|
||||
title="Trusted by Hundreds of Happy Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! s in Hot Springs"
|
||||
metrics={[
|
||||
{ icon: Star, label: "5-Star Rating", value: "4 Reviews" },
|
||||
{ icon: Heart, label: "Women-Owned", value: "Since 2018" },
|
||||
{ icon: Clock, label: "Time Saved Daily", value: "15-30 min" },
|
||||
{ icon: Shield, label: "Client Satisfaction", value: "100%" },
|
||||
{ icon: Shield, label: "Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! Satisfaction", value: "100%" },
|
||||
]}
|
||||
metricsAnimation="slide-up"
|
||||
useInvertedBackground={false}
|
||||
@@ -149,23 +149,23 @@ export default function LandingPage() {
|
||||
|
||||
<div id="reviews" data-section="reviews">
|
||||
<TestimonialCardOne
|
||||
title="What Our Clients Say"
|
||||
title="What Our Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! s Say"
|
||||
description="Real feedback from satisfied clients who trusted us with their beauty and confidence"
|
||||
testimonials={[
|
||||
{
|
||||
id: "1", name: "Vickie Robbins", role: "Jordan was great! Love my permanent eyeliner! I was nervous, but she made it a great experience. It is a time saver in the mornings. It looks perfect and you don’t have to worry about smudging!e", company: "Hot Springs Local", rating: 5,
|
||||
id: "1", name: "Vickie Robbins", role: "Jordan was great! Love my permanent eyeliner! I was nervous, but she made it a great experience. It is a time saver in the mornings. It looks perfect and you don’t have to worry about smudging!", company: "", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/head-shot-happy-beautiful-young-woman-posing-indoors-looking-camera-smiling_74855-10218.jpg?id=11072659", imageAlt: "Portrait of satisfied client Sarah"
|
||||
},
|
||||
{
|
||||
id: "2", name: "Holly Irons ", role: "I love my eyeliner enhancement! Jordan did a fantastic job. She explained the process in the beginning and during which keep my anxiety level way down. I am pleased with the results. I highly recommend!", company: "Business Owner", rating: 5,
|
||||
id: "2", name: "Holly Irons ", role: "I love my eyeliner enhancement! Jordan did a fantastic job. She explained the process in the beginning and during which keep my anxiety level way down. I am pleased with the results. I highly recommend!", company: "", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-girl-looking-camera-sincerely-smiling-asian-woman-standing-white-background_574295-5989.jpg?id=27567628", imageAlt: "Portrait of satisfied client Michelle"
|
||||
},
|
||||
{
|
||||
id: "3", name: "Emily Rodriguez", role: "Retired Teacher", company: "Community Member", rating: 5,
|
||||
id: "3", name: "Belinda Cosgrove", role: "Jordan did a great job on my eyeliner. It saves time in the morning and my eyeliner is always even and straight. I highly recommend Jordan! ", company: "", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/premium-photo/smiling-beautiful-brunette-relaxing-couch-looking-camera_13339-118180.jpg?id=1682068", imageAlt: "Portrait of satisfied client Emily"
|
||||
},
|
||||
{
|
||||
id: "4", name: "Jessica Williams", role: "Client", company: "Hot Springs Community", rating: 5,
|
||||
id: "4", name: "Jessica Williams", role: "Jordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! ", company: "", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/premium-photo/portrait-close-up-smiling-african-american-woman-garden-looking-camera-family-enjoying-time-home-lifestyle-concept_13339-304450.jpg?id=58616481", imageAlt: "Portrait of satisfied client Jessica"
|
||||
},
|
||||
]}
|
||||
|
||||
@@ -24,7 +24,7 @@ const AnimatedGridBackground = ({
|
||||
|
||||
useEffect(() => {
|
||||
if (containerRef.current) {
|
||||
const { width, height } = containerRef.current.getBoundingClientRect();
|
||||
const { width, height } = containerRef.current.getBoundingJordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! Rect();
|
||||
setDimensions({ width, height });
|
||||
}
|
||||
}, []);
|
||||
|
||||
@@ -118,7 +118,7 @@ const GlowingEffect = memo(
|
||||
const element = containerRef.current;
|
||||
if (!element) return;
|
||||
|
||||
const { left, top, width, height } = element.getBoundingClientRect();
|
||||
const { left, top, width, height } = element.getBoundingJordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! Rect();
|
||||
const mousePosition = calculateMousePosition(e);
|
||||
|
||||
if (e) {
|
||||
|
||||
@@ -9,7 +9,7 @@ export const useDirectionalHover = (
|
||||
const button = buttonRef.current;
|
||||
if (!button) return;
|
||||
|
||||
const buttonRect = button.getBoundingClientRect();
|
||||
const buttonRect = button.getBoundingJordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! Rect();
|
||||
const buttonWidth = buttonRect.width;
|
||||
const buttonHeight = buttonRect.height;
|
||||
const buttonCenterX = buttonRect.left + buttonWidth / 2;
|
||||
|
||||
@@ -30,7 +30,7 @@ const useMagneticEffect = (strengthFactor = 10) => {
|
||||
};
|
||||
|
||||
const moveMagnet = (e: MouseEvent) => {
|
||||
const b = element.getBoundingClientRect();
|
||||
const b = element.getBoundingJordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! Rect();
|
||||
const strength = strengthFactor;
|
||||
|
||||
const offsetX = ((e.clientX - b.left) / element.offsetWidth - 0.5) * (strength / 16);
|
||||
|
||||
@@ -40,8 +40,8 @@ const SelectorButton = memo<SelectorButtonProps>(({
|
||||
|
||||
const moveHoverBlock = (target: HTMLElement) => {
|
||||
if (!target) return;
|
||||
const targetRect = target.getBoundingClientRect();
|
||||
const containerRect = container.getBoundingClientRect();
|
||||
const targetRect = target.getBoundingJordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! Rect();
|
||||
const containerRect = container.getBoundingJordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! Rect();
|
||||
|
||||
hoverElement.style.width = `${targetRect.width}px`;
|
||||
hoverElement.style.transform = `translateX(${targetRect.left - containerRect.left}px)`;
|
||||
|
||||
@@ -60,7 +60,7 @@ export const useDepth3DAnimation = ({
|
||||
|
||||
const handleMouseMove = (event: MouseEvent): void => {
|
||||
if (containerRef.current) {
|
||||
const rect = containerRef.current.getBoundingClientRect();
|
||||
const rect = containerRef.current.getBoundingJordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! Rect();
|
||||
isMouseInSection =
|
||||
event.clientX >= rect.left &&
|
||||
event.clientX <= rect.right &&
|
||||
|
||||
@@ -13,7 +13,7 @@ const getVw15InPixels = (): number => {
|
||||
temp.style.position = 'absolute'
|
||||
temp.style.width = 'var(--vw-1_5)'
|
||||
document.body.appendChild(temp)
|
||||
const width = temp.getBoundingClientRect().width
|
||||
const width = temp.getBoundingJordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! Rect().width
|
||||
document.body.removeChild(temp)
|
||||
|
||||
cachedVw15 = width || 0
|
||||
|
||||
@@ -71,7 +71,7 @@ export function usePatternInteraction(
|
||||
|
||||
const updateMobilePosition = useCallback(() => {
|
||||
if (!containerRef.current) return;
|
||||
const { left, top } = containerRef.current.getBoundingClientRect();
|
||||
const { left, top } = containerRef.current.getBoundingJordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! Rect();
|
||||
const viewportCenterX = window.innerWidth / 2;
|
||||
const viewportCenterY = window.innerHeight / 2;
|
||||
|
||||
@@ -82,7 +82,7 @@ export function usePatternInteraction(
|
||||
|
||||
const checkInView = useCallback(() => {
|
||||
if (!containerRef.current) return;
|
||||
const rect = containerRef.current.getBoundingClientRect();
|
||||
const rect = containerRef.current.getBoundingJordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! Rect();
|
||||
const viewportHeight = window.innerHeight;
|
||||
const threshold = viewportHeight * PATTERN_VISIBILITY_THRESHOLD;
|
||||
const iconThreshold = viewportHeight * ICON_VISIBILITY_THRESHOLD;
|
||||
@@ -122,7 +122,7 @@ export function usePatternInteraction(
|
||||
(event: MouseEvent<HTMLDivElement>) => {
|
||||
if (state.isMobile) return;
|
||||
|
||||
const { left, top } = event.currentTarget.getBoundingClientRect();
|
||||
const { left, top } = event.currentTarget.getBoundingJordan was amazing! I’m so in love with my permanent eyeliner. I was honestly pretty nervous at first, but she was super patient and walked me through everything step by step. She made the whole appointment feel calm and comfortable. The results are flawless and look so natural. It seriously saves me so much time in the mornings, and I never have to worry about smudging or reapplying. Couldn’t be happier! Rect();
|
||||
mouseX.set(event.clientX - left);
|
||||
mouseY.set(event.clientY - top);
|
||||
updateRandomString();
|
||||
|
||||
Reference in New Issue
Block a user