import React, { useState, useEffect } from 'react'; import { Play, MonitorPlay, Clapperboard, Megaphone, CheckCircle2, ArrowRight, Instagram, Mail, Smartphone, ShieldCheck, Menu, X, Sparkles, Video, Layers, Zap, Cpu, Sun, Moon, Rocket, TrendingUp, Crown, Image as ImageIcon, Settings, Lock, LogOut, Save, Edit3, Plus, Trash2, BellRing } from 'lucide-react'; // Custom SVG Icons const AdobeIcon = ({ bg, text, label }) => ( {label} ); const CapCutIcon = () => ( ); const AIcon = () => ( ); // Initial Database State const initialData = { settings: { siteName: "SRI VISUAL", logoUrl: "/logo.png", announcementText: "NEW AGENCY LAUNCH OFFER 🔥", announcementActive: true, popupActive: false, popupTitle: "🔥 Launch Offer Extended!", popupText: "Due to high demand, we have extended our launch pricing for 7 more days. Book your package now before prices increase!", }, retainerPackages: { basic: { id: "basic", name: "Basic", desc: "Perfect for beginners & budget creators", colorText: "text-emerald-600 dark:text-emerald-400", colorBg: "bg-emerald-600", colorBorder: "border-emerald-500", features: ["Basic Editing", "Cuts & Transitions", "Simple Text", "Music Sync"], tiers: [ { name: 'Starter', reels: '6 REELS', old: '₹1,699', price: '₹1,169', per: '~₹195/reel', icon: 'Rocket' }, { name: 'Growth', reels: '12 REELS', old: '₹3,199', price: '₹2,279', per: '~₹190/reel', icon: 'TrendingUp' }, { name: 'Pro', reels: '20 REELS', old: '₹5,499', price: '₹3,699', per: '~₹185/reel', icon: 'Crown' } ] }, standard: { id: "standard", name: "Standard", desc: "Perfect for growing creators & businesses", colorText: "text-fuchsia-600 dark:text-fuchsia-400", colorBg: "bg-fuchsia-600", colorBorder: "border-fuchsia-500", features: ["Everything in Basic", "Advanced Transitions", "Styled Subtitles", "Sound Effects", "Better Engagement Editing"], tiers: [ { name: 'Starter', reels: '6 REELS', old: '₹2,850', price: '₹1,999', per: '~₹333/reel', icon: 'Rocket' }, { name: 'Growth', reels: '12 REELS', old: '₹5,499', price: '₹3,899', per: '~₹325/reel', icon: 'TrendingUp', popular: true }, { name: 'Pro', reels: '20 REELS', old: '₹8,499', price: '₹6,199', per: '~₹310/reel', icon: 'Crown' } ] }, premium: { id: "premium", name: "Premium", desc: "High-end editing for serious creators & brands", colorText: "text-cyan-600 dark:text-cyan-400", colorBg: "bg-cyan-600", colorBorder: "border-cyan-500", features: ["Everything in Standard", "Cinematic editing", "Advanced color grading", "Hook-based viral editing", "AI Thumbnails", "Smart beat sync"], tiers: [ { name: 'Starter', reels: '6 REELS', old: '₹4,499', price: '₹2,799', per: '~₹465/reel', icon: 'Rocket' }, { name: 'Growth', reels: '12 REELS', old: '₹8,499', price: '₹5,199', per: '~₹433/reel', icon: 'TrendingUp' }, { name: 'Pro', reels: '20 REELS', old: '₹13,499', price: '₹7,999', per: '~₹400/reel', icon: 'Crown', popular: true } ] } } }; const IconMap = { Rocket: Rocket, TrendingUp: TrendingUp, Crown: Crown, Zap: Zap, Star: Sparkles }; export default function AgencyWebsite() { // Global State const [currentPage, setCurrentPage] = useState('home'); const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); const [theme, setTheme] = useState('dark'); const [pricingTab, setPricingTab] = useState('standard'); const [popupDismissed, setPopupDismissed] = useState(false); // Database State const [db, setDb] = useState(initialData); // Admin State const [isAdminAuth, setIsAdminAuth] = useState(false); const [loginUsername, setLoginUsername] = useState(''); const [loginPassword, setLoginPassword] = useState(''); const [loginError, setLoginError] = useState(''); const [adminTab, setAdminTab] = useState('settings'); const [saveMessage, setSaveMessage] = useState(''); // Scroll to top when page changes useEffect(() => { window.scrollTo({ top: 0, behavior: 'smooth' }); }, [currentPage]); // Ensure selected pricing tab exists, fallback to first available useEffect(() => { if (!db.retainerPackages[pricingTab]) { const availableKeys = Object.keys(db.retainerPackages); if (availableKeys.length > 0) { setPricingTab(availableKeys[0]); } } }, [db.retainerPackages, pricingTab]); const navigateTo = (page) => { setCurrentPage(page); setIsMobileMenuOpen(false); }; const toggleTheme = () => { setTheme(prev => prev === 'dark' ? 'light' : 'dark'); }; const handleAdminLogin = (e) => { e.preventDefault(); if (loginUsername === 'admin' && loginPassword === 'admin123') { setIsAdminAuth(true); setLoginUsername(''); setLoginPassword(''); setLoginError(''); } else { setLoginError("Invalid username or password."); } }; const handleAdminLogout = () => { setIsAdminAuth(false); setCurrentPage('home'); }; const showSaveMessage = () => { setSaveMessage('Changes Saved Successfully!'); setTimeout(() => setSaveMessage(''), 3000); }; const handleAddCategory = () => { const newId = `cat_${Date.now()}`; setDb(prev => ({ ...prev, retainerPackages: { ...prev.retainerPackages, [newId]: { id: newId, name: "New Category", desc: "Description of the new category", colorText: "text-blue-500", colorBg: "bg-blue-600", colorBorder: "border-blue-500", features: ["Feature 1", "Feature 2"], tiers: [ { name: 'Starter', reels: '0 REELS', old: '₹0', price: '₹0', per: '~₹0/reel', icon: 'Rocket' } ] } } })); showSaveMessage(); }; const handleDeleteCategory = (pkgKey) => { if (Object.keys(db.retainerPackages).length <= 1) { alert("You must have at least one category."); return; } if (confirm("Are you sure you want to delete this entire category?")) { setDb(prev => { const newPackages = { ...prev.retainerPackages }; delete newPackages[pkgKey]; return { ...prev, retainerPackages: newPackages }; }); showSaveMessage(); } }; const handleAddTier = (pkgKey) => { setDb(prev => { const newPkg = { ...prev.retainerPackages[pkgKey] }; newPkg.tiers = [ ...newPkg.tiers, { name: 'New Plan', reels: '0 REELS', old: '₹0', price: '₹0', per: '~₹0/unit', icon: 'Zap' } ]; return { ...prev, retainerPackages: { ...prev.retainerPackages, [pkgKey]: newPkg } }; }); showSaveMessage(); }; const handleDeleteTier = (pkgKey, tIdx) => { setDb(prev => { const newPkg = { ...prev.retainerPackages[pkgKey] }; newPkg.tiers = newPkg.tiers.filter((_, idx) => idx !== tIdx); return { ...prev, retainerPackages: { ...prev.retainerPackages, [pkgKey]: newPkg } }; }); showSaveMessage(); }; const NavLinks = () => ( <> {['home', 'services', 'portfolio', 'pricing'].map((page) => ( ))} {isAdminAuth && ( )} ); // === ADMIN PANEL COMPONENT === const AdminDashboard = () => { if (!isAdminAuth) { return (

