import React, { useState, useEffect, useRef } from 'react'; import { Menu, X, ChevronRight, Map, Cpu, Zap, Radio, Search, Thermometer, Box, Cloud, Globe, Camera, Activity, ShieldCheck, Mail, Phone, MapPin, Plane, Hexagon, Sparkles, Loader2, Bot, Layers, MousePointer2 } from 'lucide-react'; // --- GEMINI API UTILS --- const callGeminiAPI = async (prompt, systemInstruction = "") => { const apiKey = ""; const url = `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-09-2025:generateContent?key=${apiKey}`; const payload = { contents: [{ parts: [{ text: prompt }] }], }; if (systemInstruction) { payload.systemInstruction = { parts: [{ text: systemInstruction }] }; } for (let attempt = 0; attempt < 5; attempt++) { try { const response = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }); if (!response.ok) throw new Error(`API Error: ${response.status}`); const data = await response.json(); return data.candidates?.[0]?.content?.parts?.[0]?.text || "No response generated."; } catch (error) { if (attempt === 4) { console.error("Gemini API Error:", error); return "Sorry, the AI service is currently unavailable. Please try again later."; } await new Promise(r => setTimeout(r, Math.pow(2, attempt) * 1000)); } } }; // --- SEO & META UTILS --- const updateSEO = (title, description) => { document.title = title; let metaDesc = document.querySelector('meta[name="description"]'); if (!metaDesc) { metaDesc = document.createElement('meta'); metaDesc.name = "description"; document.head.appendChild(metaDesc); } metaDesc.content = description; }; // --- ANIMATION COMPONENTS --- const AnimatedSection = ({ children, className = "", delay = 0, direction = 'up' }) => { const [isVisible, setIsVisible] = useState(false); const ref = useRef(null); useEffect(() => { const observer = new IntersectionObserver( ([entry]) => { if (entry.isIntersecting) { setIsVisible(true); observer.unobserve(entry.target); } }, { threshold: 0.15 } ); if (ref.current) observer.observe(ref.current); return () => observer.disconnect(); }, []); const getTransform = () => { if (isVisible) return 'translate-y-0 translate-x-0 scale-100'; switch (direction) { case 'up': return 'translate-y-16 scale-95'; case 'down': return '-translate-y-16 scale-95'; case 'left': return 'translate-x-16 scale-95'; case 'right': return '-translate-x-16 scale-95'; default: return 'translate-y-16 scale-95'; } }; return (
{children}
); }; // --- DATA --- const capabilities = [ { icon: Radio, title: "Aerial LiDAR", desc: "High density point clouds for precise terrain modeling, even through dense vegetation." }, { icon: Scan, title: "SLAM Scanner Tech", desc: "Simultaneous Localisation & Mapping for rapid 3D modeling of complex indoor & GPS denied environments." }, { icon: Search, title: "Aerial Inspections", desc: "Detailed and safe visual inspections of critical infrastructure and hard-to-reach assets." }, { icon: Thermometer, title: "Thermal Imaging", desc: "Advanced thermal imaging & fault detection for energy and industrial sectors." }, { icon: Map, title: "Mapping & Surveying", desc: "High-precision mapping and topographical surveys delivering centimeter-level accuracy." }, { icon: Box, title: "3D Rendering & Twins", desc: "Highly accurate 3D rendering and interactive digital twins of your physical assets." }, { icon: Cpu, title: "Data Analytics (Ai)", desc: "Intelligent data processing and AI analytics turning raw data into actionable insights." }, { icon: Cloud, title: "Cloud Hosting", desc: "Secure cloud-based data hosting ensuring your sensitive project information is protected." }, { icon: Globe, title: "Client Platforms", desc: "Seamless browser-based client access platforms for viewing and interacting with data." }, { icon: Camera, title: "Photography & Video", desc: "Stunning high-resolution aerial photography and videography for commercial use." }, { icon: Activity, title: "Industrial Monitoring", desc: "Continuous industrial and infrastructure monitoring to support predictive maintenance." }, { icon: ShieldCheck, title: "Compliant UAV Services", desc: "Fully compliant, safe, and legally operated UAV / RPAS services by certified professionals." }, ]; // Helper icon component for SLAM since Scan is not standard in this lucide set import function Scan(props) { return ; } // --- INTERACTIVE DATA SCANNER --- const DataLayerScanner = () => { const [mousePos, setMousePos] = useState({ x: 0, y: 0 }); const [isHovering, setIsHovering] = useState(false); const [lensType, setLensType] = useState('lidar'); const containerRef = useRef(null); const handleMouseMove = (e) => { if (!containerRef.current) return; const rect = containerRef.current.getBoundingClientRect(); setMousePos({ x: e.clientX - rect.left, y: e.clientY - rect.top }); }; // Procedural CSS styles to represent different topographical data layers const layerStyles = { ortho: { backgroundColor: '#1f2937', backgroundImage: ` radial-gradient(ellipse at 20% 30%, #3f6212 0%, transparent 60%), radial-gradient(ellipse at 80% 80%, #14532d 0%, transparent 60%), radial-gradient(circle at 50% 50%, #422006 0%, transparent 50%), linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px) `, backgroundSize: '100% 100%, 100% 100%, 100% 100%, 40px 40px, 40px 40px' }, dsm: { backgroundColor: '#020617', backgroundImage: ` radial-gradient(ellipse at 30% 40%, #ef4444 0%, #eab308 15%, #10b981 35%, #06b6d4 60%, #1e3a8a 100%), radial-gradient(ellipse at 80% 70%, #f97316 0%, #eab308 20%, #10b981 40%, transparent 70%) `, backgroundBlendMode: 'screen', opacity: 0.95 }, contour: { backgroundColor: '#0f172a', backgroundImage: ` repeating-radial-gradient(circle at 30% 40%, transparent 0, transparent 24px, rgba(6, 182, 212, 0.4) 25px, transparent 26px), repeating-radial-gradient(circle at 80% 70%, transparent 0, transparent 34px, rgba(59, 130, 246, 0.3) 35px, transparent 36px), linear-gradient(rgba(6,182,212,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(6,182,212,0.05) 1px, transparent 1px) `, backgroundSize: '100% 100%, 100% 100%, 50px 50px, 50px 50px' }, lidar: { backgroundColor: '#020617', backgroundImage: ` radial-gradient(circle at 50% 50%, #06b6d4 1px, transparent 1.5px), radial-gradient(circle at 20% 80%, #3b82f6 1px, transparent 1.5px), radial-gradient(circle at 80% 20%, #2dd4bf 1px, transparent 1.5px), radial-gradient(circle at 40% 40%, #0ea5e9 0.5px, transparent 1px), radial-gradient(circle at 70% 60%, #38bdf8 0.5px, transparent 1px), radial-gradient(circle at 10% 30%, #818cf8 1px, transparent 1.5px), radial-gradient(circle at 90% 70%, #22d3ee 0.5px, transparent 1px) `, backgroundSize: '8px 8px, 13px 13px, 11px 11px, 6px 6px, 9px 9px, 15px 15px, 5px 5px', backgroundPosition: '0 0, 3px 4px, 5px 2px, 1px 4px, 6px 5px, 4px 7px, 2px 1px', } }; return (
{/* Scanner Header */}

