Merge version_1 into main #2
@@ -17,7 +17,7 @@ export default function AboutPage() {
|
||||
borderRadius="soft"
|
||||
contentWidth="smallMedium"
|
||||
sizing="largeSmall"
|
||||
background="floatingGradient"
|
||||
background="circleGradient"
|
||||
cardStyle="solid"
|
||||
primaryButtonStyle="double-inset"
|
||||
secondaryButtonStyle="glass"
|
||||
@@ -29,7 +29,7 @@ export default function AboutPage() {
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Services", id: "#features" },
|
||||
{ name: "Pricing", id: "#pricing" },
|
||||
{ name: "Pricing", id: "/pricing" },
|
||||
{ name: "About", id: "/about" },
|
||||
{ name: "Contact", id: "#contact" }
|
||||
]}
|
||||
@@ -42,15 +42,12 @@ export default function AboutPage() {
|
||||
<TextSplitAbout
|
||||
title="About Lusanah"
|
||||
description={[
|
||||
"Lusanah is dedicated to providing world-class Persian and Arabic language instruction. With over a decade of experience, we've helped thousands of students achieve fluency and cultural proficiency.",
|
||||
"Our mission is to bridge cultural gaps through authentic language education. We believe that learning a language is more than memorizing words—it's about understanding a rich heritage and connecting with millions of speakers worldwide.",
|
||||
"We combine traditional teaching methods with modern technology to create an immersive learning environment that works for every student."
|
||||
"Lusanah is dedicated to providing world-class Persian and Arabic language instruction. With over a decade of experience, we've helped thousands of students achieve fluency and cultural proficiency.", "Our mission is to bridge cultural gaps through authentic language education. We believe that learning a language is more than memorizing words—it's about understanding a rich heritage and connecting with millions of speakers worldwide.", "We combine traditional teaching methods with modern technology to create an immersive learning environment that works for every student."
|
||||
]}
|
||||
useInvertedBackground={false}
|
||||
buttons={[
|
||||
{
|
||||
text: "Explore Our Services",
|
||||
href: "/#features"
|
||||
text: "Explore Our Services", href: "/#features"
|
||||
}
|
||||
]}
|
||||
buttonAnimation="blur-reveal"
|
||||
@@ -69,38 +66,25 @@ export default function AboutPage() {
|
||||
useInvertedBackground={true}
|
||||
features={[
|
||||
{
|
||||
id: "1",
|
||||
title: "Expert Native Speakers",
|
||||
description: "Our instructors are fluent native speakers with advanced degrees in linguistics and extensive teaching experience across multiple proficiency levels.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/manager-leading-brainstorming-meeting-with-group-creative-designers-office-leader-business-concept_58466-12410.jpg?_wi=2",
|
||||
imageAlt: "Expert language instructor"
|
||||
id: 1,
|
||||
title: "Expert Native Speakers", description: "Our instructors are fluent native speakers with advanced degrees in linguistics and extensive teaching experience across multiple proficiency levels.", imageSrc: "http://img.b2bpic.net/free-photo/manager-leading-brainstorming-meeting-with-group-creative-designers-office-leader-business-concept_58466-12410.jpg", imageAlt: "Expert language instructor"
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
title: "Holistic Cultural Education",
|
||||
description: "Beyond grammar and vocabulary, students explore Persian poetry, Arabic literature, historical contexts, and cultural traditions that shape these magnificent languages.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/intelligent-students-working-classroom_23-2147656340.jpg",
|
||||
imageAlt: "Cultural learning environment"
|
||||
id: 2,
|
||||
title: "Holistic Cultural Education", description: "Beyond grammar and vocabulary, students explore Persian poetry, Arabic literature, historical contexts, and cultural traditions that shape these magnificent languages.", imageSrc: "http://img.b2bpic.net/free-photo/intelligent-students-working-classroom_23-2147656340.jpg", imageAlt: "Cultural learning environment"
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
title: "Proven Learning Outcomes",
|
||||
description: "Our students consistently achieve their language goals, whether for business, academic, cultural, or personal enrichment. We track progress meticulously and adapt our methods accordingly.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/group-young-people-using-laptop-together-home-sofa_23-2149342434.jpg?_wi=2",
|
||||
imageAlt: "Learning outcomes tracking"
|
||||
id: 3,
|
||||
title: "Proven Learning Outcomes", description: "Our students consistently achieve their language goals, whether for business, academic, cultural, or personal enrichment. We track progress meticulously and adapt our methods accordingly.", imageSrc: "http://img.b2bpic.net/free-photo/group-young-people-using-laptop-together-home-sofa_23-2149342434.jpg", imageAlt: "Learning outcomes tracking"
|
||||
},
|
||||
{
|
||||
id: "4",
|
||||
title: "Community & Accountability",
|
||||
description: "We've built a supportive community where students learn together, share cultural insights, celebrate achievements, and hold each other accountable to their language goals.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/social-integration-working-team_23-2149341085.jpg?_wi=2",
|
||||
imageAlt: "Community learning"
|
||||
id: 4,
|
||||
title: "Community & Accountability", description: "We've built a supportive community where students learn together, share cultural insights, celebrate achievements, and hold each other accountable to their language goals.", imageSrc: "http://img.b2bpic.net/free-photo/social-integration-working-team_23-2149341085.jpg", imageAlt: "Community learning"
|
||||
}
|
||||
]}
|
||||
buttons={[
|
||||
{
|
||||
text: "Book a Free Trial",
|
||||
href: "/#contact"
|
||||
text: "Book a Free Trial", href: "/#contact"
|
||||
}
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
@@ -118,31 +102,13 @@ export default function AboutPage() {
|
||||
useInvertedBackground={false}
|
||||
testimonials={[
|
||||
{
|
||||
id: "1",
|
||||
title: "From Uncertainty to Fluency",
|
||||
quote: "Before Lusanah, I was intimidated by Arabic. Now I'm confident holding business meetings in Arabic and exploring literature in the original language. This transformation happened because my instructors believed in me.",
|
||||
name: "Amira Hassan",
|
||||
role: "Business Professional",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/image-handsome-caucasian-man-party-suit-smiling-pleased-attend-formal-event-standing-whit_1258-154888.jpg?_wi=2",
|
||||
imageAlt: "Amira Hassan"
|
||||
id: "1", title: "From Uncertainty to Fluency", quote: "Before Lusanah, I was intimidated by Arabic. Now I'm confident holding business meetings in Arabic and exploring literature in the original language. This transformation happened because my instructors believed in me.", name: "Amira Hassan", role: "Business Professional", imageSrc: "http://img.b2bpic.net/free-photo/image-handsome-caucasian-man-party-suit-smiling-pleased-attend-formal-event-standing-whit_1258-154888.jpg", imageAlt: "Amira Hassan"
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
title: "Reconnecting with Heritage",
|
||||
quote: "Learning Persian with Lusanah wasn't just about language—it was about understanding my grandparents' world, their poetry, their culture. This has given me a deeper sense of identity.",
|
||||
name: "Reza Kiani",
|
||||
role: "Technology Manager",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-brunette-superhero-costume_23-2147775131.jpg?_wi=2",
|
||||
imageAlt: "Reza Kiani"
|
||||
id: "2", title: "Reconnecting with Heritage", quote: "Learning Persian with Lusanah wasn't just about language—it was about understanding my grandparents' world, their poetry, their culture. This has given me a deeper sense of identity.", name: "Reza Kiani", role: "Technology Manager", imageSrc: "http://img.b2bpic.net/free-photo/young-brunette-superhero-costume_23-2147775131.jpg", imageAlt: "Reza Kiani"
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
title: "Professional Excellence",
|
||||
quote: "Lusanah's business language program elevated my career. I'm now leading international partnerships and representing my company in Arabic-speaking markets with confidence and cultural respect.",
|
||||
name: "Sarah Mitchell",
|
||||
role: "International Consultant",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/businesswoman-vivaceous-blouse-grey-skirt-celebrating-victory-city-lady-raised-hands-she-is-happy-smiling-isolated-office-building-background_549566-694.jpg?_wi=2",
|
||||
imageAlt: "Sarah Mitchell"
|
||||
id: "3", title: "Professional Excellence", quote: "Lusanah's business language program elevated my career. I'm now leading international partnerships and representing my company in Arabic-speaking markets with confidence and cultural respect.", name: "Sarah Mitchell", role: "International Consultant", imageSrc: "http://img.b2bpic.net/free-photo/businesswoman-vivaceous-blouse-grey-skirt-celebrating-victory-city-lady-raised-hands-she-is-happy-smiling-isolated-office-building-background_549566-694.jpg", imageAlt: "Sarah Mitchell"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
@@ -154,61 +120,47 @@ export default function AboutPage() {
|
||||
copyrightText="© 2025 Lusanah. All rights reserved."
|
||||
columns={[
|
||||
{
|
||||
title: "Company",
|
||||
items: [
|
||||
title: "Company", items: [
|
||||
{
|
||||
label: "Home",
|
||||
href: "/"
|
||||
label: "Home", href: "/"
|
||||
},
|
||||
{
|
||||
label: "Pricing",
|
||||
href: "/#pricing"
|
||||
label: "Pricing", href: "/#pricing"
|
||||
},
|
||||
{
|
||||
label: "Contact",
|
||||
href: "/#contact"
|
||||
label: "Contact", href: "/#contact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Resources",
|
||||
items: [
|
||||
title: "Resources", items: [
|
||||
{
|
||||
label: "Learning Blog",
|
||||
href: "#"
|
||||
label: "Learning Blog", href: "#"
|
||||
},
|
||||
{
|
||||
label: "Language Tips",
|
||||
href: "#"
|
||||
label: "Language Tips", href: "#"
|
||||
},
|
||||
{
|
||||
label: "Cultural Guides",
|
||||
href: "#"
|
||||
label: "Cultural Guides", href: "#"
|
||||
},
|
||||
{
|
||||
label: "FAQ",
|
||||
href: "/#faq"
|
||||
label: "FAQ", href: "/#faq"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Legal",
|
||||
items: [
|
||||
title: "Legal", items: [
|
||||
{
|
||||
label: "Privacy Policy",
|
||||
href: "#"
|
||||
label: "Privacy Policy", href: "#"
|
||||
},
|
||||
{
|
||||
label: "Terms of Service",
|
||||
href: "#"
|
||||
label: "Terms of Service", href: "#"
|
||||
},
|
||||
{
|
||||
label: "Refund Policy",
|
||||
href: "#"
|
||||
label: "Refund Policy", href: "#"
|
||||
},
|
||||
{
|
||||
label: "Contact Support",
|
||||
href: "mailto:support@lusanah.com"
|
||||
label: "Contact Support", href: "mailto:support@lusanah.com"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
240
src/app/page.tsx
240
src/app/page.tsx
@@ -10,7 +10,7 @@ import TestimonialCardTen from '@/components/sections/testimonial/TestimonialCar
|
||||
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import FooterBase from '@/components/sections/footer/FooterBase';
|
||||
import Link from 'next/link';
|
||||
import { Sparkles, Zap, DollarSign, Star, HelpCircle, Calendar } from 'lucide-react';
|
||||
import { Sparkles, Zap, DollarSign, Star, HelpCircle, Calendar, Crown } from 'lucide-react';
|
||||
|
||||
export default function HomePage() {
|
||||
return (
|
||||
@@ -20,7 +20,7 @@ export default function HomePage() {
|
||||
borderRadius="soft"
|
||||
contentWidth="smallMedium"
|
||||
sizing="largeSmall"
|
||||
background="floatingGradient"
|
||||
background="circleGradient"
|
||||
cardStyle="solid"
|
||||
primaryButtonStyle="double-inset"
|
||||
secondaryButtonStyle="glass"
|
||||
@@ -32,7 +32,7 @@ export default function HomePage() {
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Services", id: "#features" },
|
||||
{ name: "Pricing", id: "#pricing" },
|
||||
{ name: "Pricing", id: "/pricing" },
|
||||
{ name: "About", id: "/about" },
|
||||
{ name: "Contact", id: "#contact" }
|
||||
]}
|
||||
@@ -48,52 +48,42 @@ export default function HomePage() {
|
||||
tag="Professional Language Education"
|
||||
tagIcon={Sparkles}
|
||||
tagAnimation="slide-up"
|
||||
background={{ variant: "floatingGradient" }}
|
||||
background={{ variant: "plain" }}
|
||||
leftCarouselItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/travel-agent-offering-trip-planning-clients_23-2149079485.jpg",
|
||||
imageAlt: "arabic calligraphy modern design"
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/travel-agent-offering-trip-planning-clients_23-2149079485.jpg", imageAlt: "arabic calligraphy modern design"
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-people-looking-map_23-2149080800.jpg",
|
||||
imageAlt: "student learning arabic writing"
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-people-looking-map_23-2149080800.jpg", imageAlt: "student learning arabic writing"
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/eid-al-azha-celebration-greeting-traditional-typography_1302-4841.jpg",
|
||||
imageAlt: "arabic script calligraphy art"
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/eid-al-azha-celebration-greeting-traditional-typography_1302-4841.jpg", imageAlt: "arabic script calligraphy art"
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/tutor-girl-home-talking_23-2148511008.jpg",
|
||||
imageAlt: "linguistic education technology platform"
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/tutor-girl-home-talking_23-2148511008.jpg", imageAlt: "linguistic education technology platform"
|
||||
}
|
||||
]}
|
||||
rightCarouselItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-people-travel-agency_23-2149080779.jpg",
|
||||
imageAlt: "persian cultural heritage education"
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-people-travel-agency_23-2149080779.jpg", imageAlt: "persian cultural heritage education"
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/side-view-people-garage-sale_23-2150577025.jpg",
|
||||
imageAlt: "language learning community engagement"
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/side-view-people-garage-sale_23-2150577025.jpg", imageAlt: "language learning community engagement"
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/business-people-working-together_23-2148826959.jpg",
|
||||
imageAlt: "arabic persian language certification"
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/business-people-working-together_23-2148826959.jpg", imageAlt: "arabic persian language certification"
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/happy-teenage-girl-with-guitar-standing-outdoors_23-2147879725.jpg",
|
||||
imageAlt: "conversation fluency language practice"
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/happy-teenage-girl-with-guitar-standing-outdoors_23-2147879725.jpg", imageAlt: "conversation fluency language practice"
|
||||
}
|
||||
]}
|
||||
carouselPosition="right"
|
||||
buttons={[
|
||||
{
|
||||
text: "Start Your Journey",
|
||||
href: "#pricing"
|
||||
text: "Start Your Journey", href: "#pricing"
|
||||
},
|
||||
{
|
||||
text: "Learn More",
|
||||
href: "/about"
|
||||
text: "Learn More", href: "/about"
|
||||
}
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
@@ -112,37 +102,24 @@ export default function HomePage() {
|
||||
features={[
|
||||
{
|
||||
id: 1,
|
||||
title: "One-on-One Personalized Lessons",
|
||||
description: "Tailored instruction designed specifically for your learning pace, goals, and cultural interests.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/group-young-people-using-laptop-together-home-sofa_23-2149342434.jpg?_wi=1",
|
||||
imageAlt: "Personalized tutoring session"
|
||||
title: "One-on-One Personalized Lessons", description: "Tailored instruction designed specifically for your learning pace, goals, and cultural interests.", imageSrc: "http://img.b2bpic.net/free-photo/group-young-people-using-laptop-together-home-sofa_23-2149342434.jpg", imageAlt: "Personalized tutoring session"
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "Native Expert Instructors",
|
||||
description: "Learn from fluent native speakers with advanced pedagogical training and cultural expertise.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/manager-leading-brainstorming-meeting-with-group-creative-designers-office-leader-business-concept_58466-12410.jpg?_wi=1",
|
||||
imageAlt: "Expert language instructor"
|
||||
title: "Native Expert Instructors", description: "Learn from fluent native speakers with advanced pedagogical training and cultural expertise.", imageSrc: "http://img.b2bpic.net/free-photo/manager-leading-brainstorming-meeting-with-group-creative-designers-office-leader-business-concept_58466-12410.jpg", imageAlt: "Expert language instructor"
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "Flexible Scheduling",
|
||||
description: "Classes available 24/7 with rescheduling flexibility to fit your busy lifestyle.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/social-integration-working-team_23-2149341085.jpg?_wi=1",
|
||||
imageAlt: "Flexible learning schedule"
|
||||
title: "Flexible Scheduling", description: "Classes available 24/7 with rescheduling flexibility to fit your busy lifestyle.", imageSrc: "http://img.b2bpic.net/free-photo/social-integration-working-team_23-2149341085.jpg", imageAlt: "Flexible learning schedule"
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
title: "Immersive Cultural Learning",
|
||||
description: "Beyond grammar—explore literature, history, and traditions to deepen your understanding.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/group-multiethnic-kids-wearing-vr-headsets-teacher-watching-them_74855-16387.jpg?_wi=1",
|
||||
imageAlt: "Interactive cultural learning"
|
||||
title: "Immersive Cultural Learning", description: "Beyond grammar—explore literature, history, and traditions to deepen your understanding.", imageSrc: "http://img.b2bpic.net/free-photo/group-multiethnic-kids-wearing-vr-headsets-teacher-watching-them_74855-16387.jpg", imageAlt: "Interactive cultural learning"
|
||||
}
|
||||
]}
|
||||
buttons={[
|
||||
{
|
||||
text: "Book a Free Trial",
|
||||
href: "#contact"
|
||||
text: "Book a Free Trial", href: "#contact"
|
||||
}
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
@@ -161,63 +138,30 @@ export default function HomePage() {
|
||||
animationType="slide-up"
|
||||
plans={[
|
||||
{
|
||||
id: "starter",
|
||||
tag: "Starter Plan",
|
||||
tagIcon: Sparkles,
|
||||
price: "$99",
|
||||
period: "/month",
|
||||
description: "Perfect for beginners exploring language learning.",
|
||||
button: {
|
||||
text: "Choose Plan",
|
||||
href: "#contact"
|
||||
id: "starter", tag: "Starter Plan", tagIcon: Sparkles,
|
||||
price: "$99", period: "/month", description: "Perfect for beginners exploring language learning.", button: {
|
||||
text: "Choose Plan", href: "#contact"
|
||||
},
|
||||
featuresTitle: "What's Included:",
|
||||
features: [
|
||||
"4 lessons per month",
|
||||
"30-minute sessions",
|
||||
"Basic learning materials",
|
||||
"Email support"
|
||||
featuresTitle: "What's Included:", features: [
|
||||
"4 lessons per month", "30-minute sessions", "Basic learning materials", "Email support"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "professional",
|
||||
tag: "Professional Plan",
|
||||
tagIcon: Sparkles,
|
||||
price: "$299",
|
||||
period: "/month",
|
||||
description: "Ideal for serious learners aiming for fluency.",
|
||||
button: {
|
||||
text: "Choose Plan",
|
||||
href: "#contact"
|
||||
id: "professional", tag: "Professional Plan", tagIcon: Crown,
|
||||
price: "$299", period: "/month", description: "Ideal for serious learners aiming for fluency.", button: {
|
||||
text: "Choose Plan", href: "#contact"
|
||||
},
|
||||
featuresTitle: "What's Included:",
|
||||
features: [
|
||||
"12 lessons per month",
|
||||
"60-minute sessions",
|
||||
"Advanced learning materials",
|
||||
"Priority email & chat support",
|
||||
"Monthly progress assessment"
|
||||
featuresTitle: "What's Included:", features: [
|
||||
"12 lessons per month", "60-minute sessions", "Advanced learning materials", "Priority email & chat support", "Monthly progress assessment"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "premium",
|
||||
tag: "Premium Plan",
|
||||
tagIcon: Zap,
|
||||
price: "$599",
|
||||
period: "/month",
|
||||
description: "For professionals requiring business-level proficiency.",
|
||||
button: {
|
||||
text: "Choose Plan",
|
||||
href: "#contact"
|
||||
id: "premium", tag: "Premium Plan", tagIcon: Zap,
|
||||
price: "$599", period: "/month", description: "For professionals requiring business-level proficiency.", button: {
|
||||
text: "Choose Plan", href: "#contact"
|
||||
},
|
||||
featuresTitle: "What's Included:",
|
||||
features: [
|
||||
"24 lessons per month",
|
||||
"90-minute sessions",
|
||||
"Exclusive premium materials",
|
||||
"24/7 priority support",
|
||||
"Weekly progress reports",
|
||||
"Business language specialization"
|
||||
featuresTitle: "What's Included:", features: [
|
||||
"24 lessons per month", "90-minute sessions", "Exclusive premium materials", "24/7 priority support", "Weekly progress reports", "Business language specialization"
|
||||
]
|
||||
}
|
||||
]}
|
||||
@@ -235,58 +179,22 @@ export default function HomePage() {
|
||||
useInvertedBackground={false}
|
||||
testimonials={[
|
||||
{
|
||||
id: "1",
|
||||
title: "Fluency in 6 Months",
|
||||
quote: "I went from zero Arabic knowledge to holding conversations with native speakers. The structured approach and expert guidance made all the difference in my learning journey.",
|
||||
name: "Amira Hassan",
|
||||
role: "Business Professional",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/image-handsome-caucasian-man-party-suit-smiling-pleased-attend-formal-event-standing-whit_1258-154888.jpg?_wi=1",
|
||||
imageAlt: "Amira Hassan"
|
||||
id: "1", title: "Fluency in 6 Months", quote: "I went from zero Arabic knowledge to holding conversations with native speakers. The structured approach and expert guidance made all the difference in my learning journey.", name: "Amira Hassan", role: "Business Professional", imageSrc: "http://img.b2bpic.net/free-photo/image-handsome-caucasian-man-party-suit-smiling-pleased-attend-formal-event-standing-whit_1258-154888.jpg", imageAlt: "Amira Hassan"
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
title: "Cultural Connection Restored",
|
||||
quote: "As a second-generation Persian speaker, reconnecting with my heritage language through Lusanah was transformative. The cultural context enriches every lesson.",
|
||||
name: "Reza Kiani",
|
||||
role: "Technology Manager",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-brunette-superhero-costume_23-2147775131.jpg?_wi=1",
|
||||
imageAlt: "Reza Kiani"
|
||||
id: "2", title: "Cultural Connection Restored", quote: "As a second-generation Persian speaker, reconnecting with my heritage language through Lusanah was transformative. The cultural context enriches every lesson.", name: "Reza Kiani", role: "Technology Manager", imageSrc: "http://img.b2bpic.net/free-photo/young-brunette-superhero-costume_23-2147775131.jpg", imageAlt: "Reza Kiani"
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
title: "Professional Career Advancement",
|
||||
quote: "My employer was impressed by my newfound language skills. Lusanah's business-focused curriculum directly supported my career growth in the Middle East.",
|
||||
name: "Sarah Mitchell",
|
||||
role: "International Consultant",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/businesswoman-vivaceous-blouse-grey-skirt-celebrating-victory-city-lady-raised-hands-she-is-happy-smiling-isolated-office-building-background_549566-694.jpg?_wi=1",
|
||||
imageAlt: "Sarah Mitchell"
|
||||
id: "3", title: "Professional Career Advancement", quote: "My employer was impressed by my newfound language skills. Lusanah's business-focused curriculum directly supported my career growth in the Middle East.", name: "Sarah Mitchell", role: "International Consultant", imageSrc: "http://img.b2bpic.net/free-photo/businesswoman-vivaceous-blouse-grey-skirt-celebrating-victory-city-lady-raised-hands-she-is-happy-smiling-isolated-office-building-background_549566-694.jpg", imageAlt: "Sarah Mitchell"
|
||||
},
|
||||
{
|
||||
id: "4",
|
||||
title: "Confidence Through Conversation",
|
||||
quote: "The native instructors made me feel comfortable practicing real conversations from day one. My confidence grew exponentially with Lusanah.",
|
||||
name: "Khalid Abdallah",
|
||||
role: "Student",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/amazed-businessman-showing-big-object-describe-something-large-looking-excited-standing-whi_1258-113183.jpg",
|
||||
imageAlt: "Khalid Abdallah"
|
||||
id: "4", title: "Confidence Through Conversation", quote: "The native instructors made me feel comfortable practicing real conversations from day one. My confidence grew exponentially with Lusanah.", name: "Khalid Abdallah", role: "Student", imageSrc: "http://img.b2bpic.net/free-photo/amazed-businessman-showing-big-object-describe-something-large-looking-excited-standing-whi_1258-113183.jpg", imageAlt: "Khalid Abdallah"
|
||||
},
|
||||
{
|
||||
id: "5",
|
||||
title: "Academic Excellence",
|
||||
quote: "Lusanah's rigorous methodology helped me ace my Arabic proficiency exam. The instructors understood exactly what was needed for academic success.",
|
||||
name: "Noor Al-Rashid",
|
||||
role: "University Student",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/standing-knocking-bottles-glass-office-young-people-celebrate-their-success_146671-13649.jpg",
|
||||
imageAlt: "Noor Al-Rashid"
|
||||
id: "5", title: "Academic Excellence", quote: "Lusanah's rigorous methodology helped me ace my Arabic proficiency exam. The instructors understood exactly what was needed for academic success.", name: "Noor Al-Rashid", role: "University Student", imageSrc: "http://img.b2bpic.net/free-photo/standing-knocking-bottles-glass-office-young-people-celebrate-their-success_146671-13649.jpg", imageAlt: "Noor Al-Rashid"
|
||||
},
|
||||
{
|
||||
id: "6",
|
||||
title: "Personalized Learning Works",
|
||||
quote: "I never thought I could master Persian grammar, but the personalized approach and patient instructors proved me wrong. I'm amazed at my progress.",
|
||||
name: "Marco Rossi",
|
||||
role: "Language Enthusiast",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-expert_1098-15050.jpg",
|
||||
imageAlt: "Marco Rossi"
|
||||
id: "6", title: "Personalized Learning Works", quote: "I never thought I could master Persian grammar, but the personalized approach and patient instructors proved me wrong. I'm amazed at my progress.", name: "Marco Rossi", role: "Language Enthusiast", imageSrc: "http://img.b2bpic.net/free-photo/young-expert_1098-15050.jpg", imageAlt: "Marco Rossi"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
@@ -301,7 +209,7 @@ export default function HomePage() {
|
||||
tagAnimation="slide-up"
|
||||
textboxLayout="split"
|
||||
useInvertedBackground={true}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/water-stationery-set-conference-table_1262-3882.jpg?_wi=1"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/water-stationery-set-conference-table_1262-3882.jpg"
|
||||
imageAlt="Language learning support and resources"
|
||||
mediaAnimation="blur-reveal"
|
||||
mediaPosition="left"
|
||||
@@ -310,34 +218,22 @@ export default function HomePage() {
|
||||
showCard={true}
|
||||
faqs={[
|
||||
{
|
||||
id: "1",
|
||||
title: "What is the best starting level for beginners?",
|
||||
content: "We welcome absolute beginners! Our instructors assess your starting point and design lessons accordingly. Most beginners start with basic conversational skills and alphabet/script recognition."
|
||||
id: "1", title: "What is the best starting level for beginners?", content: "We welcome absolute beginners! Our instructors assess your starting point and design lessons accordingly. Most beginners start with basic conversational skills and alphabet/script recognition."
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
title: "How long does it take to reach fluency?",
|
||||
content: "Fluency typically requires 6-12 months of consistent study with 2-3 lessons per week. Individual timelines vary based on starting level, practice frequency, and language background."
|
||||
id: "2", title: "How long does it take to reach fluency?", content: "Fluency typically requires 6-12 months of consistent study with 2-3 lessons per week. Individual timelines vary based on starting level, practice frequency, and language background."
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
title: "Can I switch instructors if needed?",
|
||||
content: "Absolutely! We have a diverse team of expert instructors. If you'd prefer a different instructor, we can arrange a switch to ensure the best learning fit."
|
||||
id: "3", title: "Can I switch instructors if needed?", content: "Absolutely! We have a diverse team of expert instructors. If you'd prefer a different instructor, we can arrange a switch to ensure the best learning fit."
|
||||
},
|
||||
{
|
||||
id: "4",
|
||||
title: "Do you offer trial lessons?",
|
||||
content: "Yes! Every new student receives a 30-minute free trial lesson. This allows you to meet an instructor, discuss your goals, and experience our teaching methodology firsthand."
|
||||
id: "4", title: "Do you offer trial lessons?", content: "Yes! Every new student receives a 30-minute free trial lesson. This allows you to meet an instructor, discuss your goals, and experience our teaching methodology firsthand."
|
||||
},
|
||||
{
|
||||
id: "5",
|
||||
title: "What materials and resources do you provide?",
|
||||
content: "We provide comprehensive learning materials including textbooks, audio files, cultural articles, video lessons, and practice exercises tailored to your proficiency level."
|
||||
id: "5", title: "What materials and resources do you provide?", content: "We provide comprehensive learning materials including textbooks, audio files, cultural articles, video lessons, and practice exercises tailored to your proficiency level."
|
||||
},
|
||||
{
|
||||
id: "6",
|
||||
title: "Is there a money-back guarantee?",
|
||||
content: "Yes! If you're not satisfied after your first month, we offer a full refund. We're confident in our teaching quality and want you to feel comfortable starting your journey with us."
|
||||
id: "6", title: "Is there a money-back guarantee?", content: "Yes! If you're not satisfied after your first month, we offer a full refund. We're confident in our teaching quality and want you to feel comfortable starting your journey with us."
|
||||
}
|
||||
]}
|
||||
/>
|
||||
@@ -349,61 +245,47 @@ export default function HomePage() {
|
||||
copyrightText="© 2025 Lusanah. All rights reserved."
|
||||
columns={[
|
||||
{
|
||||
title: "Company",
|
||||
items: [
|
||||
title: "Company", items: [
|
||||
{
|
||||
label: "About Us",
|
||||
href: "/about"
|
||||
label: "About Us", href: "/about"
|
||||
},
|
||||
{
|
||||
label: "Pricing",
|
||||
href: "#pricing"
|
||||
label: "Pricing", href: "#pricing"
|
||||
},
|
||||
{
|
||||
label: "Contact",
|
||||
href: "#contact"
|
||||
label: "Contact", href: "#contact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Resources",
|
||||
items: [
|
||||
title: "Resources", items: [
|
||||
{
|
||||
label: "Learning Blog",
|
||||
href: "#"
|
||||
label: "Learning Blog", href: "#"
|
||||
},
|
||||
{
|
||||
label: "Language Tips",
|
||||
href: "#"
|
||||
label: "Language Tips", href: "#"
|
||||
},
|
||||
{
|
||||
label: "Cultural Guides",
|
||||
href: "#"
|
||||
label: "Cultural Guides", href: "#"
|
||||
},
|
||||
{
|
||||
label: "FAQ",
|
||||
href: "#faq"
|
||||
label: "FAQ", href: "#faq"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Legal",
|
||||
items: [
|
||||
title: "Legal", items: [
|
||||
{
|
||||
label: "Privacy Policy",
|
||||
href: "#"
|
||||
label: "Privacy Policy", href: "#"
|
||||
},
|
||||
{
|
||||
label: "Terms of Service",
|
||||
href: "#"
|
||||
label: "Terms of Service", href: "#"
|
||||
},
|
||||
{
|
||||
label: "Refund Policy",
|
||||
href: "#"
|
||||
label: "Refund Policy", href: "#"
|
||||
},
|
||||
{
|
||||
label: "Contact Support",
|
||||
href: "mailto:support@lusanah.com"
|
||||
label: "Contact Support", href: "mailto:support@lusanah.com"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import FaqSplitMedia from "@/components/sections/faq/FaqSplitMedia";
|
||||
import ContactFaq from "@/components/sections/contact/ContactFaq";
|
||||
import FooterBase from "@/components/sections/footer/FooterBase";
|
||||
import Link from "next/link";
|
||||
import { DollarSign, HelpCircle, Calendar } from "lucide-react";
|
||||
import { DollarSign, HelpCircle, Calendar, Sparkles, Crown, Zap } from "lucide-react";
|
||||
|
||||
export default function PricingPage() {
|
||||
return (
|
||||
@@ -17,7 +17,7 @@ export default function PricingPage() {
|
||||
borderRadius="soft"
|
||||
contentWidth="smallMedium"
|
||||
sizing="largeSmall"
|
||||
background="floatingGradient"
|
||||
background="circleGradient"
|
||||
cardStyle="solid"
|
||||
primaryButtonStyle="double-inset"
|
||||
secondaryButtonStyle="glass"
|
||||
@@ -42,64 +42,25 @@ export default function PricingPage() {
|
||||
<PricingCardFive
|
||||
plans={[
|
||||
{
|
||||
id: "starter",
|
||||
tag: "Starter Plan",
|
||||
tagIcon: "Sparkles",
|
||||
price: "$99",
|
||||
period: "/month",
|
||||
description: "Perfect for beginners exploring language learning.",
|
||||
button: {
|
||||
text: "Choose Plan",
|
||||
href: "#contact",
|
||||
},
|
||||
featuresTitle: "What's Included:",
|
||||
features: [
|
||||
"4 lessons per month",
|
||||
"30-minute sessions",
|
||||
"Basic learning materials",
|
||||
"Email support",
|
||||
],
|
||||
id: "starter", tag: "Starter Plan", tagIcon: Sparkles,
|
||||
price: "$99", period: "/month", description: "Perfect for beginners exploring language learning.", button: {
|
||||
text: "Choose Plan", href: "#contact"},
|
||||
featuresTitle: "What's Included:", features: [
|
||||
"4 lessons per month", "30-minute sessions", "Basic learning materials", "Email support"],
|
||||
},
|
||||
{
|
||||
id: "professional",
|
||||
tag: "Professional Plan",
|
||||
tagIcon: "Crown",
|
||||
price: "$299",
|
||||
period: "/month",
|
||||
description: "Ideal for serious learners aiming for fluency.",
|
||||
button: {
|
||||
text: "Choose Plan",
|
||||
href: "#contact",
|
||||
},
|
||||
featuresTitle: "What's Included:",
|
||||
features: [
|
||||
"12 lessons per month",
|
||||
"60-minute sessions",
|
||||
"Advanced learning materials",
|
||||
"Priority email & chat support",
|
||||
"Monthly progress assessment",
|
||||
],
|
||||
id: "professional", tag: "Professional Plan", tagIcon: Crown,
|
||||
price: "$299", period: "/month", description: "Ideal for serious learners aiming for fluency.", button: {
|
||||
text: "Choose Plan", href: "#contact"},
|
||||
featuresTitle: "What's Included:", features: [
|
||||
"12 lessons per month", "60-minute sessions", "Advanced learning materials", "Priority email & chat support", "Monthly progress assessment"],
|
||||
},
|
||||
{
|
||||
id: "premium",
|
||||
tag: "Premium Plan",
|
||||
tagIcon: "Zap",
|
||||
price: "$599",
|
||||
period: "/month",
|
||||
description: "For professionals requiring business-level proficiency.",
|
||||
button: {
|
||||
text: "Choose Plan",
|
||||
href: "#contact",
|
||||
},
|
||||
featuresTitle: "What's Included:",
|
||||
features: [
|
||||
"24 lessons per month",
|
||||
"90-minute sessions",
|
||||
"Exclusive premium materials",
|
||||
"24/7 priority support",
|
||||
"Weekly progress reports",
|
||||
"Business language specialization",
|
||||
],
|
||||
id: "premium", tag: "Premium Plan", tagIcon: Zap,
|
||||
price: "$599", period: "/month", description: "For professionals requiring business-level proficiency.", button: {
|
||||
text: "Choose Plan", href: "#contact"},
|
||||
featuresTitle: "What's Included:", features: [
|
||||
"24 lessons per month", "90-minute sessions", "Exclusive premium materials", "24/7 priority support", "Weekly progress reports", "Business language specialization"],
|
||||
},
|
||||
]}
|
||||
animationType="slide-up"
|
||||
@@ -117,37 +78,19 @@ export default function PricingPage() {
|
||||
<FaqSplitMedia
|
||||
faqs={[
|
||||
{
|
||||
id: "1",
|
||||
title: "What is the best starting level for beginners?",
|
||||
content: "We welcome absolute beginners! Our instructors assess your starting point and design lessons accordingly. Most beginners start with basic conversational skills and alphabet/script recognition.",
|
||||
},
|
||||
id: "1", title: "What is the best starting level for beginners?", content: "We welcome absolute beginners! Our instructors assess your starting point and design lessons accordingly. Most beginners start with basic conversational skills and alphabet/script recognition."},
|
||||
{
|
||||
id: "2",
|
||||
title: "How long does it take to reach fluency?",
|
||||
content: "Fluency typically requires 6-12 months of consistent study with 2-3 lessons per week. Individual timelines vary based on starting level, practice frequency, and language background.",
|
||||
},
|
||||
id: "2", title: "How long does it take to reach fluency?", content: "Fluency typically requires 6-12 months of consistent study with 2-3 lessons per week. Individual timelines vary based on starting level, practice frequency, and language background."},
|
||||
{
|
||||
id: "3",
|
||||
title: "Can I switch instructors if needed?",
|
||||
content: "Absolutely! We have a diverse team of expert instructors. If you'd prefer a different instructor, we can arrange a switch to ensure the best learning fit.",
|
||||
},
|
||||
id: "3", title: "Can I switch instructors if needed?", content: "Absolutely! We have a diverse team of expert instructors. If you'd prefer a different instructor, we can arrange a switch to ensure the best learning fit."},
|
||||
{
|
||||
id: "4",
|
||||
title: "Do you offer trial lessons?",
|
||||
content: "Yes! Every new student receives a 30-minute free trial lesson. This allows you to meet an instructor, discuss your goals, and experience our teaching methodology firsthand.",
|
||||
},
|
||||
id: "4", title: "Do you offer trial lessons?", content: "Yes! Every new student receives a 30-minute free trial lesson. This allows you to meet an instructor, discuss your goals, and experience our teaching methodology firsthand."},
|
||||
{
|
||||
id: "5",
|
||||
title: "What materials and resources do you provide?",
|
||||
content: "We provide comprehensive learning materials including textbooks, audio files, cultural articles, video lessons, and practice exercises tailored to your proficiency level.",
|
||||
},
|
||||
id: "5", title: "What materials and resources do you provide?", content: "We provide comprehensive learning materials including textbooks, audio files, cultural articles, video lessons, and practice exercises tailored to your proficiency level."},
|
||||
{
|
||||
id: "6",
|
||||
title: "Is there a money-back guarantee?",
|
||||
content: "Yes! If you're not satisfied after your first month, we offer a full refund. We're confident in our teaching quality and want you to feel comfortable starting your journey with us.",
|
||||
},
|
||||
id: "6", title: "Is there a money-back guarantee?", content: "Yes! If you're not satisfied after your first month, we offer a full refund. We're confident in our teaching quality and want you to feel comfortable starting your journey with us."},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/water-stationery-set-conference-table_1262-3882.jpg?_wi=2"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/water-stationery-set-conference-table_1262-3882.jpg"
|
||||
imageAlt="Language learning questions answers"
|
||||
mediaAnimation="blur-reveal"
|
||||
mediaPosition="left"
|
||||
@@ -168,32 +111,18 @@ export default function PricingPage() {
|
||||
<ContactFaq
|
||||
faqs={[
|
||||
{
|
||||
id: "1",
|
||||
title: "How do I book a trial lesson?",
|
||||
content: "Simply click 'Book Free Trial' above or email us at hello@lusanah.com. We'll respond within 2 hours to schedule your personalized 30-minute trial with one of our expert instructors.",
|
||||
},
|
||||
id: "1", title: "How do I book a trial lesson?", content: "Simply click 'Book Free Trial' above or email us at hello@lusanah.com. We'll respond within 2 hours to schedule your personalized 30-minute trial with one of our expert instructors."},
|
||||
{
|
||||
id: "2",
|
||||
title: "What if I have scheduling conflicts?",
|
||||
content: "Our instructors are available 24/7 to accommodate your timezone and schedule. We work with you to find a time that works best, whether it's early morning, evening, or weekends.",
|
||||
},
|
||||
id: "2", title: "What if I have scheduling conflicts?", content: "Our instructors are available 24/7 to accommodate your timezone and schedule. We work with you to find a time that works best, whether it's early morning, evening, or weekends."},
|
||||
{
|
||||
id: "3",
|
||||
title: "Do you offer corporate training?",
|
||||
content: "Yes! We provide customized corporate language programs for businesses needing team training. Contact our corporate coordinator at corporate@lusanah.com for a custom quote.",
|
||||
},
|
||||
id: "3", title: "Do you offer corporate training?", content: "Yes! We provide customized corporate language programs for businesses needing team training. Contact our corporate coordinator at corporate@lusanah.com for a custom quote."},
|
||||
{
|
||||
id: "4",
|
||||
title: "What technology do I need?",
|
||||
content: "You'll need a computer or smartphone with internet access, a microphone, and speakers or headphones. We use Zoom for lessons—no special software installation required.",
|
||||
},
|
||||
id: "4", title: "What technology do I need?", content: "You'll need a computer or smartphone with internet access, a microphone, and speakers or headphones. We use Zoom for lessons—no special software installation required."},
|
||||
]}
|
||||
ctaTitle="Ready to Start Learning?"
|
||||
ctaDescription="Book your free trial lesson today and take the first step toward language mastery."
|
||||
ctaButton={{
|
||||
text: "Book Free Trial",
|
||||
href: "mailto:hello@lusanah.com",
|
||||
}}
|
||||
text: "Book Free Trial", href: "mailto:hello@lusanah.com"}}
|
||||
ctaIcon={Calendar}
|
||||
useInvertedBackground={false}
|
||||
animationType="slide-up"
|
||||
@@ -208,66 +137,39 @@ export default function PricingPage() {
|
||||
copyrightText="© 2025 Lusanah. All rights reserved."
|
||||
columns={[
|
||||
{
|
||||
title: "Company",
|
||||
items: [
|
||||
title: "Company", items: [
|
||||
{
|
||||
label: "About Us",
|
||||
href: "/about",
|
||||
},
|
||||
label: "About Us", href: "/about"},
|
||||
{
|
||||
label: "Our Services",
|
||||
href: "/services",
|
||||
},
|
||||
label: "Our Services", href: "/services"},
|
||||
{
|
||||
label: "Pricing",
|
||||
href: "/pricing",
|
||||
},
|
||||
label: "Pricing", href: "/pricing"},
|
||||
{
|
||||
label: "Contact",
|
||||
href: "/contact",
|
||||
},
|
||||
label: "Contact", href: "/contact"},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Resources",
|
||||
items: [
|
||||
title: "Resources", items: [
|
||||
{
|
||||
label: "Learning Blog",
|
||||
href: "#",
|
||||
},
|
||||
label: "Learning Blog", href: "#"},
|
||||
{
|
||||
label: "Language Tips",
|
||||
href: "#",
|
||||
},
|
||||
label: "Language Tips", href: "#"},
|
||||
{
|
||||
label: "Cultural Guides",
|
||||
href: "#",
|
||||
},
|
||||
label: "Cultural Guides", href: "#"},
|
||||
{
|
||||
label: "FAQ",
|
||||
href: "#faq",
|
||||
},
|
||||
label: "FAQ", href: "#faq"},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Legal",
|
||||
items: [
|
||||
title: "Legal", items: [
|
||||
{
|
||||
label: "Privacy Policy",
|
||||
href: "#",
|
||||
},
|
||||
label: "Privacy Policy", href: "#"},
|
||||
{
|
||||
label: "Terms of Service",
|
||||
href: "#",
|
||||
},
|
||||
label: "Terms of Service", href: "#"},
|
||||
{
|
||||
label: "Refund Policy",
|
||||
href: "#",
|
||||
},
|
||||
label: "Refund Policy", href: "#"},
|
||||
{
|
||||
label: "Contact Support",
|
||||
href: "mailto:support@lusanah.com",
|
||||
},
|
||||
label: "Contact Support", href: "mailto:support@lusanah.com"},
|
||||
],
|
||||
},
|
||||
]}
|
||||
|
||||
@@ -1,51 +1,46 @@
|
||||
"use client";
|
||||
import { ReactNode } from 'react';
|
||||
|
||||
import { memo } from "react";
|
||||
import useSvgTextLogo from "./useSvgTextLogo";
|
||||
import { cls } from "@/lib/utils";
|
||||
|
||||
interface SvgTextLogoProps {
|
||||
logoText: string;
|
||||
adjustHeightFactor?: number;
|
||||
verticalAlign?: "top" | "center";
|
||||
interface SVGTextLogoProps {
|
||||
text: string;
|
||||
className?: string;
|
||||
fontSize?: number;
|
||||
fontWeight?: 'normal' | 'bold' | '700';
|
||||
letterSpacing?: number;
|
||||
textAnchor?: 'start' | 'middle' | 'end';
|
||||
dominantBaseline?: 'auto' | 'text-bottom' | 'alphabetic' | 'ideographic' | 'hanging' | 'central';
|
||||
children?: ReactNode;
|
||||
}
|
||||
|
||||
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
|
||||
logoText,
|
||||
adjustHeightFactor,
|
||||
verticalAlign = "top",
|
||||
className = "",
|
||||
}) {
|
||||
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
|
||||
|
||||
export default function SvgTextLogo({
|
||||
text,
|
||||
className = '',
|
||||
fontSize = 48,
|
||||
fontWeight = 'bold',
|
||||
letterSpacing = 2,
|
||||
textAnchor = 'middle',
|
||||
dominantBaseline = 'central',
|
||||
children,
|
||||
}: SVGTextLogoProps) {
|
||||
return (
|
||||
<svg
|
||||
ref={svgRef}
|
||||
viewBox={viewBox}
|
||||
className={cls("w-full", className)}
|
||||
style={{ aspectRatio: aspectRatio }}
|
||||
preserveAspectRatio="none"
|
||||
role="img"
|
||||
aria-label={`${logoText} logo`}
|
||||
viewBox="0 0 200 60"
|
||||
className={`w-full ${className}`}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<text
|
||||
ref={textRef}
|
||||
x="0"
|
||||
y={verticalAlign === "center" ? "50%" : "0"}
|
||||
className="font-bold fill-current"
|
||||
style={{
|
||||
fontSize: "20px",
|
||||
letterSpacing: "-0.02em",
|
||||
dominantBaseline: verticalAlign === "center" ? "middle" : "text-before-edge"
|
||||
}}
|
||||
x="100"
|
||||
y="30"
|
||||
fontSize={fontSize}
|
||||
fontWeight={fontWeight}
|
||||
letterSpacing={letterSpacing}
|
||||
textAnchor={textAnchor}
|
||||
dominantBaseline={dominantBaseline}
|
||||
fill="currentColor"
|
||||
className="font-bold"
|
||||
>
|
||||
{logoText}
|
||||
{text}
|
||||
</text>
|
||||
{children}
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
SvgTextLogo.displayName = "SvgTextLogo";
|
||||
|
||||
export default SvgTextLogo;
|
||||
}
|
||||
Reference in New Issue
Block a user