164 lines
7.4 KiB
TypeScript
164 lines
7.4 KiB
TypeScript
'use client';
|
|
|
|
import { useState, useEffect } from 'react';
|
|
import Image from 'next/image';
|
|
import {
|
|
Globe, Layers, Zap, BarChart, CheckCircle2,
|
|
ArrowRight, MessageSquare, Heart
|
|
} from 'lucide-react';
|
|
import Pricing from '@/components/Pricing';
|
|
import FAQ from '@/components/FAQ';
|
|
import styles from './channels.module.css';
|
|
|
|
export default function ChannelsPage() {
|
|
const [currentSlide, setCurrentSlide] = useState(0);
|
|
|
|
const testimonials = [
|
|
{
|
|
quote: "SocialBuddy revolutionized how we handle our multi-channel strategy. It's simply brilliant.",
|
|
author: "Sarah Jenkins",
|
|
role: "Marketing Director, TechFlow"
|
|
},
|
|
{
|
|
quote: "The analytics across all channels provided insights we never had before. Highly recommended.",
|
|
author: "Mike Ross",
|
|
role: "CEO, Pearson Specter"
|
|
},
|
|
{
|
|
quote: "Managing 5 different platforms used to be a nightmare. Now it's our competitive advantage.",
|
|
author: "Jessica Pearson",
|
|
role: "Managing Partner, PSB"
|
|
}
|
|
];
|
|
|
|
useEffect(() => {
|
|
const timer = setInterval(() => {
|
|
setCurrentSlide((prev) => (prev + 1) % testimonials.length);
|
|
}, 5000);
|
|
return () => clearInterval(timer);
|
|
}, [testimonials.length]);
|
|
|
|
return (
|
|
<div className={styles.channelsPage}>
|
|
|
|
{/* 1. About/Intro Section (Ref Image 1: Left Image Frame, Right Content) */}
|
|
<section className={styles.introSection}>
|
|
<div className="container">
|
|
<div className={styles.introContainer}>
|
|
{/* Left Image with Frame */}
|
|
<div className={styles.introImageWrapper}>
|
|
<div className={styles.introFrame}></div>
|
|
<div className={styles.introImgContainer}>
|
|
<Image
|
|
src="/images/about/team-meeting.png"
|
|
alt="Channel Management"
|
|
width={450}
|
|
height={550}
|
|
className={styles.introImg}
|
|
/>
|
|
</div>
|
|
</div>
|
|
|
|
{/* Right Content */}
|
|
<div className={styles.introContent}>
|
|
<h2>Master Every Channel with <br /> Precision</h2>
|
|
<p>
|
|
Whether it's the professional network of LinkedIn, the visual appeal of Instagram, or the fast-paced world of Twitter, SocialBuddy optimizes your presence everywhere.
|
|
</p>
|
|
<p>
|
|
Our unified platform ensures your brand voice remains consistent while adapting to the unique nuances of each platform. Connect, engage, and grow without the chaos.
|
|
</p>
|
|
<button className={styles.learnMoreBtn}>Start Connecting</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
{/* 2. Process/Learning Section (Ref Image 2: Grid of 4 Icons) */}
|
|
<section className={styles.processSection}>
|
|
<div className="container">
|
|
<div className={styles.processHeader}>
|
|
<h2>Learning Your Channels</h2>
|
|
<p style={{ color: 'var(--text-secondary)' }}>
|
|
Understand the core pillars of effective multi-channel management.
|
|
</p>
|
|
</div>
|
|
|
|
<div className={styles.processGrid}>
|
|
<div className={styles.processCard}>
|
|
<div className={styles.processIcon}><Globe /></div>
|
|
<h3>Global Reach</h3>
|
|
<p>Expand your audience across borders with localized content strategies.</p>
|
|
</div>
|
|
<div className={styles.processCard}>
|
|
<div className={styles.processIcon}><Layers /></div>
|
|
<h3>Content Sync</h3>
|
|
<p>Seamlessly synchronize posts while customizing for each platform's format.</p>
|
|
</div>
|
|
<div className={styles.processCard}>
|
|
<div className={styles.processIcon}><Zap /></div>
|
|
<h3>Fast Execution</h3>
|
|
<p>Schedule and deploy campaigns in minutes, not hours.</p>
|
|
</div>
|
|
<div className={styles.processCard}>
|
|
<div className={styles.processIcon}><BarChart /></div>
|
|
<h3>Deep Analytics</h3>
|
|
<p>Get granular data on performance for every single channel.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
{/* 3. Testimonial Section (Left Slider, Right Image) */}
|
|
<section className={styles.testimonialSection}>
|
|
<div className="container">
|
|
<div className={styles.testimonialGrid}>
|
|
{/* Left Content Slider */}
|
|
<div className={styles.testimonialContent}>
|
|
{testimonials.map((t, index) => (
|
|
<div
|
|
key={index}
|
|
className={`${styles.testimonialSlide} ${index === currentSlide ? styles.active : ''}`}
|
|
>
|
|
<div className={styles.quoteIcon}>❝</div>
|
|
<p className={styles.quoteText}>{t.quote}</p>
|
|
<div className={styles.author}>
|
|
<h4>{t.author}</h4>
|
|
<p>{t.role}</p>
|
|
</div>
|
|
</div>
|
|
))}
|
|
|
|
{/* Dots */}
|
|
<div className={styles.dots}>
|
|
{testimonials.map((_, index) => (
|
|
<div
|
|
key={index}
|
|
className={`${styles.dot} ${index === currentSlide ? styles.active : ''}`}
|
|
onClick={() => setCurrentSlide(index)}
|
|
/>
|
|
))}
|
|
</div>
|
|
</div>
|
|
|
|
{/* Right Image */}
|
|
<div className={styles.testimonialImageWrapper}>
|
|
<Image
|
|
src="/hero-slide-3.png"
|
|
alt="Success Story"
|
|
width={500}
|
|
height={400}
|
|
className={styles.testimonialImg}
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
{/* Reused Components */}
|
|
<Pricing />
|
|
<FAQ />
|
|
</div>
|
|
);
|
|
}
|