Merge version_1 into main #2

Merged
bender merged 2 commits from version_1 into main 2026-03-11 15:57:35 +00:00
2 changed files with 45 additions and 58 deletions

View File

@@ -46,17 +46,17 @@ export default function LandingPage() {
description="Supernova AI Spoken English Course helps beginners and hesitant speakers build real confidence with simple lessons, daily speaking practice, practical examples, and a learning experience people genuinely love."
tag="Trusted by learners who want to speak, not just study"
tagIcon={Sparkles}
tagAnimation="entrance-slide"
tagAnimation="blur-reveal"
background={{ variant: "glowing-orb" }}
leftCarouselItems={[
{ imageSrc: "http://img.b2bpic.net/free-photo/sharing-impressions-after-reading-book_329181-3414.jpg?_wi=1", imageAlt: "english learning students speaking practice" },
{ imageSrc: "http://img.b2bpic.net/free-photo/young-trans-man-working-as-waiter_23-2149409808.jpg?_wi=1", imageAlt: "english tutor online teaching video call" },
{ imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-friends-sitting-coffee-shop_23-2150183737.jpg?_wi=1", imageAlt: "english learner dictionary pronunciation guide" },
{ imageSrc: "http://img.b2bpic.net/free-photo/people-registering-vote-united-states_23-2149096716.jpg?_wi=1", imageAlt: "group diverse students english discussion circle" }
{ imageSrc: "http://img.b2bpic.net/free-photo/sharing-impressions-after-reading-book_329181-3414.jpg", imageAlt: "english learning students speaking practice" },
{ imageSrc: "http://img.b2bpic.net/free-photo/young-trans-man-working-as-waiter_23-2149409808.jpg", imageAlt: "english tutor online teaching video call" },
{ imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-friends-sitting-coffee-shop_23-2150183737.jpg", imageAlt: "english learner dictionary pronunciation guide" },
{ imageSrc: "http://img.b2bpic.net/free-photo/people-registering-vote-united-states_23-2149096716.jpg", imageAlt: "group diverse students english discussion circle" }
]}
rightCarouselItems={[
{ imageSrc: "http://img.b2bpic.net/free-photo/woman-director-attending-videocall-conference-with-advisory-board_482257-122596.jpg?_wi=1", imageAlt: "confident speaker english presentation professional" },
{ imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-excited-friends_23-2148984739.jpg?_wi=1", imageAlt: "students celebrating english course achievement" },
{ imageSrc: "http://img.b2bpic.net/free-photo/woman-director-attending-videocall-conference-with-advisory-board_482257-122596.jpg", imageAlt: "confident speaker english presentation professional" },
{ imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-excited-friends_23-2148984739.jpg", imageAlt: "students celebrating english course achievement" },
{ imageSrc: "http://img.b2bpic.net/free-photo/close-up-hands-using-smartphone_23-2149246302.jpg", imageAlt: "english learning app mobile phone screen" },
{ imageSrc: "http://img.b2bpic.net/free-photo/primary-school-student-desk-library-reading-mockup-tablet_482257-118722.jpg", imageAlt: "english conversation practice speech bubbles chat" }
]}
@@ -64,7 +64,7 @@ export default function LandingPage() {
{ text: "Start Your English Journey", href: "contact" },
{ text: "See How It Works", href: "how-it-works" }
]}
buttonAnimation="entrance-slide"
buttonAnimation="blur-reveal"
carouselPosition="right"
avatarText="2,085+ learners already speaking with confidence"
useInvertedBackground={false}
@@ -77,36 +77,36 @@ export default function LandingPage() {
description="Supernova is not trying to turn you into a dictionary. It helps you speak practical English clearly, confidently, and more naturally in everyday situations."
tag="Why this works"
tagIcon={Sparkles}
tagAnimation="entrance-slide"
tagAnimation="blur-reveal"
features={[
{
id: 1,
title: "Daily speaking practice", description: "Not just watching. Not just reading. You actually speak every day, because English is a skill, not wallpaper.", imageSrc: "http://img.b2bpic.net/free-photo/sharing-impressions-after-reading-book_329181-3414.jpg?_wi=2", imageAlt: "Daily speaking practice session"
title: "Daily speaking practice", description: "Not just watching. Not just reading. You actually speak every day, because English is a skill, not wallpaper.", imageSrc: "http://img.b2bpic.net/free-photo/sharing-impressions-after-reading-book_329181-3414.jpg", imageAlt: "Daily speaking practice session"
},
{
id: 2,
title: "Useful English for real life", description: "Learn phrases for daily conversations, work, introductions, confidence-building, and the moments where your brain usually says 'loading…'.", imageSrc: "http://img.b2bpic.net/free-photo/young-trans-man-working-as-waiter_23-2149409808.jpg?_wi=2", imageAlt: "Practical english for real life situations"
title: "Useful English for real life", description: "Learn phrases for daily conversations, work, introductions, confidence-building, and the moments where your brain usually says 'loading…'.", imageSrc: "http://img.b2bpic.net/free-photo/young-trans-man-working-as-waiter_23-2149409808.jpg", imageAlt: "Practical english for real life situations"
},
{
id: 3,
title: "Simple explanations", description: "Tenses, sentence formation, and structure explained in a way that feels clear, practical, and beginner-friendly.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-friends-sitting-coffee-shop_23-2150183737.jpg?_wi=2", imageAlt: "Simple english grammar explanations"
title: "Simple explanations", description: "Tenses, sentence formation, and structure explained in a way that feels clear, practical, and beginner-friendly.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-friends-sitting-coffee-shop_23-2150183737.jpg", imageAlt: "Simple english grammar explanations"
},
{
id: 4,
title: "Examples that stick", description: "Every phrase comes with context and examples, so you know what to say, when to say it, and how not to panic-sweat.", imageSrc: "http://img.b2bpic.net/free-photo/people-registering-vote-united-states_23-2149096716.jpg?_wi=2", imageAlt: "English phrase examples with context"
title: "Examples that stick", description: "Every phrase comes with context and examples, so you know what to say, when to say it, and how not to panic-sweat.", imageSrc: "http://img.b2bpic.net/free-photo/people-registering-vote-united-states_23-2149096716.jpg", imageAlt: "English phrase examples with context"
},
{
id: 5,
title: "Confidence-first learning", description: "Designed for people who understand some English but hesitate to speak it out loud in front of others.", imageSrc: "http://img.b2bpic.net/free-photo/woman-director-attending-videocall-conference-with-advisory-board_482257-122596.jpg?_wi=2", imageAlt: "Confident english speaker"
title: "Confidence-first learning", description: "Designed for people who understand some English but hesitate to speak it out loud in front of others.", imageSrc: "http://img.b2bpic.net/free-photo/woman-director-attending-videocall-conference-with-advisory-board_482257-122596.jpg", imageAlt: "Confident english speaker"
},
{
id: 6,
title: "Built for everyday learners", description: "Whether you're learning for work, interviews, travel, or daily communication, the course keeps it practical and human.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-excited-friends_23-2148984739.jpg?_wi=2", imageAlt: "Diverse english learners success"
title: "Built for everyday learners", description: "Whether you're learning for work, interviews, travel, or daily communication, the course keeps it practical and human.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-excited-friends_23-2148984739.jpg", imageAlt: "Diverse english learners success"
}
]}
animationType="blur-reveal"
textboxLayout="default"
buttonAnimation="entrance-slide"
buttonAnimation="blur-reveal"
useInvertedBackground={false}
/>
</div>
@@ -117,15 +117,15 @@ export default function LandingPage() {
description="These reviews point to a clear pattern: people love the clarity, practical speaking exercises, examples, and the confidence boost they get from the course."
tag="Customer love"
tagIcon={Star}
tagAnimation="entrance-slide"
tagAnimation="blur-reveal"
textboxLayout="default"
useInvertedBackground={false}
testimonials={[
{
id: "1", name: "Sraboni Mukherjee", date: "Date: November 2024", title: "Daily communication felt easier", quote: "The lessons are simple, clear, and practical for daily communication. Daily speaking practice and phrase examples made learning feel useful right away.", tag: "Beginner Student", avatarSrc: "http://img.b2bpic.net/free-photo/portrait-young-woman-with-long-brown-hair-black-t-shirt-white-jacket_613910-8245.jpg", avatarAlt: "Sraboni Mukherjee", imageSrc: "http://img.b2bpic.net/free-photo/talk-briefing_1098-13504.jpg?_wi=1", imageAlt: "Sraboni speaking english confidently"
id: "1", name: "Sraboni Mukherjee", date: "Date: November 2024", title: "Daily communication felt easier", quote: "The lessons are simple, clear, and practical for daily communication. Daily speaking practice and phrase examples made learning feel useful right away.", tag: "Beginner Student", avatarSrc: "http://img.b2bpic.net/free-photo/portrait-young-woman-with-long-brown-hair-black-t-shirt-white-jacket_613910-8245.jpg", avatarAlt: "Sraboni Mukherjee", imageSrc: "http://img.b2bpic.net/free-photo/talk-briefing_1098-13504.jpg", imageAlt: "Sraboni speaking english confidently"
},
{
id: "2", name: "Rashmi Outsourcing", date: "Date: October 2024", title: "Confidence to actually speak", quote: "People often feel conscious while speaking English. With Supernova, it felt easier to learn tenses, sentence creation, and speaking correctly.", tag: "Working Professional", avatarSrc: "http://img.b2bpic.net/free-photo/closeup-confident-asian-man-with-arms-crossed_1262-884.jpg", avatarAlt: "Rashmi Outsourcing", imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-girl-reading-book-sitting-cafe_176420-5903.jpg?_wi=1", imageAlt: "Rashmi speaking english in meeting"
id: "2", name: "Rashmi Outsourcing", date: "Date: October 2024", title: "Confidence to actually speak", quote: "People often feel conscious while speaking English. With Supernova, it felt easier to learn tenses, sentence creation, and speaking correctly.", tag: "Working Professional", avatarSrc: "http://img.b2bpic.net/free-photo/closeup-confident-asian-man-with-arms-crossed_1262-884.jpg", avatarAlt: "Rashmi Outsourcing", imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-girl-reading-book-sitting-cafe_176420-5903.jpg", imageAlt: "Rashmi speaking english in meeting"
},
{
id: "3", name: "Priya Sharma", date: "Date: September 2024", title: "Best course for hesitant speakers", quote: "I was always nervous about speaking English in front of others. This course made me feel comfortable and confident. The mentors are incredibly supportive.", tag: "Intermediate Learner", avatarSrc: "http://img.b2bpic.net/free-photo/portrait-cheerful-smiling-woman-sweater-standing-with-arms-folded-isolated-gray-background_231208-7348.jpg", avatarAlt: "Priya Sharma", imageSrc: "http://img.b2bpic.net/free-photo/portrait-joyful-young-man-holding-empty-placard-standing-near-building_23-2148192480.jpg", imageAlt: "Priya celebrating learning achievement"
@@ -134,10 +134,10 @@ export default function LandingPage() {
id: "4", name: "Amit Kumar", date: "Date: August 2024", title: "Helped me crack my dream interview", quote: "Supernova's practical approach to spoken English helped me prepare for my interview. I felt confident during the actual conversation and got the job.", tag: "Career Growth", avatarSrc: "http://img.b2bpic.net/free-photo/happy-asian-man-touching-chin-looking-camera_1262-18237.jpg", avatarAlt: "Amit Kumar", imageSrc: "http://img.b2bpic.net/free-photo/happy-university-students-using-laptop-while-sitting-hallway_637285-9244.jpg", imageAlt: "Amit and team celebrating success"
},
{
id: "5", name: "Neha Patel", date: "Date: July 2024", title: "Finally speak English without overthinking", quote: "Running a business requires confident English communication. This course taught me how to think in English and speak without hesitation.", tag: "Business Owner", avatarSrc: "http://img.b2bpic.net/free-photo/portrait-young-woman-with-long-brown-hair-black-t-shirt-white-jacket_613910-8245.jpg", avatarAlt: "Neha Patel", imageSrc: "http://img.b2bpic.net/free-photo/talk-briefing_1098-13504.jpg?_wi=2", imageAlt: "Neha speaking english confidently"
id: "5", name: "Neha Patel", date: "Date: July 2024", title: "Finally speak English without overthinking", quote: "Running a business requires confident English communication. This course taught me how to think in English and speak without hesitation.", tag: "Business Owner", avatarSrc: "http://img.b2bpic.net/free-photo/portrait-young-woman-with-long-brown-hair-black-t-shirt-white-jacket_613910-8245.jpg", avatarAlt: "Neha Patel", imageSrc: "http://img.b2bpic.net/free-photo/talk-briefing_1098-13504.jpg", imageAlt: "Neha speaking english confidently"
},
{
id: "6", name: "Vikram Singh", date: "Date: June 2024", title: "Simple lessons, real results", quote: "I tried many courses but none of them focused on actual spoken practice. Supernova changed my perspective on learning English.", tag: "Committed Learner", avatarSrc: "http://img.b2bpic.net/free-photo/closeup-confident-asian-man-with-arms-crossed_1262-884.jpg", avatarAlt: "Vikram Singh", imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-girl-reading-book-sitting-cafe_176420-5903.jpg?_wi=2", imageAlt: "Vikram speaking english fluently"
id: "6", name: "Vikram Singh", date: "Date: June 2024", title: "Simple lessons, real results", quote: "I tried many courses but none of them focused on actual spoken practice. Supernova changed my perspective on learning English.", tag: "Committed Learner", avatarSrc: "http://img.b2bpic.net/free-photo/closeup-confident-asian-man-with-arms-crossed_1262-884.jpg", avatarAlt: "Vikram Singh", imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-girl-reading-book-sitting-cafe_176420-5903.jpg", imageAlt: "Vikram speaking english fluently"
}
]}
/>
@@ -149,7 +149,7 @@ export default function LandingPage() {
description="No dramatic transformation montage required. Just a practical learning loop that helps users build confidence steadily."
tag="How it works"
tagIcon={CheckCircle2}
tagAnimation="entrance-slide"
tagAnimation="blur-reveal"
textboxLayout="default"
useInvertedBackground={false}
metrics={[
@@ -206,7 +206,7 @@ export default function LandingPage() {
<ContactCenter
tag="Start Learning Today"
tagIcon={Sparkles}
tagAnimation="entrance-slide"
tagAnimation="blur-reveal"
title="Start speaking English with confidence. And fewer internal buffering moments."
description="Clear lessons, practical examples, daily speaking practice, and a learning experience people genuinely recommend to friends."
background={{ variant: "radial-gradient" }}

View File

@@ -1,51 +1,38 @@
"use client";
import { memo } from "react";
import useSvgTextLogo from "./useSvgTextLogo";
import { cls } from "@/lib/utils";
import React from 'react';
interface SvgTextLogoProps {
logoText: string;
adjustHeightFactor?: number;
verticalAlign?: "top" | "center";
text: string;
fontSize?: number;
fontWeight?: string;
fill?: string;
className?: string;
}
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
logoText,
adjustHeightFactor,
verticalAlign = "top",
className = "",
}) {
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
export const SvgTextLogo: React.FC<SvgTextLogoProps> = ({
text,
fontSize = 24,
fontWeight = 'bold',
fill = '#000000',
className = '',
}) => {
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 ${text.length * fontSize * 0.6} ${fontSize * 1.5}`}
className={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"
}}
y={fontSize}
fontSize={fontSize}
fontWeight={fontWeight}
fill={fill}
dominantBaseline="hanging"
>
{logoText}
{text}
</text>
</svg>
);
});
SvgTextLogo.displayName = "SvgTextLogo";
};
export default SvgTextLogo;