import React, { useState, useEffect, useRef } from 'react'; import { Layout, Smartphone, Globe, Server, Palette, CheckCircle, ArrowLeft, Menu, X, Star, Zap, Gift, Mail, Phone, ExternalLink, ShoppingCart, Video, BookOpen, MessageCircle, Search, Layers, ArrowRight, ShieldCheck, ArrowUp, Moon, Sun, Languages, ChevronDown, ChevronUp, Quote, Instagram, PenTool, Image, ShoppingBag, HelpCircle } from 'lucide-react'; // Animation Hook const useElementOnScreen = (options) => { const containerRef = useRef(null); const [isVisible, setIsVisible] = useState(false); useEffect(() => { const observer = new IntersectionObserver((entries) => { const [entry] = entries; if (entry.isIntersecting) setIsVisible(true); }, options); if (containerRef.current) observer.observe(containerRef.current); return () => { if (containerRef.current) observer.disconnect(); }; }, [containerRef, options]); return [containerRef, isVisible]; }; const AnimatedSection = ({ children, className = "" }) => { const [ref, isVisible] = useElementOnScreen({ root: null, rootMargin: '0px', threshold: 0.1 }); return (
{children}
); }; const LandingPage = () => { const [isMenuOpen, setIsMenuOpen] = useState(false); const [scrolled, setScrolled] = useState(false); const [showScrollTop, setShowScrollTop] = useState(false); const [formStatus, setFormStatus] = useState('idle'); const [openFaq, setOpenFaq] = useState(null); // Settings State const [theme, setTheme] = useState('light'); const [lang, setLang] = useState('ar'); const [langMenuOpen, setLangMenuOpen] = useState(false); // Form State const [formData, setFormData] = useState({ name: '', phone: '', type: 'store' }); // Assets const faviconUrl = "https://jbilou.online/IMG_20260109_000151.png"; const logoAr = "https://jbilou.online/IMG_20260111_154642.png"; const logoOther = "https://jbilou.online/IMG_20260111_182159.png"; const currentLogo = lang === 'ar' ? logoAr : logoOther; // SEO & Head Management useEffect(() => { const titles = { ar: "Moncef Jbilou | خدمات تصميم المواقع والسوشيال ميديا", en: "Moncef Jbilou | Web Design & Digital Services", fr: "Moncef Jbilou | Création Web & Services Digitaux" }; document.title = titles[lang]; let metaDescription = document.querySelector('meta[name="description"]'); if (!metaDescription) { metaDescription = document.createElement('meta'); metaDescription.name = "description"; document.head.appendChild(metaDescription); } const descriptions = { ar: "تصميم مواقع احترافية، متاجر إلكترونية، خدمات سيرفرات، وتصميم هوية بصرية في المغرب. احصل على موقعك مع دومين واستضافة مجانية.", en: "Professional web design, e-commerce stores, server services, and visual identity design in Morocco. Get your site with free domain and hosting.", fr: "Création de sites web professionnels, e-commerce, services serveurs et identité visuelle au Maroc. Domaine et hébergement gratuits." }; metaDescription.content = descriptions[lang]; let link = document.querySelector("link[rel~='icon']"); if (!link) { link = document.createElement('link'); link.rel = 'icon'; document.getElementsByTagName('head')[0].appendChild(link); } link.href = faviconUrl; const handleScroll = () => { setScrolled(window.scrollY > 50); setShowScrollTop(window.scrollY > 500); }; window.addEventListener('scroll', handleScroll); return () => window.removeEventListener('scroll', handleScroll); }, [lang]); // Translations Database const t = { ar: { dir: 'rtl', font: "font-['Cairo']", nav: { features: 'المميزات', offer: 'العرض الخاص', social: 'السوشيال ميديا', portfolio: 'أعمالنا', testimonials: 'الآراء', contact: 'ابدأ مشروعك' }, hero: { badge: 'عرض باقة البداية: لوجو + دومين + استضافة مجاناً', title: 'نصمم لك موقعاً', titleHighlight: 'احترافياً', subtitle: 'يعكس قوة خدماتك', desc: 'خبرة واسعة في تصميم المتاجر الرقمية، منصات الخدمات، ومواقع الدورات التعليمية. احصل على موقع متكامل جاهز للبيع فوراً.', ctaPrimary: 'اطلب موقعك الآن', ctaSecondary: 'شاهد أعمالنا السابقة', mockupBadge: 'تم التسليم', mockupType: 'موقع خدمات رقمية', mockupFull: 'موقع خدمات متكامل' }, process: { badge: 'آلية العمل', title: 'أنت عليك الفكرة، وعلينا التنفيذ الكامل', desc: 'لا تشغل بالك بالتفاصيل التقنية المعقدة. فقط زودنا بنوع المنتج أو الخدمة التي تقدمها، واترك الباقي لفريقنا: التصميم، المحتوى، الدومين، الاستضافة، وحتى الشعار.', cardTitle: 'استلم مشروعك جاهزاً', cardDesc: 'نحن نتكفل بكل شيء من الألف إلى الياء' }, offer: { title: 'باقة الإنطلاق المتكاملة', desc: 'عند طلب تصميم صفحة هبوط، تحصل على هذه الهدايا مجاناً لتبدأ مشروعك فوراً.', logoTitle: 'لوجو احترافي', logoDesc: 'تصميم شعار نصي (Logotype) حديث يناسب نشاطك التجاري.', domainTitle: 'دومين .com أو .net', domainDesc: 'نحجز لك اسم نطاق احترافي من اختيارك لمدة سنة.', hostTitle: 'استضافة سريعة', hostDesc: 'استضافة قوية وآمنة لموقعك لمدة سنة كاملة مجاناً.' }, social: { title: 'خدمات تصميم السوشيال ميديا', desc: 'نعزز حضورك الرقمي بتصاميم جذابة واحترافية لمنصات التواصل الاجتماعي.', identityTitle: 'الهوية البصرية للصفحات', identityDesc: 'تصميم متكامل لصفحات فيسبوك وإنستجرام يشمل: صورة الغلاف، الصورة الشخصية، وأيقونات الهايلايت.', postTitle: 'تصميم منشورات المنتجات', postDesc: 'تصميم بوستات إعلانية تبرز جمالية منتجاتك أو خدماتك وتزيد من نسبة التفاعل والمبيعات.' }, portfolio: { title: 'نماذج من أعمالنا', desc: 'نفخر بسجل حافل من المشاريع الناجحة. تصفح بعضاً من أحدث أعمالنا التي ساعدت عملاءنا في تحقيق أهدافهم الرقمية.', visit: 'زيارة الموقع', cta: 'ابدأ مشروعك الخاص الآن' }, testimonials: { title: 'ماذا يقول عملاؤنا؟', desc: 'نفخر بثقة عملائنا ونجاحاتهم التي هي جزء من نجاحنا.', reviews: [ { name: "محمد العمراني", role: "صاحب متجر إلكتروني", content: "خدمة فوق الممتازة! حصلت على متجر متكامل مع دومين واستضافة مجانية." }, { name: "سارة بنشقرون", role: "مسوقة رقمية", content: "تعاملت مع العديد من المصممين، لكن الاحترافية هنا مختلفة." }, { name: "ياسين التازي", role: "مدير شركة خدمات", content: "كنت متردداً في البداية، لكن العرض كان مغرياً جداً. الدعم الفني متواجد دائماً." }, { name: "د. هالة الصقلي", role: "طبيبة أسنان", content: "تصميم راقي جداً يعكس مستوى عيادتي. شكراً على سعة صدركم." }, { name: "عثمان الفاسي", role: "صاحب مطعم", content: "قائمة الطعام الرقمية سهلت علينا العمل كثيراً، والزبائن أحبوا التصميم." }, { name: "فاطمة الزهراء", role: "مؤثرة انستجرام", content: "خدمة تصميم السوشيال ميديا نقلت حسابي لمستوى آخر. ألوان وتناسق رائع." } ] }, faq: { title: 'لديك استفسار؟ لدينا الإجابة.', desc: 'جمعنا لك أهم الأسئلة التي يطرحها عملاؤنا.', cta: 'تواصل معنا الآن', items: [ { q: "ما الذي يشمله العرض بالضبط؟", a: "العرض يشمل تصميم صفحة هبوط أو موقع إلكتروني احترافي، بالإضافة إلى هدايا مجانية: لوجو، دومين، واستضافة لمدة سنة." }, { q: "كم يستغرق تسليم الموقع؟", a: "غالباً ما يتم تسليم صفحات الهبوط خلال 3-5 أيام عمل، والمتاجر الإلكترونية خلال 7-10 أيام عمل." }, { q: "هل الموقع يدعم اللغة العربية والإنجليزية؟", a: "نعم، يمكننا تصميم مواقع متعددة اللغات (RTL و LTR) لضمان وصولك لجمهور أوسع." }, { q: "كيف يتم الدفع؟", a: "نقبل الدفع عبر التحويل البنكي المحلي أو خدمات تحويل الأموال. يتم دفع عربون عند الاتفاق والباقي عند التسليم." }, { q: "هل أحصل على إيميل احترافي؟", a: "نعم، نوفر لك بريداً إلكترونياً رسمياً باسم موقعك (مثلاً: contact@yourdomain.com) لتبدو أكثر احترافية." }, { q: "ما هي تكلفة التجديد بعد السنة الأولى؟", a: "التجديد يشمل فقط سعر الدومين والاستضافة السنوي، وهو مبلغ رمزي بسيط جداً مقارنة بالسوق." }, { q: "هل يمكنني طلب تعديلات على التصميم؟", a: "نعم، نتيح لك طلب تعديلات لضمان أن التصميم يطابق رؤيتك تماماً قبل التسليم النهائي." }, { q: "هل يوجد ضمان لاسترجاع المال؟", a: "نضمن لك الجودة والرضا التام. إذا لم نلتزم بالمواصفات المتفق عليها، يحق لك استرجاع العربون." }, { q: "هل تشمل خدمة السوشيال ميديا كتابة المحتوى؟", a: "نعم، باقاتنا تشمل التصميم وكتابة 'كابشن' إبداعي وجذاب للمنشورات." }, { q: "هل الموقع آمن؟", a: "نعم، نوفر شهادة حماية SSL مجانية لضمان تشفير بيانات موقعك وزبائنك وحمايتها من الاختراق." } ] }, features: { title: 'مميزات تحصل عليها', mobile: { title: 'متجاوبة 100%', desc: 'تصميم يعمل بامتياز على جميع الشاشات.' }, speed: { title: 'سرعة تحميل', desc: 'أكواد نظيفة لضمان أداء عالي وسرعة تصفح.' }, seo: { title: 'تحسين SEO', desc: 'بنية برمجية مهيأة للظهور في نتائج بحث جوجل.' }, support: { title: 'دعم فني', desc: 'نقف بجانبك حتى تتأكد من عمل الموقع بامتياز.' } }, contact: { title: 'تواصل معنا', desc: 'املأ النموذج وسنقوم بالتواصل معك لمناقشة تفاصيل مشروعك.', formTitle: 'اطلب عرضك الآن', name: 'الاسم', phone: 'الهاتف', type: 'نوع الموقع', types: { store: 'متجر إلكتروني', service: 'موقع خدمات', landing: 'صفحة هبوط', social: 'تصميم سوشيال ميديا', other: 'أخرى' }, btn: 'إرسال الطلب عبر واتساب', loading: 'جاري التحويل...', success: 'تم الإرسال بنجاح!' }, whatsappMessage: "مرحباً، أرغب في الاستفادة من خدماتكم.\n\n*الاسم:* {name}\n*الهاتف:* {phone}\n*النوع:* {type}", footer: 'جميع الحقوق محفوظة' }, en: { dir: 'ltr', font: "font-['Outfit']", nav: { features: 'Features', offer: 'Special Offer', social: 'Social Media', portfolio: 'Portfolio', testimonials: 'Testimonials', contact: 'Start Project' }, hero: { badge: 'Starter Pack: Free Logo + Domain + Hosting', title: 'We Design', titleHighlight: 'Professional', subtitle: 'Websites for You', desc: 'Extensive experience in designing digital stores, service platforms, and educational sites. Get a fully integrated website ready to sell immediately.', ctaPrimary: 'Order Now', ctaSecondary: 'View Portfolio', mockupBadge: 'Delivered', mockupType: 'Digital Service Site', mockupFull: 'Full Service Site' }, process: { badge: 'Workflow', title: 'You Provide the Idea, We Execute', desc: 'Don’t worry about technical details. Just tell us your product or service type, and we handle the rest: Design, Content, Domain, Hosting, and even the Logo.', cardTitle: 'Get It Ready', cardDesc: 'We handle everything from A to Z' }, offer: { title: 'All-In-One Starter Pack', desc: 'Order a landing page design and get these gifts for FREE to start immediately.', logoTitle: 'Professional Logo', logoDesc: 'Modern textual logo design suitable for your business.', domainTitle: 'Free Domain', domainDesc: 'We register a professional .com or .net domain for you for 1 year.', hostTitle: 'Fast Hosting', hostDesc: 'Secure and high-speed hosting for your site for 1 full year.' }, social: { title: 'Social Media Design Services', desc: 'We boost your digital presence with attractive and professional designs for social media platforms.', identityTitle: 'Page Visual Identity', identityDesc: 'Complete design for Facebook and Instagram pages including: Cover, Profile Picture, and Highlights icons.', postTitle: 'Product Post Design', postDesc: 'Creative ad posts/stories designs that highlight the beauty of your products or services and increase engagement.' }, portfolio: { title: 'Our Portfolio', desc: 'We are proud of our successful projects. Browse some of our latest work helping clients achieve their digital goals.', visit: 'Visit Site', cta: 'Start Your Project Now' }, testimonials: { title: 'What Our Clients Say', desc: 'We pride ourselves on our clients trust and success.', reviews: [ { name: "Mohamed Amrani", role: "Store Owner", content: "Excellent service! Got a full store quickly with free hosting." }, { name: "Sara Benchakroun", role: "Marketer", content: "High professionalism in design and execution." }, { name: "Yassine Tazi", role: "CEO", content: "Great support and very fast website." }, { name: "Dr. Hala Sqalli", role: "Dentist", content: "Very elegant design reflecting my clinic's level. Thanks!" }, { name: "Othman Fassi", role: "Restaurant Owner", content: "The digital menu made our work easier, customers loved it." }, { name: "Fatima Zahra", role: "Influencer", content: "Social media designs took my account to the next level." } ] }, faq: { title: 'Have Questions? We Have Answers.', desc: 'Common questions asked by our clients.', cta: 'Contact Us', items: [ { q: "What does the offer include?", a: "Design + Logo + Domain + Hosting for 1 year." }, { q: "How long does delivery take?", a: "3 to 7 business days depending on the project." }, { q: "Do you support multiple languages?", a: "Yes, we support Arabic, English, and French." }, { q: "How do I pay?", a: "Bank transfer or money transfer services. Deposit first, balance on delivery." }, { q: "Do I get a professional email?", a: "Yes, we provide official email (e.g., contact@yourdomain.com)." }, { q: "What is the renewal cost?", a: "Renewal only covers the domain and hosting fees, which are nominal." }, { q: "Can I request design revisions?", a: "Yes, we allow revisions to ensure the design matches your vision perfectly before final delivery." }, { q: "Is there a refund policy?", a: "We guarantee quality. If we don't meet specs, you can get a refund." }, { q: "Does social media service include copywriting?", a: "Yes, our packages include design and creative captions for your posts." }, { q: "Is the site secure?", a: "Yes, free SSL certificate is included for security." } ] }, features: { title: 'Features You Get', mobile: { title: '100% Responsive', desc: 'Works perfectly on all screen sizes.' }, speed: { title: 'Fast Loading', desc: 'Clean code ensuring high performance.' }, seo: { title: 'SEO Optimized', desc: 'Structure ready for search engines.' }, support: { title: 'Tech Support', desc: 'We stand by you to ensure stability.' } }, contact: { title: 'Contact Us', desc: 'Fill the form to discuss.', formTitle: 'Request Offer', name: 'Name', phone: 'Phone', type: 'Website Type', types: { store: 'E-Commerce', service: 'Service Site', landing: 'Landing Page', social: 'Social Media Design', other: 'Other' }, btn: 'Send via WhatsApp', loading: 'Sending...', success: 'Sent!' }, whatsappMessage: "Hello, I am interested in your services.\n\n*Name:* {name}\n*Phone:* {phone}\n*Type:* {type}", footer: 'All Rights Reserved' }, fr: { dir: 'ltr', font: "font-['Outfit']", // Changed Font nav: { features: 'Fonctionnalités', offer: 'Offre', social: 'Réseaux Sociaux', portfolio: 'Portfolio', testimonials: 'Témoignages', contact: 'Démarrer' }, hero: { badge: 'Pack Démarrage : Logo + Domaine + Hébergement Gratuits', title: 'Sites Web', titleHighlight: 'Professionnels', subtitle: 'Pour Vous', desc: 'Grande expérience dans la conception de boutiques et sites vitrines.', ctaPrimary: 'Commander', ctaSecondary: 'Portfolio', mockupBadge: 'Livré', mockupFull: 'Site Complet' }, process: { badge: 'Processus', title: 'Votre idée, Notre réalisation', desc: 'Nous gérons tout : design, domaine, hébergement.', cardTitle: 'Recevez Prêt', cardDesc: 'De A à Z' }, offer: { title: 'Pack Tout-en-Un', desc: 'Cadeaux gratuits pour démarrer.', logoTitle: 'Logo Pro', logoDesc: 'Logo textuel moderne.', domainTitle: 'Domaine Offert', domainDesc: '1 an offert.', hostTitle: 'Hébergement', hostDesc: 'Rapide et sécurisé.' }, social: { title: 'Design Réseaux Sociaux', desc: 'Boostez votre présence.', identityTitle: 'Identité Visuelle', identityDesc: 'Design complet page.', postTitle: 'Design Posts', postDesc: 'Posts publicitaires.' }, portfolio: { title: 'Notre Portfolio', desc: 'Nos dernières réalisations.', visit: 'Visiter', cta: 'Lancer le projet' }, testimonials: { title: 'Avis Clients', desc: 'La satisfaction client avant tout.', reviews: [ { name: "Mohamed Amrani", role: "E-Commerçant", content: "Service excellent, site livré rapidement avec hébergement gratuit." }, { name: "Sara Benchakroun", role: "Marketer", content: "Grand professionnalisme dans le design." }, { name: "Yassine Tazi", role: "Directeur", content: "Support technique au top et site très rapide." }, { name: "Dr. Hala Sqalli", role: "Dentiste", content: "Design très élégant reflétant le niveau de ma clinique." }, { name: "Othman Fassi", role: "Restaurateur", content: "Le menu numérique a facilité notre travail, les clients adorent." }, { name: "Fatima Zahra", role: "Influenceuse", content: "Le design social media a propulsé mon compte." } ] }, faq: { title: 'Questions ?', desc: 'Réponses fréquentes.', cta: 'Contactez-nous', items: [ { q: "Que comprend l'offre ?", a: "Design + Logo + Domaine + Hébergement pour 1 an." }, { q: "Délai de livraison ?", a: "3 à 7 jours ouvrables selon le projet." }, { q: "Supportez-vous plusieurs langues ?", a: "Oui, Arabe, Anglais et Français." }, { q: "Moyens de paiement ?", a: "Virement bancaire ou transfert d'argent. Avance requise." }, { q: "Ai-je droit à un email pro ?", a: "Oui, email officiel inclus (ex: contact@votre-domaine.com)." }, { q: "Coût de renouvellement ?", a: "Uniquement les frais de domaine et hébergement, très symbolique." }, { q: "Puis-je demander des modifications ?", a: "Oui, nous permettons des révisions pour garantir que le design correspond parfaitement à votre vision." }, { q: "Y a-t-il une garantie ?", a: "Satisfait ou remboursé si le cahier des charges n'est pas respecté." }, { q: "Le service inclut-il la rédaction de contenu ?", a: "Oui, nos packs incluent le design et la rédaction de légendes créatives." }, { q: "Le site est-il sécurisé ?", a: "Oui, certificat SSL gratuit inclus." } ] }, features: { title: 'Avantages', mobile: { title: 'Responsive', desc: 'Parfait sur mobile.' }, speed: { title: 'Rapide', desc: 'Performance optimale.' }, seo: { title: 'SEO', desc: 'Optimisé Google.' }, support: { title: 'Support', desc: 'Assistance incluse.' } }, contact: { title: 'Contactez-nous', desc: 'Discutons de votre projet.', formTitle: 'Demander Offre', name: 'Nom', phone: 'Tél', type: 'Type', types: { store: 'E-Commerce', service: 'Site Vitrine', landing: 'Landing Page', social: 'Design RS', other: 'Autre' }, btn: 'Envoyer WhatsApp', loading: 'Envoi...', success: 'Envoyé !' }, whatsappMessage: "Bonjour, je suis intéressé par vos services.\n\n*Nom:* {name}\n*Tél:* {phone}\n*Type:* {type}", footer: 'Tous droits réservés' } }; const content = t[lang]; const toggleMenu = () => setIsMenuOpen(!isMenuOpen); const toggleFaq = (index) => setOpenFaq(openFaq === index ? null : index); const toggleTheme = () => setTheme(theme === 'light' ? 'dark' : 'light'); const scrollToTop = () => window.scrollTo({ top: 0, behavior: 'smooth' }); const handleChange = (e) => setFormData({ ...formData, [e.target.name]: e.target.value }); const handleSubmit = (e) => { e.preventDefault(); setFormStatus('submitting'); const phoneNumber = "212707733701"; let message = content.whatsappMessage .replace('{name}', formData.name) .replace('{phone}', formData.phone) .replace('{type}', content.contact.types[formData.type] || formData.type); const encodedMessage = encodeURIComponent(message); const whatsappUrl = `https://wa.me/${phoneNumber}?text=${encodedMessage}`; setTimeout(() => { window.open(whatsappUrl, '_blank'); setFormStatus('success'); setFormData({ name: '', phone: '', type: 'store' }); }, 1000); }; const scrollToSection = (id) => { const element = document.getElementById(id); if (element) { element.scrollIntoView({ behavior: 'smooth' }); setIsMenuOpen(false); } }; const getPortfolioItems = () => [ { key: 'gsm', url: "https://www.gsmserver.ma", icon: , image: "https://jbilou.online/IMG_20260111_162225.jpg", bgClass: "bg-blue-50 dark:bg-blue-900/20", textClass: "text-blue-600 dark:text-blue-400", borderClass: "group-hover:border-blue-200 dark:group-hover:border-blue-700" }, { key: 'forensic', url: "https://forensiclab.pro/", icon: , image: "https://jbilou.online/IMG_20260111_174613.jpg", bgClass: "bg-slate-50 dark:bg-slate-800", textClass: "text-slate-700 dark:text-slate-300", borderClass: "group-hover:border-slate-300 dark:group-hover:border-slate-600" }, { key: 'server', url: "https://server.portably.ma", icon: , image: "https://jbilou.online/IMG_20260111_162416.jpg", bgClass: "bg-sky-50 dark:bg-sky-900/20", textClass: "text-sky-600 dark:text-sky-400", borderClass: "group-hover:border-sky-200 dark:group-hover:border-sky-700" }, { key: 'info', url: "https://www.portably.info", icon: , image: "https://jbilou.online/IMG_20260111_162312.jpg", bgClass: "bg-green-50 dark:bg-green-900/20", textClass: "text-green-600 dark:text-green-400", borderClass: "group-hover:border-green-200 dark:group-hover:border-green-700" }, { key: 'online', url: "https://www.portably.online", icon: , image: "https://jbilou.online/IMG_20260111_162402.jpg", bgClass: "bg-yellow-50 dark:bg-yellow-900/20", textClass: "text-yellow-600 dark:text-yellow-400", borderClass: "group-hover:border-yellow-200 dark:group-hover:border-yellow-700" }, { key: 'flash', url: "https://flashacademy.space", icon: , image: "https://jbilou.online/IMG_20260111_162348.jpg", bgClass: "bg-orange-50 dark:bg-orange-900/20", textClass: "text-orange-600 dark:text-orange-400", borderClass: "group-hover:border-orange-200 dark:group-hover:border-orange-700" }, { key: 'xtreamify', url: "https://xtreamify.com", icon: