Merge version_1 into main #2

Merged
bender merged 3 commits from version_1 into main 2026-03-11 03:10:36 +00:00
3 changed files with 83 additions and 238 deletions

View File

@@ -19,8 +19,7 @@ export default function GeneratorPage() {
const footerColumns = [
{
title: "Product",
items: [
title: "Product", items: [
{ label: "Idea Generator", href: "/generator" },
{ label: "Creator Tools", href: "#tools" },
{ label: "Categories", href: "#categories" },
@@ -28,8 +27,7 @@ export default function GeneratorPage() {
],
},
{
title: "Resources",
items: [
title: "Resources", items: [
{ label: "Creator Tips Blog", href: "/blog" },
{ label: "Documentation", href: "#" },
{ label: "API Reference", href: "#" },
@@ -37,8 +35,7 @@ export default function GeneratorPage() {
],
},
{
title: "Company",
items: [
title: "Company", items: [
{ label: "About Us", href: "#" },
{ label: "Contact", href: "#" },
{ label: "Privacy Policy", href: "#" },
@@ -54,7 +51,7 @@ export default function GeneratorPage() {
borderRadius="soft"
contentWidth="mediumLarge"
sizing="medium"
background="noise"
background="circleGradient"
cardStyle="glass-elevated"
primaryButtonStyle="gradient"
secondaryButtonStyle="radial-glow"
@@ -64,9 +61,7 @@ export default function GeneratorPage() {
<NavbarStyleCentered
navItems={navItems}
button={{
text: "Start Creating",
href: "/generator",
}}
text: "Start Creating", href: "/generator"}}
brandName="ViralSpark"
/>
</div>
@@ -75,7 +70,7 @@ export default function GeneratorPage() {
<HeroLogoBillboardSplit
logoText="IDEA GENERATOR"
description="Unlock unlimited viral video concepts with AI-powered idea generation. Get personalized suggestions for your niche, optimize every element, and start creating content that trends. Powered by machine learning trained on millions of viral videos."
background={{ variant: "noise" }}
background={{ variant: "radial-gradient" }}
buttons={[
{ text: "Generate Now", href: "#" },
{ text: "View Examples", href: "#" },
@@ -93,42 +88,20 @@ export default function GeneratorPage() {
<PricingCardThree
plans={[
{
id: "title-gen",
price: "Free",
name: "Title Generator",
buttons: [{ text: "Start Generating", href: "#" }],
id: "title-gen", price: "Free", name: "Title Generator", buttons: [{ text: "Start Generating", href: "#" }],
features: [
"AI-powered title suggestions",
"SEO-optimized for discovery",
"Trending keyword analysis",
"Unlimited generation attempts",
],
"AI-powered title suggestions", "SEO-optimized for discovery", "Trending keyword analysis", "Unlimited generation attempts"],
},
{
id: "hook-gen",
badge: "Most Powerful",
badgeIcon: Sparkles,
price: "Free",
name: "Hook Generator",
buttons: [{ text: "Start Generating", href: "#" }],
id: "hook-gen", badge: "Most Powerful", badgeIcon: Sparkles,
price: "Free", name: "Hook Generator", buttons: [{ text: "Start Generating", href: "#" }],
features: [
"First 3-second hook formulas",
"Platform-specific optimization",
"Psychological engagement triggers",
"Real-time performance feedback",
],
"First 3-second hook formulas", "Platform-specific optimization", "Psychological engagement triggers", "Real-time performance feedback"],
},
{
id: "thumbnail-gen",
price: "Free",
name: "Thumbnail Text",
buttons: [{ text: "Start Generating", href: "#" }],
id: "thumbnail-gen", price: "Free", name: "Thumbnail Text", buttons: [{ text: "Start Generating", href: "#" }],
features: [
"Eye-catching text overlays",
"Font pairing suggestions",
"Color psychology matching",
"Live thumbnail preview",
],
"Eye-catching text overlays", "Font pairing suggestions", "Color psychology matching", "Live thumbnail preview"],
},
]}
title="AI-Powered Content Tools"

View File

@@ -23,8 +23,7 @@ export default function HomePage() {
const footerColumns = [
{
title: "Product",
items: [
title: "Product", items: [
{ label: "Idea Generator", href: "/generator" },
{ label: "Creator Tools", href: "#tools" },
{ label: "Categories", href: "#categories" },
@@ -32,8 +31,7 @@ export default function HomePage() {
],
},
{
title: "Resources",
items: [
title: "Resources", items: [
{ label: "Creator Tips Blog", href: "/blog" },
{ label: "Documentation", href: "#" },
{ label: "API Reference", href: "#" },
@@ -41,8 +39,7 @@ export default function HomePage() {
],
},
{
title: "Company",
items: [
title: "Company", items: [
{ label: "About Us", href: "#" },
{ label: "Contact", href: "#" },
{ label: "Privacy Policy", href: "#" },
@@ -58,7 +55,7 @@ export default function HomePage() {
borderRadius="soft"
contentWidth="mediumLarge"
sizing="medium"
background="noise"
background="circleGradient"
cardStyle="glass-elevated"
primaryButtonStyle="gradient"
secondaryButtonStyle="radial-glow"
@@ -68,9 +65,7 @@ export default function HomePage() {
<NavbarStyleCentered
navItems={navItems}
button={{
text: "Start Creating",
href: "/generator",
}}
text: "Start Creating", href: "/generator"}}
brandName="ViralSpark"
/>
</div>
@@ -79,13 +74,13 @@ export default function HomePage() {
<HeroLogoBillboardSplit
logoText="VIRALSPARK"
description="Never run out of viral ideas. Get instant YouTube Shorts, TikTok, and social media video concepts powered by AI. Generate hooks, titles, and thumbnail text in seconds."
background={{ variant: "noise" }}
background={{ variant: "radial-gradient" }}
buttons={[
{ text: "Generate Idea", href: "/generator" },
{ text: "Explore Categories", href: "#categories" },
]}
layoutOrder="default"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AmWlwff0FtmoItRzjz0krmLJ7e/a-sleek-futuristic-ai-dashboard-interfac-1773198527173-b6dc6974.png?_wi=1"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AmWlwff0FtmoItRzjz0krmLJ7e/a-sleek-futuristic-ai-dashboard-interfac-1773198527173-b6dc6974.png"
imageAlt="ViralSpark AI Dashboard"
frameStyle="browser"
buttonAnimation="slide-up"
@@ -97,63 +92,28 @@ export default function HomePage() {
<FeatureCardTwelve
features={[
{
id: "shorts",
label: "Shorts",
title: "YouTube Shorts Ideas",
items: [
"High-engagement hooks",
"30-60 second concepts",
"Viral optimization",
"Algorithm-friendly formats",
],
id: "shorts", label: "Shorts", title: "YouTube Shorts Ideas", items: [
"High-engagement hooks", "30-60 second concepts", "Viral optimization", "Algorithm-friendly formats"],
buttons: [{ text: "Explore", href: "#" }],
},
{
id: "gaming",
label: "Gaming",
title: "Gaming Content Concepts",
items: [
"Livestream highlights",
"Clip suggestions",
"Game-specific trends",
"Community engagement ideas",
],
id: "gaming", label: "Gaming", title: "Gaming Content Concepts", items: [
"Livestream highlights", "Clip suggestions", "Game-specific trends", "Community engagement ideas"],
buttons: [{ text: "Explore", href: "#" }],
},
{
id: "motivation",
label: "Motivation",
title: "Inspirational Content",
items: [
"Daily affirmations",
"Success stories",
"Personal development",
"Transformation narratives",
],
id: "motivation", label: "Motivation", title: "Inspirational Content", items: [
"Daily affirmations", "Success stories", "Personal development", "Transformation narratives"],
buttons: [{ text: "Explore", href: "#" }],
},
{
id: "football",
label: "Football",
title: "Sports Content Ideas",
items: [
"Match highlights",
"Player analysis",
"Fantasy insights",
"Trending moments",
],
id: "football", label: "Football", title: "Sports Content Ideas", items: [
"Match highlights", "Player analysis", "Fantasy insights", "Trending moments"],
buttons: [{ text: "Explore", href: "#" }],
},
{
id: "tech",
label: "AI & Tech",
title: "Technology Updates",
items: [
"AI breakthroughs",
"Tech reviews",
"Product launches",
"Future trends",
],
id: "tech", label: "AI & Tech", title: "Technology Updates", items: [
"AI breakthroughs", "Tech reviews", "Product launches", "Future trends"],
buttons: [{ text: "Explore", href: "#" }],
},
]}
@@ -170,29 +130,14 @@ export default function HomePage() {
<ProductCardOne
products={[
{
id: "1",
name: "Get Rich Quick Motivation",
price: "1.2M Views",
imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AmWlwff0FtmoItRzjz0krmLJ7e/a-viral-youtube-shorts-thumbnail-with-bo-1773198527032-bf6cee8d.png",
imageAlt: "Motivation video thumbnail",
},
id: "1", name: "Get Rich Quick Motivation", price: "1.2M Views", imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AmWlwff0FtmoItRzjz0krmLJ7e/a-viral-youtube-shorts-thumbnail-with-bo-1773198527032-bf6cee8d.png", imageAlt: "Motivation video thumbnail"},
{
id: "2",
name: "Gaming Rage Reaction",
price: "980K Views",
imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AmWlwff0FtmoItRzjz0krmLJ7e/a-gaming-related-viral-video-thumbnail-w-1773198526863-31ffa9db.png",
imageAlt: "Gaming content thumbnail",
},
id: "2", name: "Gaming Rage Reaction", price: "980K Views", imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AmWlwff0FtmoItRzjz0krmLJ7e/a-gaming-related-viral-video-thumbnail-w-1773198526863-31ffa9db.png", imageAlt: "Gaming content thumbnail"},
{
id: "3",
name: "AI Breakthrough Explained",
price: "750K Views",
imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AmWlwff0FtmoItRzjz0krmLJ7e/a-motivational-inspirational-video-thumb-1773198526708-d81e8189.png",
imageAlt: "Tech content thumbnail",
},
id: "3", name: "AI Breakthrough Explained", price: "750K Views", imageSrc:
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AmWlwff0FtmoItRzjz0krmLJ7e/a-motivational-inspirational-video-thumb-1773198526708-d81e8189.png", imageAlt: "Tech content thumbnail"},
]}
title="Trending Ideas"
description="See what's going viral this week across all platforms."
@@ -208,42 +153,20 @@ export default function HomePage() {
<PricingCardThree
plans={[
{
id: "title-gen",
price: "Free",
name: "Title Generator",
buttons: [{ text: "Try Now", href: "/generator" }],
id: "title-gen", price: "Free", name: "Title Generator", buttons: [{ text: "Try Now", href: "/generator" }],
features: [
"AI-powered suggestions",
"SEO optimization",
"Trend analysis",
"Unlimited generations",
],
"AI-powered suggestions", "SEO optimization", "Trend analysis", "Unlimited generations"],
},
{
id: "hook-gen",
badge: "Most Popular",
badgeIcon: Sparkles,
price: "Free",
name: "Hook Generator",
buttons: [{ text: "Try Now", href: "/generator" }],
id: "hook-gen", badge: "Most Popular", badgeIcon: Sparkles,
price: "Free", name: "Hook Generator", buttons: [{ text: "Try Now", href: "/generator" }],
features: [
"First 3-second hooks",
"Platform-specific",
"Psychology-based",
"Real-time feedback",
],
"First 3-second hooks", "Platform-specific", "Psychology-based", "Real-time feedback"],
},
{
id: "thumbnail-gen",
price: "Free",
name: "Thumbnail Text",
buttons: [{ text: "Try Now", href: "/generator" }],
id: "thumbnail-gen", price: "Free", name: "Thumbnail Text", buttons: [{ text: "Try Now", href: "/generator" }],
features: [
"Text overlay ideas",
"Font suggestions",
"Color matching",
"Preview generator",
],
"Text overlay ideas", "Font suggestions", "Color matching", "Preview generator"],
},
]}
title="Creator Tools"
@@ -259,65 +182,29 @@ export default function HomePage() {
<TestimonialCardThirteen
testimonials={[
{
id: "1",
name: "Alex Chen",
handle: "@alexcreates",
testimonial:
"ViralSpark saved me hours. I went from 10K to 100K subscribers in 3 months using their idea generator.",
rating: 5,
imageSrc: "/placeholders/placeholder1.webp?_wi=1",
imageAlt: "Alex Chen",
},
id: "1", name: "Alex Chen", handle: "@alexcreates", testimonial:
"ViralSpark saved me hours. I went from 10K to 100K subscribers in 3 months using their idea generator.", rating: 5,
imageSrc: "/placeholders/placeholder1.webp", imageAlt: "Alex Chen"},
{
id: "2",
name: "Maya Rodriguez",
handle: "@mayatech",
testimonial:
"The hook generator changed everything. My click-through rate jumped 40% after using these suggestions.",
rating: 5,
imageSrc: "/placeholders/placeholder1.webp?_wi=2",
imageAlt: "Maya Rodriguez",
},
id: "2", name: "Maya Rodriguez", handle: "@mayatech", testimonial:
"The hook generator changed everything. My click-through rate jumped 40% after using these suggestions.", rating: 5,
imageSrc: "/placeholders/placeholder1.webp", imageAlt: "Maya Rodriguez"},
{
id: "3",
name: "Jordan Kim",
handle: "@jordangames",
testimonial:
"Finally, a tool that understands gaming content. My stream thumbnails look 10x better now.",
rating: 5,
imageSrc: "/placeholders/placeholder1.webp?_wi=3",
imageAlt: "Jordan Kim",
},
id: "3", name: "Jordan Kim", handle: "@jordangames", testimonial:
"Finally, a tool that understands gaming content. My stream thumbnails look 10x better now.", rating: 5,
imageSrc: "/placeholders/placeholder1.webp", imageAlt: "Jordan Kim"},
{
id: "4",
name: "Taylor Swift",
handle: "@musiccreator",
testimonial:
"ViralSpark's AI predictions are insane. I'm now consistently hitting trending status with their ideas.",
rating: 5,
imageSrc: "/placeholders/placeholder1.webp?_wi=4",
imageAlt: "Taylor Swift",
},
id: "4", name: "Taylor Swift", handle: "@musiccreator", testimonial:
"ViralSpark's AI predictions are insane. I'm now consistently hitting trending status with their ideas.", rating: 5,
imageSrc: "/placeholders/placeholder1.webp", imageAlt: "Taylor Swift"},
{
id: "5",
name: "Marcus Johnson",
handle: "@motivatemarx",
testimonial:
"Best investment I made for my channel. The content suggestions are genuinely helpful.",
rating: 5,
imageSrc: "/placeholders/placeholder1.webp?_wi=5",
imageAlt: "Marcus Johnson",
},
id: "5", name: "Marcus Johnson", handle: "@motivatemarx", testimonial:
"Best investment I made for my channel. The content suggestions are genuinely helpful.", rating: 5,
imageSrc: "/placeholders/placeholder1.webp", imageAlt: "Marcus Johnson"},
{
id: "6",
name: "Sophie Chen",
handle: "@sophieinnovates",
testimonial:
"The AI tech behind ViralSpark is actually incredible. Worth every penny for serious creators.",
rating: 5,
imageSrc: "/placeholders/placeholder1.webp?_wi=6",
imageAlt: "Sophie Chen",
},
id: "6", name: "Sophie Chen", handle: "@sophieinnovates", testimonial:
"The AI tech behind ViralSpark is actually incredible. Worth every penny for serious creators.", rating: 5,
imageSrc: "/placeholders/placeholder1.webp", imageAlt: "Sophie Chen"},
]}
showRating={true}
animationType="slide-up"

View File

@@ -1,51 +1,36 @@
"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;
className?: string;
fontSize?: number;
fontWeight?: string | number;
dominantBaseline?: "auto" | "text-bottom" | "alphabetic" | "ideographic" | "middle" | "central" | "mathematical" | "hanging";
}
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
logoText,
adjustHeightFactor,
verticalAlign = "top",
className = "",
}) {
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
const SvgTextLogo: React.FC<SvgTextLogoProps> = ({
text,
className = "", fontSize = 48,
fontWeight = "bold", dominantBaseline = "middle"}) => {
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.2}`}
className={`w-full h-auto ${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="50%"
y="50%"
textAnchor="middle"
dominantBaseline={dominantBaseline}
fontSize={fontSize}
fontWeight={fontWeight}
fill="currentColor"
>
{logoText}
{text}
</text>
</svg>
);
});
};
SvgTextLogo.displayName = "SvgTextLogo";
export default SvgTextLogo;
export default SvgTextLogo;