Admin Portal

setLoginUsername(e.target.value)} className="w-full bg-slate-50 dark:bg-slate-950 border border-slate-200 dark:border-white/10 rounded-xl px-4 py-3 text-slate-900 dark:text-white focus:outline-none focus:border-fuchsia-500 transition-colors" placeholder="Enter admin username" required />
setLoginPassword(e.target.value)} className="w-full bg-slate-50 dark:bg-slate-950 border border-slate-200 dark:border-white/10 rounded-xl px-4 py-3 text-slate-900 dark:text-white focus:outline-none focus:border-fuchsia-500 transition-colors" placeholder="Enter admin password" required />
{loginError && (
{loginError}
)}
); } return (

Agency Dashboard

Manage your brand, content, offers, and pricing instantly.

{/* Sidebar */}
{/* Content Area */}
{saveMessage && (
{saveMessage}
)} {/* Settings Tab */} {adminTab === 'settings' && (

Brand & Settings

{/* Brand Section */}

Brand Identity

setDb({...db, settings: {...db.settings, siteName: e.target.value}})} className="w-full bg-slate-50 dark:bg-slate-950 border border-slate-200 dark:border-white/10 rounded-xl px-4 py-3 text-slate-900 dark:text-white focus:outline-none focus:border-fuchsia-500" />
setDb({...db, settings: {...db.settings, logoUrl: e.target.value}})} className="w-full bg-slate-50 dark:bg-slate-950 border border-slate-200 dark:border-white/10 rounded-xl px-4 py-3 text-slate-900 dark:text-white focus:outline-none focus:border-fuchsia-500" />
{/* Top Banner Section */}

Top Banner

Enable Top Banner
setDb({...db, settings: {...db.settings, announcementText: e.target.value}})} className="w-full bg-slate-50 dark:bg-slate-950 border border-slate-200 dark:border-white/10 rounded-xl px-4 py-3 text-slate-900 dark:text-white focus:outline-none focus:border-fuchsia-500" />
{/* Popup Modal Section */}