Interactive Data Viewer

{/* Layer Selection Toggles */}
{[ { id: 'lidar', label: 'LiDAR' }, { id: 'dsm', label: 'DSM' }, { id: 'contour', label: 'Contours' } ].map(layer => ( ))}
{/* Interactive Canvas Area */}
setIsHovering(true)} onMouseLeave={() => setIsHovering(false)} className="relative h-[400px] w-full cursor-none overflow-hidden" > {/* Base Layer: Orthomosaic */}
{/* Lens Layer: Revealed by Clip Path */}
{/* Custom Target Cursor / Crosshair */}
{/* Inner Dot */}
{/* Target Ticks */}
{/* Telemetry Readout */}
SCAN: {lensType.toUpperCase()}
LAT: {(mousePos.x * 0.0142).toFixed(4)}°
LON: {(mousePos.y * 0.0142).toFixed(4)}°
ALT: {lensType === 'dsm' ? (120 + (mousePos.x * 0.1)).toFixed(1) + 'm' : '---'}
{/* Instructions Overlay (Disappears on hover) */}
Move cursor to scan environment
); }; // --- AI COMPONENTS --- const AiInsightsGenerator = () => { const [industry, setIndustry] = useState(''); const [insights, setInsights] = useState(''); const [loading, setLoading] = useState(false); const handleGenerate = async () => { if (!industry.trim()) return; setLoading(true); const prompt = `Generate a short, impressive 2-paragraph pitch on how Skypxl's drone services (LiDAR, SLAM, Thermal, mapping, 3D digital twins) can revolutionize the following industry or project type: "${industry}". Focus on ROI, safety, and actionable insights. Format any specific service mentions using bullet points.`; const sysInstruct = "You are an expert consultant for Skypxl - Aerial Intelligence. Be concise, professional, and highly persuasive."; const response = await callGeminiAPI(prompt, sysInstruct); setInsights(response); setLoading(false); }; return (
setIndustry(e.target.value)} placeholder="E.g. Offshore Wind Farms, Urban Construction, Agriculture..." className="flex-grow px-4 py-4 rounded-xl bg-slate-900 border border-slate-600 focus:ring-2 focus:ring-cyan-500 focus:border-cyan-500 outline-none transition-all text-white placeholder-slate-400" />
{insights && (
').replace(/\*\*(.*?)\*\*/g, '$1')}} />
)}
); }; // --- PAGES --- const Home = ({ setPage }) => { useEffect(() => { updateSEO( "Skypxl - Aerial Intelligence | Advanced Drone Operations", "Skypxl provides safe, efficient, and highly accurate drone solutions including LiDAR, SLAM, 3D modelling, and thermal imaging for modern industry." ); }, []); return (
{/* HERO SECTION */}
{/* Animated Background Elements */}
{/* Mock Grid Background */}
{/* Animated Glow */}
TRANSFORMING MODERN INDUSTRY

Data From The Sky.
Actionable Intelligence.

We believe drone technology is transforming the way industries operate, inspect, monitor, and make decisions. Gain access to critical information faster and smarter.

{/* INTRODUCTION SECTION */}

Advanced Drone Operations

Our advanced drone operations provide safe, efficient, and highly accurate solutions across a wide range of applications. We help clients gain access to critical information faster, smarter, and more cost-effectively than traditional methods.

From aerial LiDAR, photogrammetric inspections and thermal imaging to high-precision mapping, 3D modelling, and data processing, our services are designed to deliver real value across industrial, engineering, mining, infrastructure, energy, agricultural, and commercial sectors.

    {['Improve planning', 'Monitor assets', 'Reduce downtime', 'Enhance safety', 'Predictive maintenance'].map((item, i) => (
  • {item}
  • ))}
DJI M400 Drone in flight with payloads {/* Decorative elements */}

Capturing high-quality aerial data for actionable insights and interactive digital models.

{/* INTERACTIVE DATA VISUALIZATION SECTION */}

From Raw Data to Intelligence

Experience how we capture and process the physical world. Hover over the orthomosaic map below to reveal the rich, actionable data sets underneath.

{/* CAPABILITIES SECTION */}

Our Capabilities

Using modern UAV platforms and advanced sensor technologies, we transform raw data into intelligent, future-focused solutions.

{capabilities.map((cap, index) => (

{cap.title}

{cap.desc}

))}
{/* AI INSIGHTS SECTION */}
{/* Animated Glow Elements */}

✨ AI Industry Insights

Not sure how drone tech applies to your specific sector? Tell our Gemini AI about your industry or project type, and we'll generate a custom use-case breakdown.

{/* COMMITMENT CTA SECTION */}

Combining safety, innovation, compliance, and operational excellence.

Whether it’s capturing data from the sky, processing complex datasets, or providing clients with seamless digital access, we deliver actionable outcome solutions that are efficient, intelligent, and future-focused.

); }; const Contact = () => { const [message, setMessage] = useState(''); const [isAiLoading, setIsAiLoading] = useState(false); useEffect(() => { updateSEO( "Contact Skypxl - Aerial Intelligence", "Get in touch with Skypxl for innovative aerial solutions, drone inspections, and advanced 3D modeling." ); window.scrollTo(0, 0); }, []); const enhanceMessage = async () => { if (!message.trim()) return; setIsAiLoading(true); const prompt = `The user is writing an inquiry to Skypxl (a drone/aerial intelligence company). Please expand and professionalize this draft message. Identify which services (LiDAR, SLAM, Mapping, Thermal, etc.) might be relevant based on their draft. Draft:\n"${message}"`; const sysInstruct = "You are an AI assistant helping a user write a professional project scope and inquiry. Output ONLY the improved message text, ready to be sent."; const response = await callGeminiAPI(prompt, sysInstruct); setMessage(response); setIsAiLoading(false); }; return (

Contact Skypxl

Ready to elevate your operations? Reach out to our team to discuss your project requirements and discover how our aerial intelligence solutions can add value.

{/* Contact Info Cards */} {/* Contact Form */}

Send us a message

e.preventDefault()}>
); }; // --- LAYOUT COMPONENTS --- const Navbar = ({ setPage, currentPage }) => { const [isScrolled, setIsScrolled] = useState(false); const [mobileMenuOpen, setMobileMenuOpen] = useState(false); useEffect(() => { const handleScroll = () => { setIsScrolled(window.scrollY > 20); }; window.addEventListener('scroll', handleScroll); return () => window.removeEventListener('scroll', handleScroll); }, []); const navLinks = [ { name: 'Home', id: 'home' }, { name: 'Capabilities', id: 'home', action: () => { setPage('home'); setTimeout(() => document.getElementById('capabilities')?.scrollIntoView({ behavior: 'smooth' }), 100); } }, { name: 'Contact', id: 'contact' }, ]; return (
{/* LOGO */}
setPage('home')} >
Skypxl - Ai
{/* DESKTOP NAV */} {/* MOBILE MENU TOGGLE */}
{/* MOBILE NAV DROPDOWN */} {mobileMenuOpen && (
{navLinks.map((link) => ( ))}
)}
); }; const Footer = ({ setPage }) => { return (
Skypxl - Aerial Intelligence

Delivering actionable outcome solutions that are efficient, intelligent, and future-focused for modern industry.

{/* Social mock icons */}

Quick Links

© {new Date().getFullYear()} Skypxl - Aerial Intelligence. All rights reserved.

Fully compliant and legally operated UAV services.

); }; // --- MAIN APP EXPORT --- export default function App() { const [page, setPage] = useState('home'); return (
{page === 'home' ? : }
{/* Global styles for smooth rendering */}