Global Popup Announcement

Enable Popup Modal on Website Load
setDb({...db, settings: {...db.settings, popupTitle: e.target.value}})} className="w-full bg-slate-50 dark:bg-slate-950 border border-slate-200 dark:border-white/10 rounded-xl px-4 py-3 text-slate-900 dark:text-white focus:outline-none focus:border-fuchsia-500" />
)} {/* Packages Tab */} {adminTab === 'packages' && (

Package Categories & Plans

{Object.keys(db.retainerPackages).map((pkgKey) => { const pkg = db.retainerPackages[pkgKey]; return (
{/* Category Header Editor */}
setDb(prev => ({...prev, retainerPackages: {...prev.retainerPackages, [pkgKey]: {...pkg, name: e.target.value}}}))} className="text-xl font-bold bg-transparent border-b border-slate-300 dark:border-slate-700 text-slate-900 dark:text-white focus:outline-none focus:border-fuchsia-500 w-full max-w-xs" placeholder="Category Name (e.g. Reels Plan)" />
setDb(prev => ({...prev, retainerPackages: {...prev.retainerPackages, [pkgKey]: {...pkg, desc: e.target.value}}}))} className="text-sm text-slate-500 dark:text-slate-400 bg-transparent border-b border-slate-300 dark:border-slate-700 focus:outline-none focus:border-fuchsia-500 w-full" placeholder="Category Description" />
{/* Category Tiers */}
{pkg.tiers.map((tier, tIdx) => (
{ const newDb = {...db}; newDb.retainerPackages[pkgKey].tiers[tIdx].name = e.target.value; setDb(newDb); }} className="w-full bg-slate-50 dark:bg-slate-950 border border-slate-200 dark:border-white/10 rounded-lg px-3 py-2 text-sm font-bold text-slate-900 dark:text-white focus:outline-none focus:border-fuchsia-500" />
{ const newDb = {...db}; newDb.retainerPackages[pkgKey].tiers[tIdx].reels = e.target.value; setDb(newDb); }} className="w-full bg-slate-50 dark:bg-slate-950 border border-slate-200 dark:border-white/10 rounded-lg px-3 py-2 text-sm text-slate-900 dark:text-white focus:outline-none focus:border-fuchsia-500" />
{ const newDb = {...db}; newDb.retainerPackages[pkgKey].tiers[tIdx].old = e.target.value; setDb(newDb); }} className="w-full bg-slate-50 dark:bg-slate-950 border border-slate-200 dark:border-white/10 rounded-lg px-3 py-2 text-sm text-slate-900 dark:text-white focus:outline-none focus:border-fuchsia-500" />
{ const newDb = {...db}; newDb.retainerPackages[pkgKey].tiers[tIdx].price = e.target.value; setDb(newDb); }} className="w-full bg-slate-50 dark:bg-slate-950 border border-slate-200 dark:border-white/10 rounded-lg px-3 py-2 text-sm font-bold text-slate-900 dark:text-white focus:outline-none focus:border-fuchsia-500" />
{ const newDb = {...db}; newDb.retainerPackages[pkgKey].tiers[tIdx].per = e.target.value; setDb(newDb); }} className="w-full bg-slate-50 dark:bg-slate-950 border border-slate-200 dark:border-white/10 rounded-lg px-3 py-2 text-sm text-slate-900 dark:text-white focus:outline-none focus:border-fuchsia-500" />
{ const newDb = {...db}; newDb.retainerPackages[pkgKey].tiers[tIdx].popular = e.target.checked; setDb(newDb); }} className="rounded border-slate-300 text-fuchsia-500 focus:ring-fuchsia-500" />
))} {/* Add Tier Button */}
) })}
)}
); }; return (
{/* Global Popup Announcement */} {db.settings.popupActive && !popupDismissed && !isAdminAuth && (

{db.settings.popupTitle}

{db.settings.popupText}

)} {/* Ambient Colorful Background Glows */}
{/* Navigation */} {/* Main Content Area */}
{currentPage === 'admin' ? ( ) : ( <> {/* === HOME PAGE === */} {currentPage === 'home' && ( <>
{db.settings.announcementActive && (
{db.settings.announcementText}
)}

We Edit Videos That
Go Viral

Capture • Create • Inspire

Transforming raw footage into cinematic masterpieces. Get high-retention edits, advanced color grading, and viral hooks for the lowest price guaranteed.

100%

Satisfaction

24h

Fast Delivery

PRO

Premium Quality

{/* Dynamic Floating Editor Dashboard */}
{db.settings.siteName} { e.target.onerror = null; e.target.src = "https://images.unsplash.com/photo-1574717024653-61fd2cf4d44d?q=80&w=1600&auto=format&fit=crop"; e.target.className = "w-full h-full object-cover opacity-90 dark:opacity-80 animate-[slowZoom_20s_ease-in-out_infinite_alternate]"; }} />
{/* Floating Card 1: Retention Rate */}

Retention Rate

+340%

{/* Floating Card 2: Quality Badge */}
4K

Premium
Export

{/* Main Rendering Card (Bottom) */}

Adobe Premiere Pro

Rendering Final Cut... 84%

{/* === SOFTWARE STACK SECTION === */}

Powered By Industry-Leading Tools

{[ { name: 'Premiere Pro', Component: () => }, { name: 'After Effects', Component: () => }, { name: 'Photoshop', Component: () => }, { name: 'CapCut', Component: CapCutIcon }, { name: 'AI Generation', Component: AIcon } ].map((tool, idx) => (
{tool.name}
))}
)} {/* === SERVICES PAGE === */} {currentPage === 'services' && (

Our Capabilities

End-to-end post-production engineered to capture attention, hold retention, and drive massive engagement.

{[ { icon: Smartphone, color: 'text-pink-500 dark:text-pink-400', bg: 'bg-pink-100 dark:bg-pink-400/10', title: 'Reel Editing', desc: 'Short-form, high-retention edits optimized for Instagram & TikTok.' }, { icon: MonitorPlay, color: 'text-cyan-600 dark:text-cyan-400', bg: 'bg-cyan-100 dark:bg-cyan-400/10', title: 'YouTube Videos', desc: 'Professional long-form cuts with dynamic pacing and viewer strategies.' }, { icon: Layers, color: 'text-violet-600 dark:text-violet-400', bg: 'bg-violet-100 dark:bg-violet-400/10', title: 'Motion Graphics', desc: 'Custom kinetic typography, VFX, and cinematic brand animations.' }, { icon: Zap, color: 'text-amber-500 dark:text-amber-400', bg: 'bg-amber-100 dark:bg-amber-400/10', title: 'Brand Adverts', desc: 'High-converting promotional material designed for paid media.' } ].map((service, index) => (

{service.title}

{service.desc}

))}
{db.settings.announcementActive && (
{db.settings.announcementText}
)}

Individual Services

Special pricing! Best quality at the lowest price.

Reels Editing

Basic
₹300 ₹199 / reel
Standard
₹500 ₹349 / reel
Premium
₹800 ₹499 / reel

YouTube Editing

Basic
₹800 ₹499 / video
Standard
₹1200 ₹799 / video
Advanced
₹2000 ₹1,299 / video
)} {/* === PORTFOLIO PAGE === */} {currentPage === 'portfolio' && (

Our Premium Work

A curated gallery of our recent cinematic edits, motion graphics, and viral social media campaigns.

{[ { id: 1, title: 'Tech Review Series', category: 'YouTube Edit', color: 'from-cyan-500', img: 'https://images.unsplash.com/photo-1611162617474-5b21e879e113?q=80&w=800&auto=format&fit=crop' }, { id: 2, title: 'Fitness Apparel Ad', category: 'Commercial', color: 'from-fuchsia-500', img: 'https://images.unsplash.com/photo-1526506114869-c646fa01c349?q=80&w=800&auto=format&fit=crop' }, { id: 3, title: 'Lifestyle Vlogs', category: 'Social Media', color: 'from-violet-500', img: 'https://images.unsplash.com/photo-1616423640778-28d1b53229bd?q=80&w=800&auto=format&fit=crop' }, { id: 4, title: 'Music Video Cut', category: 'Cinematic', color: 'from-pink-500', img: 'https://images.unsplash.com/photo-1598488035139-bdbb2231ce04?q=80&w=800&auto=format&fit=crop' }, { id: 5, title: 'Podcast Highlights', category: 'Shorts/Reels', color: 'from-amber-500', img: 'https://images.unsplash.com/photo-1590602847861-f357a9332bbc?q=80&w=800&auto=format&fit=crop' }, { id: 6, title: 'Real Estate Tour', category: 'Promo Video', color: 'from-emerald-500', img: 'https://images.unsplash.com/photo-1512917774080-9991f1c4c750?q=80&w=800&auto=format&fit=crop' } ].map((work) => (
{work.title}
{work.category}

{work.title}

))}
)} {/* === PRICING PAGE (WITH DYNAMIC DATA) === */} {currentPage === 'pricing' && (
{db.settings.announcementActive && (
{db.settings.announcementText}
)}

Package Plans

Structured monthly deliverables for consistent growth. Pick a tier that fits your needs.

{/* Package Tabs */}
{Object.keys(db.retainerPackages).map(tab => ( ))}

{db.retainerPackages[pricingTab]?.name} Package

{db.retainerPackages[pricingTab]?.desc}

{/* Cards for selected package using dynamic DB state */}
{db.retainerPackages[pricingTab]?.tiers.map((plan, index) => { const IconComponent = IconMap[plan.icon] || Rocket; return (
{plan.popular && (
Best Value
)}

{plan.name}

{plan.reels}

{plan.old}
{plan.price} / mo
{plan.per}
    {db.retainerPackages[pricingTab].features.map((feature, idx) => (
  • {feature}
  • ))}
) })}
{/* Payment Widget */}
100% Secure Transaction

Instant UPI Payment

Scan the QR or copy the VPA to start your project immediately. We support all major Indian payment apps.

UPI ID (VPA)

srivisual@slc

Supported Apps: GPay PhonePe Paytm
Scan with
Any App
)} )}
{/* Footer */}
SV { e.target.onerror = null; e.target.src = "https://via.placeholder.com/150/000000/FFFFFF?text=SV"; }} /> {db.settings.siteName}

A premium post-production agency dedicated to scaling brands and creators through high-retention, cinematic visual content.

Navigation

Legal

© {new Date().getFullYear()} {db.settings.siteName}. All rights reserved.

Crafted with ♥ for Creators

{/* Global CSS for custom animations */}