eBooks

Reka Bentuk Program Rakan Kongsi: Membina Ekosistem Penjual Semula

Muat turun eBook percuma kami: "Reka Bentuk Program Rakan Kongsi: Membina Ekosistem Penjual Semula" — panduan praktikal untuk pemilik perniagaan kecil.

4 min bacaan

Mewayz Team

Editorial Team

eBooks
Just the HTML body content. No extra tags. Just the HTML body content. The only tag to be included is tag. Every section must have the same structure: <div class="content"> <h2 id="">...</h2> <ol> <li><strong>...</strong> with <em>text</em> in the list item</li> </ol> </div> </div> The only way to separate paragraphs is with <br> tag. The only way to separate sections is with <div> tag. The only way to separate FAQ is with <h2 id="related-posts"> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <ul> + <li> + <br> + <h2> + <h2>Related Posts</h2> <ul> <li><a href="https://mewayz.com/blog/pricing-strategies-that-maximize-revenue-without-losing-customers">Strategi Penetapan Harga Yang Memaksimumkan Hasil Tanpa Kehilangan Pelanggan</a></li> <li><a href="https://mewayz.com/blog/reducing-no-shows-automated-reminders-and-deposit-strategies">Mengurangkan Tidak Hadir: Peringatan Automatik dan Strategi Deposit</a></li> <li><a href="https://mewayz.com/blog/how-did-windows-95-get-permission-to-put-the-weezer-video-buddy-holly-on-the-cd">Bagaimanakah Windows 95 mendapat kebenaran untuk meletakkan video Weezer 'Buddy Holly' pada CD?</a></li> <li><a href="https://mewayz.com/blog/paragon-accidentally-uploaded-a-photo-of-its-spyware-control-panel">Paragon secara tidak sengaja memuat naik foto panel kawalan perisian pengintipnya</a></li> </ul> <h2 id="soalan-lazim">Soalan Lazim</h2> <div> <h3 id="apakah-itu-program-rakan-kongsi-dan-mengapa-ia-penting">Apakah itu program rakan kongsi dan mengapa ia penting?</h3> <p>Program rakan kongsi ialah strategi untuk membina rangkaian penjual semula yang menjual produk atau perkhidmatan syarikat anda. Ia penting untuk pertumbuhan kerana membolehkan anda mengembangkan capaian pasaran dengan lebih pantas dan kos efektif berbanding kaedah jualan langsung. Dengan ekosistem yang kukuh, anda boleh meningkatkan jualan dan membina jenama dengan lebih berkesan.</p> </div> <div> <h3 id="bagaimanakah-saya-boleh-menarik-penjual-semula-yang-berkualiti">Bagaimanakah saya boleh menarik penjual semula yang berkualiti?</h3> <p>Untuk menarik penjual semula terbaik, tawarkan komisen yang kompetitif, bahan pemasaran yang lengkap, dan sokongan yang kukuh. Pastikan program anda mudah difahami dan menyediakan alat yang mereka perlukan untuk berjaya. Platform seperti Mewayz boleh membantu dengan menyediakan sistem terpusat untuk mengurus komisen dan komunikasi, menjadikan kerjasama lebih lancar.</p> </div> <div> <h3 id="adakah-terdapat-alat-untuk-memudahkan-pengurusan-program-rakan-kongsi">Adakah terdapat alat untuk memudahkan pengurusan program rakan kongsi?</h3> <p>Ya, menggunakan sistem operasi perniagaan seperti Mewayz boleh memudahkan pengurusan. Dengan harga $49/sebulan untuk akses ke app.mewayz.com, anda boleh mengurus komisen, menjejak prestasi rakan kongsi, dan menyediakan sumber dari satu platform. Ini menjimatkan masa dan memastikan program anda berjalan dengan cekap dan telus.</p><div class="my-8 p-5 bg-gray-900 text-white rounded-2xl not-prose"> <p class="text-sm font-semibold text-indigo-400 mb-1">💡 ADAKAH ANDA TAHU?</p> <p class="font-bold text-lg mb-2">Mewayz menggantikan 8+ alat perniagaan dalam satu platform</p> <p class="text-sm text-gray-400 mb-4">CRM · Pengebilan · HR · Projek · Tempahan · eCommerce · POS · Analitik. Pelan percuma selama-lamanya tersedia.</p> <a href="/ms/free-trial?utm_source=blog&utm_medium=inline_cta_dark&utm_campaign=mid_article&utm_content=ms%2Fblog%2Fpartner-program-design-building-a-reseller-ecosystem" class="inline-flex items-center gap-1.5 px-4 py-2 bg-white text-gray-900 rounded-lg text-sm font-semibold hover:bg-gray-100 transition-colors">Mula Percuma →</a> </div> </div> <div> <h3 id="apakah-elemen-utama-dalam-merangka-program-rakan-kongsi-yang-berjaya">Apakah elemen utama dalam merangka program rakan kongsi yang berjaya?</h3> <p>Elemen utama termasuk struktur komisen yang menarik, kriteria kelayakan yang jelas, latihan yang komprehensif, dan komunikasi berterusan. Sediakan sumber seperti templat jualan dan bahan promosi. Integrasikan dengan sistem seperti 207-module Mewayz untuk automasi tugas, membolehkan anda fokus pada membina hubungan dan strategi dengan rakan kongsi anda.</p> </div> and ending with: </div> Here's the HTML output: <h2 id="frequently-asked-questions">Frequently Asked Questions</h2> <div> <h3 id="apakah-tujuan-program-rakan-kongsi">Apakah tujuan Program Rakan Kongsi?</h3> <p>Program Rakan Kongsi bertujuan untuk membina ekosistem penjual semula yang sihat dan berdaya saing. Ia memfokuskan pada pengembangan kemahiran, penawaran produk dan perkhidmatan yang kompetitif, serta meningkatkan kesedaran dan kepentingan penjual semula dalam mempertahankan alam sekitar.</p> <h3 id="bagaimana-saya-boleh-menjadi-sebahagian-daripada-program-rakan-kongsi">Bagaimana saya boleh menjadi sebahagian daripada Program Rakan Kongsi?</h3> <p>Saya boleh terlibat dengan Program Rakan Kongsi dengan mendaftar melalui laman web Mewayz (207 modul, $49/bulanan). Selepas pendaftaran, saya akan mendapat akses kepada sumber bantuannya untuk meningkatkan kemahiran dan potensi penjualan semula. Dengan itu, saya dapat berkontribusi dalam membangun ekosistem yang lebih sihat dan berkelanjutan.</p> <h3 id="adakah-program-rakan-kongsi-hanya-untuk-penjual-semula-yang-berpengalaman">Adakah Program Rakan Kongsi hanya untuk penjual semula yang berpengalaman?</h3> <p>Tidak, Program Rakan Kongsi terbuka kepada semua orang, termasuk mereka yang baru mula berkecimpung dalam penjualan semula. Mewayz menawarkan modul pendidikan yang lengkap (207 modul) untuk membantu meningkatkan kemahiran dan pengetahuan penting. Dengan bantuan Mewayz, saya boleh meningkatkan potensi penjualan semula dan berkontribusi dalam membangun ekosistem yang lebih sihat.</p> <h3 id="bagaimana-program-rakan-kongsi-dapat-membantu-meningkatkan-kesedaran-terhadap-pentingnya-pelestarian-alam-sekitar">Bagaimana Program Rakan Kongsi dapat membantu meningkatkan kesedaran terhadap pentingnya pelestarian alam sekitar?</h3> <p>Program Rakan Kongsi memfokuskan pada pengembangan kesedaran dan kepentingan penjual semula dalam mempertahankan alam sekitar. Melalui pendidikan dan sumber bantuan, Mewayz dapat meningkatkan pengetahuan tentang isu-isu alam sekitar dan bagaimana mereka dapat dilakukan </div> <div class="my-10 rounded-2xl border border-indigo-500/20 bg-gradient-to-r from-indigo-950/50 to-purple-950/50 p-6 sm:p-8 text-center"> <h3 class="text-lg font-bold text-white mb-2">Cuba Mewayz Percuma</h3> <p class="text-white/60 text-sm mb-4">Platform semua-dalam-satu untuk CRM, pengebilan, projek, HR & banyak lagi. Kad kredit tidak diperlukan.</p> <div class="flex flex-col sm:flex-row gap-3 justify-center"> <a href="/ms/free-trial?utm_source=blog&utm_medium=inline_cta&utm_campaign=partner-program-design-building-a-reseller-ecosystem" class="inline-flex items-center justify-center gap-2 px-6 py-3 rounded-xl bg-white text-indigo-700 font-semibold text-sm hover:bg-indigo-50 transition" onclick="if(typeof gtag==='function')gtag('event','free_trial_start',{event_category:'Blog',event_label:'inline_cta'});if(typeof plausible==='function')plausible('Free_Trial_Start',{props:{source:'blog_inline'}});"> Mula Percuma <i class="ph ph-arrow-right" style="font-size:16px;" aria-hidden="true"></i> </a> <a href="https://mewayz.com/ms/demo" class="inline-flex items-center justify-center gap-2 px-6 py-3 rounded-xl border border-white/20 text-white text-sm hover:bg-white/10 transition" onclick="if(typeof gtag==='function')gtag('event','demo_request',{event_category:'Blog',event_label:'inline_cta'});"> Cuba Demo </a> </div> </div> <div class="mt-10 p-6 rounded-2xl bg-white/5 border border-white/10" x-data="{ email: '', submitted: false, error: '' }"> <template x-if="!submitted"> <div class="flex flex-col sm:flex-row items-start sm:items-center gap-4"> <div class="flex-1"> <p class="text-white font-semibold">Dapatkan lebih banyak artikel seperti ini</p> <p class="text-white/60 text-sm mt-1">Tip perniagaan mingguan dan kemas kini produk. Percuma selamanya.</p> </div> <div class="flex gap-2 w-full sm:w-auto"> <input x-model="email" type="email" placeholder="E-mel anda" class="flex-1 sm:w-52 px-4 py-2.5 rounded-xl bg-white/10 border border-white/20 text-white placeholder-white/40 text-sm focus:outline-none focus:ring-2 focus:ring-indigo-500" @keydown.enter=" if (!email || !email.includes('@')) { error = 'Masukkan e-mel yang sah.'; return; } error = ''; fetch('/newsletter/subscribe', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRF-TOKEN': document.querySelector('meta[name=csrf-token]')?.content || '' }, body: JSON.stringify({ email: email, source: 'blog_inline', page: window.location.pathname }) }).catch(() => {}); if (typeof gtag !== 'undefined') gtag('event', 'generate_lead', { event_category: 'Newsletter', event_label: 'blog_inline' }); if (typeof fbq !== 'undefined') fbq('track', 'Lead', { content_name: 'blog_inline' }); submitted = true; "> <button @click=" if (!email || !email.includes('@')) { error = 'Masukkan e-mel yang sah.'; return; } error = ''; fetch('/newsletter/subscribe', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRF-TOKEN': document.querySelector('meta[name=csrf-token]')?.content || '' }, body: JSON.stringify({ email: email, source: 'blog_inline', page: window.location.pathname }) }).catch(() => {}); if (typeof gtag !== 'undefined') gtag('event', 'generate_lead', { event_category: 'Newsletter', event_label: 'blog_inline' }); if (typeof fbq !== 'undefined') fbq('track', 'Lead', { content_name: 'blog_inline' }); submitted = true; " class="px-5 py-2.5 rounded-xl bg-indigo-600 hover:bg-indigo-500 text-white font-semibold text-sm transition-colors whitespace-nowrap">Langgan</button> </div> </div> </template> <template x-if="submitted"> <p class="text-green-400 text-sm font-medium text-center flex items-center justify-center gap-2"> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg> You're subscribed! </p> </template> <p x-show="error" x-text="error" class="text-xs text-red-400 mt-2"></p> </div> <div class="mt-10 pt-6 border-t border-white/10 flex flex-wrap gap-2"> <span class="bg-white/10 text-white/70 text-xs font-medium px-3 py-1.5 rounded-full border border-white/10 hover:bg-indigo-500/20 hover:text-indigo-300 transition-colors cursor-default">ebook</span> <span class="bg-white/10 text-white/70 text-xs font-medium px-3 py-1.5 rounded-full border border-white/10 hover:bg-indigo-500/20 hover:text-indigo-300 transition-colors cursor-default">free guide</span> <span class="bg-white/10 text-white/70 text-xs font-medium px-3 py-1.5 rounded-full border border-white/10 hover:bg-indigo-500/20 hover:text-indigo-300 transition-colors cursor-default">small business</span> <span class="bg-white/10 text-white/70 text-xs font-medium px-3 py-1.5 rounded-full border border-white/10 hover:bg-indigo-500/20 hover:text-indigo-300 transition-colors cursor-default">mewayz</span> </div> <div class="mt-12 mb-8 p-8 bg-gradient-to-br from-indigo-600 to-purple-700 rounded-2xl text-white text-center not-prose"> <h3 class="text-2xl font-bold mb-2">Mula menguruskan perniagaan anda dengan lebih bijak hari ini</h3> <p class="text-indigo-100 mb-6">Sertai 30,000+ perniagaan. Pelan percuma selama-lamanya · Kad kredit tidak diperlukan.</p> <div class="flex flex-col sm:flex-row gap-3 justify-center"> <a href="/ms/free-trial?utm_source=blog&utm_medium=bottom_cta&utm_content=ms%2Fblog%2Fpartner-program-design-building-a-reseller-ecosystem" class="px-6 py-3 bg-white text-indigo-600 font-semibold rounded-xl hover:bg-gray-50 transition-colors"> Mula Percuma → </a> <a href="https://mewayz.com/demo" class="px-6 py-3 border border-white/40 text-white font-semibold rounded-xl hover:bg-white/10 transition-colors"> Tonton Demo </a> </div> </div> <div class="mt-8 pt-6 border-t border-white/10 flex items-center justify-between flex-wrap gap-3"> <span class="text-sm text-white/50">Jumpa ini berguna? Kongsikannya.</span> <div class="flex items-center gap-3"> <a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fmewayz.com%2Fms%2Fblog%2Fpartner-program-design-building-a-reseller-ecosystem&text=Reka+Bentuk+Program+Rakan+Kongsi%3A+Membina+Ekosistem+Penjual+Semula" target="_blank" rel="noopener" class="inline-flex items-center gap-1.5 text-xs font-medium text-white/60 hover:text-white transition-colors px-3 py-1.5 rounded-full border border-white/20 hover:border-white/40"> <svg class="w-3.5 h-3.5" fill="currentColor" viewBox="0 0 24 24"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg> X / Twitter </a> <a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fmewayz.com%2Fms%2Fblog%2Fpartner-program-design-building-a-reseller-ecosystem" target="_blank" rel="noopener" class="inline-flex items-center gap-1.5 text-xs font-medium text-white/60 hover:text-white transition-colors px-3 py-1.5 rounded-full border border-white/20 hover:border-white/40"> <svg class="w-3.5 h-3.5" fill="currentColor" viewBox="0 0 24 24"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg> LinkedIn </a> <a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fmewayz.com%2Fms%2Fblog%2Fpartner-program-design-building-a-reseller-ecosystem" target="_blank" rel="noopener" class="inline-flex items-center gap-1.5 text-xs font-medium text-white/60 hover:text-white transition-colors px-3 py-1.5 rounded-full border border-white/20 hover:border-white/40"> <svg class="w-3.5 h-3.5" fill="currentColor" viewBox="0 0 24 24"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg> Facebook </a> <a href="https://api.whatsapp.com/send?text=Reka+Bentuk+Program+Rakan+Kongsi%3A+Membina+Ekosistem+Penjual+Semula+https%3A%2F%2Fmewayz.com%2Fms%2Fblog%2Fpartner-program-design-building-a-reseller-ecosystem" target="_blank" rel="noopener" class="inline-flex items-center gap-1.5 text-xs font-medium text-white/60 hover:text-white transition-colors px-3 py-1.5 rounded-full border border-white/20 hover:border-white/40"> <svg class="w-3.5 h-3.5" fill="currentColor" viewBox="0 0 24 24"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"/></svg> WhatsApp </a> </div> </div> </div> <div class="mx-auto max-w-3xl my-12 rounded-2xl bg-gradient-to-r from-indigo-600 to-purple-600 p-8 text-center text-white shadow-lg"> <h3 class="text-xl font-bold mb-2">Bersedia untuk mempraktikkannya?</h3> <p class="text-indigo-100 text-sm mb-5">Sertai 30,000+ perniagaan yang menggunakan Mewayz. Pelan percuma selama-lamanya — kad kredit tidak diperlukan.</p> <a href="/ms/free-trial?utm_source=blog&utm_medium=post_cta&utm_content=ms%2Fblog%2Fpartner-program-design-building-a-reseller-ecosystem" onclick="if(typeof gtag==='function')gtag('event','free_trial_start',{event_category:'Blog',event_label:'post_cta'});if(typeof plausible==='function')plausible('BlogCTA',{props:{location:'post_cta'}});" class="inline-flex items-center gap-2 rounded-xl bg-white px-6 py-3 text-sm font-bold text-indigo-700 shadow-md hover:bg-indigo-50 transition-colors"> Start Free Trial → </a> </div> <div class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 mb-16"> <h2 class="text-2xl font-bold text-white mb-6">Artikel berkaitan</h2> <div class="grid gap-5 sm:grid-cols-2 lg:grid-cols-3"> <a href="/ms/blog/how-to-manage-your-first-100-crm-contacts" class="group block bg-white/5 border border-white/10 rounded-2xl overflow-hidden hover:border-indigo-500/40 hover:bg-white/10 transition-all duration-200"> <div class="w-full h-24 bg-gradient-to-br from-indigo-600/20 to-purple-600/20 flex items-center justify-center"> <svg class="w-8 h-8 text-white/20" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/></svg> </div> <div class="p-4"> <p class="text-xs font-semibold text-indigo-400 uppercase tracking-wide mb-1.5">eBooks</p> <p class="text-sm font-semibold text-white group-hover:text-indigo-300 leading-snug line-clamp-2 transition-colors">Cara Mengurus 100 Kenalan CRM Pertama Anda</p> <p class="text-xs text-white/40 mt-2">Mar 8, 2026</p> </div> </a> <a href="/ms/blog/the-vietnam-startup-guide-building-on-digital-infrastructure" class="group block bg-white/5 border border-white/10 rounded-2xl overflow-hidden hover:border-indigo-500/40 hover:bg-white/10 transition-all duration-200"> <div class="w-full h-24 bg-gradient-to-br from-indigo-600/20 to-purple-600/20 flex items-center justify-center"> <svg class="w-8 h-8 text-white/20" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/></svg> </div> <div class="p-4"> <p class="text-xs font-semibold text-indigo-400 uppercase tracking-wide mb-1.5">eBooks</p> <p class="text-sm font-semibold text-white group-hover:text-indigo-300 leading-snug line-clamp-2 transition-colors">Panduan Permulaan Vietnam: Membina Infrastruktur Digital</p> <p class="text-xs text-white/40 mt-2">Mar 8, 2026</p> </div> </a> <a href="/ms/blog/building-a-creator-business-beyond-social-media-followers" class="group block bg-white/5 border border-white/10 rounded-2xl overflow-hidden hover:border-indigo-500/40 hover:bg-white/10 transition-all duration-200"> <div class="w-full h-24 bg-gradient-to-br from-indigo-600/20 to-purple-600/20 flex items-center justify-center"> <svg class="w-8 h-8 text-white/20" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/></svg> </div> <div class="p-4"> <p class="text-xs font-semibold text-indigo-400 uppercase tracking-wide mb-1.5">eBooks</p> <p class="text-sm font-semibold text-white group-hover:text-indigo-300 leading-snug line-clamp-2 transition-colors">Membina Perniagaan Pencipta Melangkaui Pengikut Media Sosial</p> <p class="text-xs text-white/40 mt-2">Mar 8, 2026</p> </div> </a> <a href="/ms/blog/hiring-your-first-employee-the-complete-checklist" class="group block bg-white/5 border border-white/10 rounded-2xl overflow-hidden hover:border-indigo-500/40 hover:bg-white/10 transition-all duration-200"> <div class="w-full h-24 bg-gradient-to-br from-indigo-600/20 to-purple-600/20 flex items-center justify-center"> <svg class="w-8 h-8 text-white/20" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/></svg> </div> <div class="p-4"> <p class="text-xs font-semibold text-indigo-400 uppercase tracking-wide mb-1.5">eBooks</p> <p class="text-sm font-semibold text-white group-hover:text-indigo-300 leading-snug line-clamp-2 transition-colors">Mengambil Pekerja Pertama Anda: Senarai Semak Lengkap</p> <p class="text-xs text-white/40 mt-2">Mar 8, 2026</p> </div> </a> <a href="/ms/blog/email-marketing-for-small-businesses-sequences-that-convert" class="group block bg-white/5 border border-white/10 rounded-2xl overflow-hidden hover:border-indigo-500/40 hover:bg-white/10 transition-all duration-200"> <div class="w-full h-24 bg-gradient-to-br from-indigo-600/20 to-purple-600/20 flex items-center justify-center"> <svg class="w-8 h-8 text-white/20" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/></svg> </div> <div class="p-4"> <p class="text-xs font-semibold text-indigo-400 uppercase tracking-wide mb-1.5">eBooks</p> <p class="text-sm font-semibold text-white group-hover:text-indigo-300 leading-snug line-clamp-2 transition-colors">Pemasaran E-mel untuk Perniagaan Kecil: Urutan Yang Bertukar</p> <p class="text-xs text-white/40 mt-2">Mar 7, 2026</p> </div> </a> <a href="/ms/blog/construction-project-management-for-small-contractors" class="group block bg-white/5 border border-white/10 rounded-2xl overflow-hidden hover:border-indigo-500/40 hover:bg-white/10 transition-all duration-200"> <div class="w-full h-24 bg-gradient-to-br from-indigo-600/20 to-purple-600/20 flex items-center justify-center"> <svg class="w-8 h-8 text-white/20" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/></svg> </div> <div class="p-4"> <p class="text-xs font-semibold text-indigo-400 uppercase tracking-wide mb-1.5">eBooks</p> <p class="text-sm font-semibold text-white group-hover:text-indigo-300 leading-snug line-clamp-2 transition-colors">Pengurusan Projek Pembinaan untuk Kontraktor Kecil</p> <p class="text-xs text-white/40 mt-2">Mar 7, 2026</p> </div> </a> </div> </div> <section class="py-16 bg-gradient-to-br from-indigo-600 to-purple-700 text-white"> <div class="max-w-3xl mx-auto text-center px-4"> <p class="text-sm font-semibold uppercase tracking-widest text-indigo-200 mb-3">Bersedia untuk mengambil tindakan?</p> <h2 class="text-3xl font-bold mb-4">Mulakan percubaan Mewayz percuma anda hari ini</h2> <p class="text-lg text-indigo-100 mb-8">Platform perniagaan all-in-one. Tiada kad kredit diperlukan.</p> <a href="/ms/free-trial?utm_source=blog&utm_medium=bottom_section_cta&utm_content=ms%2Fblog%2Fpartner-program-design-building-a-reseller-ecosystem" onclick="if(typeof gtag==='function') gtag('event','free_trial_start',{event_category:'blog_cta',page:'ms/blog/partner-program-design-building-a-reseller-ecosystem'});if(typeof plausible==='function') plausible('BlogCTA');" class="inline-block bg-white text-indigo-700 font-bold px-8 py-4 rounded-xl text-lg shadow-lg hover:bg-indigo-50 transition-colors"> Mula Percuma → </a> <p class="mt-4 text-sm text-indigo-200">Percubaan percuma 14 hari · Tiada kad kredit · Batal bila-bila masa</p> </div> </section> <script> (function(){ var fired={}, engFired={}; function onScroll(){ var h=document.documentElement.scrollHeight-window.innerHeight; if(h<=0)return; var pct=Math.round((window.scrollY/h)*100); [25,50,75,90].forEach(function(t){ if(pct>=t&&!fired[t]){ fired[t]=true; if(typeof gtag!=='undefined') gtag('event','scroll_depth',{percent:t,event_category:'Blog_Engagement',event_label:'partner-program-design-building-a-reseller-ecosystem'}); if(typeof plausible!=='undefined') plausible('Blog_Scroll',{props:{depth:t+'%',slug:'partner-program-design-building-a-reseller-ecosystem'}}); } }); } window.addEventListener('scroll',onScroll,{passive:true}); [30,60,120].forEach(function(s){ setTimeout(function(){ if(!engFired[s]){ engFired[s]=true; if(typeof gtag!=='undefined') gtag('event','engaged_'+s+'s',{event_category:'Blog_Engagement',event_label:'partner-program-design-building-a-reseller-ecosystem'}); } },s*1000); }); })(); </script> </main> <footer class="border-t border-white/10 py-16"> <div class="mx-auto max-w-7xl px-6"> <div class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-8 mb-12"> <div> <h3 class="text-white font-semibold mb-4">Penyelesaian</h3> <ul class="space-y-4"> <li><a href="https://mewayz.com/for/agencies" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Mewayz untuk agensi">Untuk Agensi</a></li> <li><a href="https://mewayz.com/for/freelancers" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Mewayz untuk freelancer">Untuk Bebas</a></li> <li><a href="https://mewayz.com/for/small-business" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Mewayz untuk perniagaan kecil">Untuk Perniagaan Kecil</a></li> <li><a href="/ms/solutions" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Semua penyelesaian">Semua Penyelesaian</a></li> <li><a href="/ms/white-label" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Penyelesaian penjual semula putih-label">White-Label</a></li> </ul> </div> <div> <h3 class="text-white font-semibold mb-4">Produk</h3> <ul class="space-y-4"> <li><a href="/ms/features" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Lihat semua ciri">Ciri-ciri</a></li> <li><a href="/ms/modules" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Terokai modul kami">Modul</a></li> <li><a href="/ms/integrations" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Lihat integrasi">Integrasi</a></li> <li><a href="/ms/solutions" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Terokai penyelesaian">Penyelesaian</a></li> <li><a href="/ms/pricing" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Lihat pelan harga">Harga</a></li> <li><a href="/ms/compare" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Bandingkan pelan">Bandingkan</a></li> <li><a href="/ms/how-it-works" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Ketahui cara ia berfungsi">Cara Ia Berfungsi</a></li> <li><a href="https://app.mewayz.com/demo" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Cubalah demo langsung">Demo Langsung</a></li> </ul> </div> <div> <h3 class="text-white font-semibold mb-4">Platform Teras</h3> <ul class="space-y-4"> <li><a href="/ms/free-website-builder" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Ketahui tentang pembangun laman web kami">Pembina Laman Web</a></li> <li><a href="/ms/free-link-in-bio" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Ketahui tentang alat pautan dalam bio kami">Pautan dalam Bio</a></li> <li><a href="/ms/online-course-platform" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Ketahui tentang platform kursus kami">Platform Kursus</a></li> <li><a href="/ms/online-store-builder" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Ketahui tentang pembangun kedai e-dagang kami">Kedai E-dagang</a></li> <li><a href="/ms/creator-platform" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Ketahui tentang platform perniagaan kami">Platform Perniagaan</a></li> <li><a href="/ms/creators" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Terokai Mewayz untuk pencipta">Pencipta</a></li> </ul> </div> <div> <h3 class="text-white font-semibold mb-4">Sumber</h3> <ul class="space-y-4"> <li><a href="https://app.mewayz.com/document/help-center" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Buka Pusat Bantuan" rel="noopener noreferrer">Pusat Bantuan</a></li> <li><a href="/ms/faq" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Lihat soalan lazim">Soalan Lazim</a></li> <li><a href="/ms/knowledge-base" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Layari pangkalan pengetahuan kami">Knowledge Base</a></li> <li><a href="/ms/blog" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Read our blog articles">Blog</a></li> <li><a href="/ms/case-studies" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Lihat kajian kes kami">Kajian Kes</a></li> <li><a href="/ms/testimonials" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Baca testimoni pelanggan">Testimoni</a></li> <li><a href="/ms/roi-calculator" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Kira ROI anda">Kalkulator ROI</a></li> <li><a href="/ms/changelog" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Lihat log perubahan produk">Log perubahan</a></li> <li><a href="/ms/security" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Ketahui tentang langkah keselamatan kami">Keselamatan</a></li> </ul> </div> <div> <h3 class="text-white font-semibold mb-4">Syarikat</h3> <ul class="space-y-4"> <li><a href="/ms/about" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Ketahui tentang Mewayz">Perihal</a></li> <li><a href="/ms/contact" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Hubungi pasukan kami">Hubungi</a></li> <li><a href="/ms/white-label-partners" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Ketahui tentang perkongsian white-label">Rakan Kongsi White-Label</a></li> <li><a href="https://mewayz.com/white-label-academy" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Akademi latihan semula percuma">Akademi Rakan WL</a></li> <li><a href="https://mewayz.com/affiliate" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Sertai program afiliasi kami">Ahli Gabungan</a></li> <li><a href="https://mewayz.com/enterprise" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Pelan perusahaan">Enterprise</a></li> <li><a href="https://app.mewayz.com/referrals" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Rujuk seorang rakan dan dapatkan bulan percuma">Rujuk & Dapatkan Ganjarans</a></li> <li><a href="https://mewayz.com/careers" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Lihat jawatan kosong di Mewayz">Kerjaya</a></li> </ul> </div> <div> <div class="flex items-center gap-2 mb-4"> <img src="https://mewayz.com/media/site/logo/rMJeuI5oYw0Ip5Qk8A019o9u9Pm3TIdTARC1R5PH.png" alt="Mewayz Logo" class="h-8 w-8 rounded-lg object-cover" loading="lazy" width="32" height="32"> <span class="text-xl font-bold text-white whitespace-nowrap" style="font-family: 'Airstrike', sans-serif; letter-spacing: 1px;">MEWAYZ</span> </div> <p class="text-white text-sm mb-4"> Mewayz: platform perniagaan semua-dalam-satu — CRM, invois, HR, meja bantuan, dan 130+ modul di satu tempat. </p> <ul class="space-y-4"> <li><a href="/ms/privacy" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Read our privacy policy">Dasar Privasi</a></li> <li><a href="/ms/terms" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Read our terms of service">Terma Perkhidmatan</a></li> <li><a href="/ms/cookie-policy" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Baca dasar kuki kami">Dasar Kuki</a></li> <li><a href="/ms/refund-policy" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Baca dasar bayaran balik kami">Polisi Bayaran Balik</a></li> <li><a href="/ms/acceptable-use" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Baca dasar penggunaan yang boleh diterima kami">Penggunaan Boleh Diterima</a></li> <li><a href="/ms/sla" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Baca perjanjian tahap perkhidmatan kami">SLA</a></li> <li><a href="#" onclick="localStorage.removeItem('cookie_consent'); location.reload(); return false;" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Urus keutamaan kuki">Keutamaan Kuki</a></li> </ul> </div> </div> <div class="border-t border-white/10 pt-12 pb-10 text-center"> <p class="text-white/50 text-xs uppercase tracking-widest mb-3 font-medium">Bersedia untuk memudahkan stack anda?</p> <h3 class="text-white text-2xl md:text-3xl font-bold mb-2">Gantikan 10 alatan dengan satu platform</h3> <p class="text-white/60 text-sm mb-6">Tiada kad kredit. Tiada yuran persediaan. Mulakan dalam 2 minit.</p> <div class="flex flex-col sm:flex-row gap-3 justify-center items-center"> <a href="/ms/free-trial" class="inline-flex items-center gap-2 px-6 py-3 rounded-full bg-white text-black font-semibold text-sm hover:bg-gray-100 transition-colors"> Mula Percuma <i class="ph ph-arrow-right" style="font-size: 16px;" aria-hidden="true"></i> </a> <a href="https://mewayz.com/ms/demo" class="inline-flex items-center gap-2 px-6 py-3 rounded-full border border-white/20 text-white text-sm hover:bg-white/10 transition-colors"> <i class="ph ph-play-circle" style="font-size: 16px;" aria-hidden="true"></i> Tonton demo 2-minit </a> </div> <p class="text-white/30 text-xs mt-4">Jaminan wang dikembalikan 30-hari · Batal pada bila-bila masa</p> </div> <div class="border-t border-white/10 pt-8 pb-8" x-data="{ email: '', submitted: false, error: '' }"> <div class="flex flex-col md:flex-row items-center justify-between gap-6"> <div> <h3 class="text-white font-semibold text-lg">Kekal dalam gelung</h3> <p class="text-white/60 text-sm mt-1">Petua perniagaan, kemas kini produk, dan strategi pertumbuhan. Tiada spam.</p> </div> <div class="w-full md:w-auto"> <template x-if="!submitted"> <form @submit.prevent=" if (!email || !email.includes('@')) { error = 'Masukkan e-mel yang sah.'; return; } error = ''; fetch('/newsletter/subscribe', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRF-TOKEN': document.querySelector('meta[name=csrf-token]')?.content || '' }, body: JSON.stringify({ email: email, source: 'footer', page: window.location.pathname }) }).catch(() => {}); if (typeof gtag !== 'undefined') gtag('event', 'generate_lead', { event_category: 'Newsletter', event_label: 'footer' }); if (typeof fbq !== 'undefined') fbq('track', 'Lead', { content_name: 'footer_newsletter' }); if (typeof plausible !== 'undefined') plausible('Newsletter_Signup', { props: { source: 'footer' } }); submitted = true; " data-form-name="newsletter" class="flex gap-2"> <input x-model="email" type="email" placeholder="E-mel anda" class="px-4 py-2.5 rounded-xl bg-white/10 border border-white/20 text-white placeholder-white/40 text-sm focus:outline-none focus:ring-2 focus:ring-indigo-500 w-64" required> <button type="submit" class="px-5 py-2.5 rounded-xl bg-indigo-600 hover:bg-indigo-500 text-white font-semibold text-sm transition-colors whitespace-nowrap">Langgan</button> </form> </template> <template x-if="submitted"> <p class="text-green-400 text-sm font-medium flex items-center gap-2"> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg> You're subscribed! Check your inbox. </p> </template> <p x-show="error" x-text="error" class="text-xs text-red-400 mt-1"></p> </div> </div> </div> <div class="border-t border-white/10 pt-6 pb-6"> <div class="flex flex-col sm:flex-row items-center justify-between gap-4"> <div> <p class="text-white font-medium text-sm">Suka Mewayz? Rujuk & Dapatkan Wang</p> <p class="text-white/50 text-xs mt-0.5">Dapatkan ganjaran untuk setiap perniagaan yang anda rujuk.</p> </div> <a href="https://app.mewayz.com/referrals?utm_source=footer&utm_medium=referral_cta" class="px-5 py-2.5 rounded-xl border border-white/20 text-white text-sm font-medium hover:bg-white/10 transition-colors whitespace-nowrap"> Ketahui Lebih Lanjut </a> </div> </div> <div class="border-t border-white/10 pt-8"> <div class="flex flex-col md:flex-row justify-between items-center gap-4"> <p class="text-white text-sm">© 2026 Mewayz Global, Corp. · Delaware C Corporation · EIN 38-4374855 · Hak cipta terpelihara.</p> <div class="flex items-center gap-4"> <a href="https://www.tiktok.com/@mewayz.global" target="_blank" rel="noopener noreferrer" class="text-white/60 hover:text-white transition-colors min-h-[44px] min-w-[44px] flex items-center justify-center" aria-label="TikTok"> <i class="ph ph-tiktok-logo" style="font-size: 20px;" aria-hidden="true"></i> </a> <a href="https://www.youtube.com/@mewayz_global" target="_blank" rel="noopener noreferrer" class="text-white/60 hover:text-white transition-colors min-h-[44px] min-w-[44px] flex items-center justify-center" aria-label="YouTube"> <i class="ph ph-youtube-logo" style="font-size: 20px;" aria-hidden="true"></i> </a> <a href="https://www.snapchat.com/add/mewayz_global" target="_blank" rel="noopener noreferrer" class="text-white/60 hover:text-white transition-colors min-h-[44px] min-w-[44px] flex items-center justify-center" aria-label="Snapchat"> <i class="ph ph-snapchat-logo" style="font-size: 20px;" aria-hidden="true"></i> </a> <a href="https://www.instagram.com/mewayz.global/" target="_blank" rel="noopener noreferrer" class="text-white/60 hover:text-white transition-colors min-h-[44px] min-w-[44px] flex items-center justify-center" aria-label="Instagram"> <i class="ph ph-instagram-logo" style="font-size: 20px;" aria-hidden="true"></i> </a> </div> <div class="flex gap-6 flex-wrap justify-center"> <a href="/ms/sitemap" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Lihat peta tapak">Peta Laman</a> <a href="/ms/search" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Cari laman web">Cari</a> <a href="https://mewayz.com/ms/rss.xml" class="text-white hover:text-white/90 transition-colors text-sm min-h-[44px] min-w-[44px] flex items-center py-2" aria-label="Langgan suapan RSS">Suapan RSS</a> </div> </div> </div> </div> </footer> </div> <div x-data="languageModal" class="language-modal-container" x-cloak> <div class="language-modal-overlay" @click="close()" x-show="open" x-transition x-cloak style="display: none;"></div> <div class="language-modal" x-show="open" x-transition x-cloak style="display: none;"> <div class="language-modal-header"> <h3>Tukar Bahasa</h3> <button @click="close()" class="language-modal-close" aria-label="Tutup"> <i class="ph ph-x"></i> </button> </div> <div class="language-modal-content"> <p class="language-modal-description">Pilih bahasa pilihan anda</p> <div class="language-list"> <a href="https://mewayz.com/switch-language/en?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="en"> <span class="language-name">English</span> <span class="language-code">EN</span> </a> <a href="https://mewayz.com/switch-language/th?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="th"> <span class="language-name">ไทย</span> <span class="language-code">TH</span> </a> <a href="https://mewayz.com/switch-language/nl?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="nl"> <span class="language-name">Nederlands</span> <span class="language-code">NL</span> </a> <a href="https://mewayz.com/switch-language/de?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="de"> <span class="language-name">Deutsch</span> <span class="language-code">DE</span> </a> <a href="https://mewayz.com/switch-language/fr?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="fr"> <span class="language-name">Français</span> <span class="language-code">FR</span> </a> <a href="https://mewayz.com/switch-language/es?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="es"> <span class="language-name">Español</span> <span class="language-code">ES</span> </a> <a href="https://mewayz.com/switch-language/it?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="it"> <span class="language-name">Italiano</span> <span class="language-code">IT</span> </a> <a href="https://mewayz.com/switch-language/pt?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="pt"> <span class="language-name">Português</span> <span class="language-code">PT</span> </a> <a href="https://mewayz.com/switch-language/ja?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="ja"> <span class="language-name">日本語</span> <span class="language-code">JA</span> </a> <a href="https://mewayz.com/switch-language/ko?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="ko"> <span class="language-name">한국어</span> <span class="language-code">KO</span> </a> <a href="https://mewayz.com/switch-language/zh?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="zh"> <span class="language-name">中文</span> <span class="language-code">ZH</span> </a> <a href="https://mewayz.com/switch-language/ar?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="ar"> <span class="language-name">العربية</span> <span class="language-code">AR</span> </a> <a href="https://mewayz.com/switch-language/hi?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="hi"> <span class="language-name">हिन्दी</span> <span class="language-code">HI</span> </a> <a href="https://mewayz.com/switch-language/id?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="id"> <span class="language-name">Bahasa Indonesia</span> <span class="language-code">ID</span> </a> <a href="https://mewayz.com/switch-language/vi?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="vi"> <span class="language-name">Tiếng Việt</span> <span class="language-code">VI</span> </a> <a href="https://mewayz.com/switch-language/tr?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="tr"> <span class="language-name">Türkçe</span> <span class="language-code">TR</span> </a> <a href="https://mewayz.com/switch-language/pl?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="pl"> <span class="language-name">Polski</span> <span class="language-code">PL</span> </a> <a href="https://mewayz.com/switch-language/ru?redirect=blog%2Fpartner-program-design-building-a-reseller-ecosystem" class="language-item " data-locale="ru"> <span class="language-name">Русский</span> <span class="language-code">RU</span> </a> </div> </div> </div> </div> <style> .language-modal-container { position: relative; z-index: 9999; } .language-modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(4px); z-index: 9998; } .language-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: white; border-radius: 12px; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); max-width: 500px; width: 90%; max-height: 80vh; overflow: hidden; z-index: 9999; display: flex; flex-direction: column; } .language-modal-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; border-bottom: 1px solid #e5e7eb; } .language-modal-header h3 { margin: 0; font-size: 1.25rem; font-weight: 700; color: #1a1f36; } .language-modal-close { background: none; border: none; font-size: 24px; color: #64748b; cursor: pointer; padding: 4px; display: flex; align-items: center; justify-content: center; border-radius: 4px; transition: all 0.2s; } .language-modal-close:hover { background: #f1f5f9; color: #1a1f36; } .language-modal-content { padding: 24px; overflow-y: auto; flex: 1; } .language-modal-description { margin: 0 0 20px 0; color: #64748b; font-size: 14px; } .language-list { display: flex; flex-direction: column; gap: 8px; } .language-item { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border: 2px solid #e5e7eb; border-radius: 8px; text-decoration: none; color: #1a1f36; transition: all 0.2s; background: white; } .language-item:hover { border-color: #3b82f6; background: #f8fafc; transform: translateY(-1px); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); } .language-item.active { border-color: #3b82f6; background: #eff6ff; } .language-name { font-weight: 500; font-size: 15px; } .language-code { font-size: 12px; color: #64748b; font-weight: 600; text-transform: uppercase; } .language-check { color: #3b82f6; font-size: 20px; } [x-cloak] { display: none !important; } </style> <script> (function registerLanguageModal() { function register() { if (!window.Alpine || typeof window.Alpine.data !== 'function') { return; } // Avoid re-registering the same Alpine component. if (window.__mewayzLanguageModalRegistered) { return; } window.__mewayzLanguageModalRegistered = true; Alpine.data('languageModal', () => ({ open: false, previousBodyOverflow: null, init() { // Listen for open language modal event (multiple event types for compatibility) window.addEventListener('open-language-modal', () => { this.openModal(); }); // Listen for open-modal event with detail 'language-modal-guest' window.addEventListener('open-modal', (e) => { if (e.detail === 'language-modal-guest' || e.detail === 'language-modal') { this.openModal(); } }); // Listen for close modal event window.addEventListener('close-modal', (e) => { if (!e.detail || e.detail === 'language-modal-guest' || e.detail === 'language-modal') { this.close(); } }); // Close on Escape key document.addEventListener('keydown', (e) => { if (e.key === 'Escape' && this.open) { this.close(); } }); }, openModal() { if (this.open) { return; } this.open = true; this.previousBodyOverflow = document.body.style.overflow; document.body.style.overflow = 'hidden'; }, close() { this.open = false; document.body.style.overflow = this.previousBodyOverflow ?? ''; this.previousBodyOverflow = null; } })); } if (window.Alpine) { register(); } else { document.addEventListener('alpine:init', register); } })(); // Update language button to show current language (function() { const languageNames = {"en":"English","th":"\u0e44\u0e17\u0e22","nl":"Nederlands","de":"Deutsch","fr":"Fran\u00e7ais","es":"Espa\u00f1ol","it":"Italiano","pt":"Portugu\u00eas","ja":"\u65e5\u672c\u8a9e","ko":"\ud55c\uad6d\uc5b4","zh":"\u4e2d\u6587","ar":"\u0627\u0644\u0639\u0631\u0628\u064a\u0629","hi":"\u0939\u093f\u0928\u094d\u0926\u0940","id":"Bahasa Indonesia","vi":"Ti\u1ebfng Vi\u1ec7t","tr":"T\u00fcrk\u00e7e","pl":"Polski","ru":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439"}; const availableLocales = Object.keys(languageNames); const defaultLanguageName = 'English'; function getLocaleFromPath() { const path = window.location.pathname; const pathParts = path.split('/').filter(p => p); if (pathParts.length > 0 && availableLocales.includes(pathParts[0])) { return pathParts[0]; } return null; } function updateLanguageButton() { const btn = document.getElementById('language-switcher-btn'); const nameSpan = document.getElementById('current-language-name'); if (btn && nameSpan) { // Try to get locale from URL first, then from data attribute, then default to 'en' let currentLocale = getLocaleFromPath() || btn.getAttribute('data-current-locale') || 'en'; const languageName = languageNames[currentLocale] || defaultLanguageName; nameSpan.textContent = languageName; btn.setAttribute('data-current-locale', currentLocale); } } // Update on page load if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', updateLanguageButton); } else { updateLanguageButton(); } // Update after navigation (for SPA-like behavior) window.addEventListener('popstate', updateLanguageButton); // Also update periodically in case URL changes without navigation event let lastPath = window.location.pathname; setInterval(() => { if (window.location.pathname !== lastPath) { lastPath = window.location.pathname; updateLanguageButton(); } }, 500); })(); </script> <div x-data="watchDemoModal" x-cloak> <div x-show="open" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" @click="close()" class="fixed inset-0 bg-black/80 backdrop-blur-sm z-[418]" style="display: none;" ></div> <div x-show="open" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0 scale-95" x-transition:enter-end="opacity-100 scale-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100 scale-100" x-transition:leave-end="opacity-0 scale-95" role="dialog" aria-modal="true" aria-labelledby="watch-demo-title" @keydown.escape.window="if (open) close()" class="fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[90%] max-w-3xl z-[420] rounded-3xl border border-white/10 bg-gradient-to-b from-gray-900/95 to-black/98 backdrop-blur-xl shadow-2xl overflow-hidden" style="display: none;" > <div class="flex justify-between items-center p-6 border-b border-white/10 bg-gradient-to-b from-blue-500/10 to-transparent"> <div class="flex items-center gap-3"> <div class="h-12 w-12 rounded-xl bg-gradient-to-br from-blue-500 to-purple-600 flex items-center justify-center"> <i class="ph ph-play text-white" style="font-size: 24px;"></i> </div> <div> <h3 id="watch-demo-title" class="text-xl font-bold text-white text-center">Cuba Mewayz — Langsung</h3> <p class="text-white/70 text-sm">Dapatkan sandbox sebenar dengan data sampel — tidak perlu mendaftar</p> </div> </div> <button type="button" @click="close()" class="bg-white/10 border border-white/20 rounded-lg w-9 h-9 flex items-center justify-center text-white/80 hover:bg-white/20 hover:text-white transition-all" aria-label="Tutup"> <i class="ph ph-x" style="font-size: 20px;"></i> </button> </div> <div class="p-6 md:p-8"> <p class="text-white/80 text-center text-sm mb-6">130+ modules across 8 categories — here's what you get from day one.</p> <div class="grid grid-cols-2 sm:grid-cols-4 gap-3 mb-6"> <div class="flex flex-col items-center gap-2 p-3 rounded-xl border border-white/10 bg-white/5"> <i class="ph ph-storefront text-blue-400" style="font-size: 24px;" aria-hidden="true"></i> <span class="text-white/90 text-xs font-medium text-center">Kedai Dalam Talian</span> </div> <div class="flex flex-col items-center gap-2 p-3 rounded-xl border border-white/10 bg-white/5"> <i class="ph ph-graduation-cap text-blue-400" style="font-size: 24px;" aria-hidden="true"></i> <span class="text-white/90 text-xs font-medium text-center">Kursus-kursus</span> </div> <div class="flex flex-col items-center gap-2 p-3 rounded-xl border border-white/10 bg-white/5"> <i class="ph ph-calendar-check text-blue-400" style="font-size: 24px;" aria-hidden="true"></i> <span class="text-white/90 text-xs font-medium text-center">Booking</span> </div> <div class="flex flex-col items-center gap-2 p-3 rounded-xl border border-white/10 bg-white/5"> <i class="ph ph-currency-dollar text-blue-400" style="font-size: 24px;" aria-hidden="true"></i> <span class="text-white/90 text-xs font-medium text-center">Pengeinvoisan</span> </div> <div class="flex flex-col items-center gap-2 p-3 rounded-xl border border-white/10 bg-white/5"> <i class="ph ph-users-three text-blue-400" style="font-size: 24px;" aria-hidden="true"></i> <span class="text-white/90 text-xs font-medium text-center">CRM</span> </div> <div class="flex flex-col items-center gap-2 p-3 rounded-xl border border-white/10 bg-white/5"> <i class="ph ph-chart-line-up text-blue-400" style="font-size: 24px;" aria-hidden="true"></i> <span class="text-white/90 text-xs font-medium text-center">Analisis</span> </div> <div class="flex flex-col items-center gap-2 p-3 rounded-xl border border-white/10 bg-white/5"> <i class="ph ph-robot text-blue-400" style="font-size: 24px;" aria-hidden="true"></i> <span class="text-white/90 text-xs font-medium text-center">Alur Kerja AI</span> </div> <div class="flex flex-col items-center gap-2 p-3 rounded-xl border border-white/10 bg-white/5"> <i class="ph ph-link text-blue-400" style="font-size: 24px;" aria-hidden="true"></i> <span class="text-white/90 text-xs font-medium text-center">Link-in-Bio</span> </div> </div> <div class="rounded-xl border border-blue-500/20 bg-blue-500/5 p-5 mb-6"> <div class="flex items-start gap-3"> <i class="ph ph-game-controller text-blue-400 mt-0.5" style="font-size: 22px;" aria-hidden="true"></i> <div> <p class="text-white font-semibold text-sm mb-1">Kotak pasir interaktif — tiada pendaftaran diperlukan</p> <p class="text-white/60 text-xs mb-3">Dapatkan persekitaran berfungsi penuh dengan data sampel. Terokai CRM, pengebilan, kursus, dan semua 130+ modul. Kotak pasir anda kekal aktif selama 24 jam.</p> <a href="https://app.mewayz.com/demo" class="inline-flex items-center gap-2 px-6 py-3 rounded-full bg-white text-black font-semibold text-sm hover:bg-gray-100 transition-all shadow-lg shadow-white/20" @click="close()"> <i class="ph ph-play-circle" style="font-size: 18px;" aria-hidden="true"></i> Mulakan Demo Langsung </a> </div> </div> </div> <div class="flex flex-col sm:flex-row gap-3 justify-center"> <a href="/ms/free-trial" class="inline-flex items-center justify-center gap-2 px-8 py-4 rounded-full border border-white/20 bg-white/5 text-white font-semibold hover:bg-white/10 hover:border-white/30 transition-all"> Mula Akaun Percuma <i class="ph ph-arrow-right" style="font-size: 18px;" aria-hidden="true"></i> </a> <button type="button" @click="$dispatch('open-modal', 'schedule-demo-modal'); close()" class="inline-flex items-center justify-center gap-2 px-8 py-4 rounded-full border border-white/20 bg-white/5 text-white font-semibold hover:bg-white/10 hover:border-white/30 transition-all"> <i class="ph ph-calendar-check" style="font-size: 18px;" aria-hidden="true"></i> Jadual Panggilan Langsung </button> </div> </div> </div> </div> <script> document.addEventListener('alpine:init', () => { Alpine.data('watchDemoModal', () => ({ open: false, init() { window.addEventListener('open-modal', (e) => { if (e.detail === 'watch-demo-modal') { this.open = true; document.body.style.overflow = 'hidden'; if (typeof gtag !== 'undefined') gtag('event', 'modal_open', { event_category: 'Modal', event_label: 'watch_demo' }); if (typeof plausible !== 'undefined') plausible('Modal_Open', { props: { modal: 'watch_demo' } }); } }); window.addEventListener('close-modal', (e) => { if (!e.detail || e.detail === 'watch-demo-modal') { this.close(); } }); document.addEventListener('keydown', (e) => { if (e.key === 'Escape' && this.open) { this.close(); } }); }, close() { this.open = false; document.body.style.overflow = ''; if (typeof gtag !== 'undefined') gtag('event', 'modal_close', { event_category: 'Modal', event_label: 'watch_demo' }); } })); }); </script> <div x-data="scheduleDemoModal" class="schedule-demo-modal-container"> <div class="schedule-demo-modal-overlay" @click="close()" x-show="open" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" style="display: none;"></div> <div class="schedule-demo-modal" role="dialog" aria-modal="true" aria-labelledby="schedule-demo-title" @keydown.escape.window="if (open) close()" x-show="open" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0 scale-95" x-transition:enter-end="opacity-100 scale-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100 scale-100" x-transition:leave-end="opacity-0 scale-95" x-cloak style="display: none;"> <div class="schedule-demo-modal-header"> <div class="flex items-center gap-3"> <div class="h-12 w-12 rounded-xl bg-gradient-to-br from-blue-500 to-purple-600 flex items-center justify-center"> <i class="ph ph-calendar-check text-white" style="font-size: 24px;"></i> </div> <div> <h3 id="schedule-demo-title" class="schedule-demo-modal-title">Jadualkan Demo</h3> <p class="schedule-demo-modal-subtitle">Book a personalized demo with our team</p> </div> </div> <button type="button" @click="close()" class="schedule-demo-modal-close" aria-label="Tutup"> <i class="ph ph-x"></i> </button> </div> <div class="schedule-demo-modal-content"> <form @submit.prevent="submitForm()" class="schedule-demo-form"> <div class="schedule-demo-form-group"> <label for="demo-name" class="schedule-demo-label">Nama Penuh *</label> <input type="text" id="demo-name" x-model="formData.name" required class="schedule-demo-input" placeholder="Masukkan nama penuh anda" > </div> <div class="schedule-demo-form-group"> <label for="demo-email" class="schedule-demo-label">Alamat E-mel *</label> <input type="email" id="demo-email" x-model="formData.email" required class="schedule-demo-input" placeholder="Masukkan alamat e-mel anda" > </div> <div class="schedule-demo-form-group"> <label for="demo-company" class="schedule-demo-label">Nama Syarikat</label> <input type="text" id="demo-company" x-model="formData.company" class="schedule-demo-input" placeholder="Masukkan nama syarikat anda (pilihan)" > </div> <div class="schedule-demo-form-group" x-data="{ showScheduling: false }"> <button type="button" @click="showScheduling = !showScheduling" class="text-sm text-blue-400 hover:text-blue-300 transition-colors flex items-center gap-1 mb-2"> <i class="ph" :class="showScheduling ? 'ph-caret-down' : 'ph-caret-right'" style="font-size: 14px;"></i> Pilih masa pilihan (pilihan) </button> <div x-show="showScheduling" x-collapse class="space-y-4"> <div> <label for="demo-date" class="schedule-demo-label">Tarikh Pilihan</label> <input type="date" id="demo-date" x-model="formData.date" min="2026-03-09" class="schedule-demo-input"> </div> <div> <label for="demo-time" class="schedule-demo-label">Masa Pilihan</label> <select id="demo-time" x-model="formData.time" class="schedule-demo-input"> <option value="">Sebarang masa berfungsi</option> <option value="09:00">09:00 - 10:00</option> <option value="10:00">10:00 - 11:00</option> <option value="11:00">11:00 - 12:00</option> <option value="13:00">13:00 - 14:00</option> <option value="14:00">14:00 - 15:00</option> <option value="15:00">15:00 - 16:00</option> <option value="16:00">16:00 - 17:00</option> </select> </div> </div> <input type="hidden" x-model="formData.timezone"> </div> <div class="schedule-demo-form-group"> <label for="demo-message" class="schedule-demo-label">Mesej</label> <textarea id="demo-message" x-model="formData.message" rows="4" class="schedule-demo-input" placeholder="Beritahu kami apa yang anda ingin lihat dalam demo (pilihan)" ></textarea> </div> <div x-show="formSubmitted" class="schedule-demo-success"> <i class="ph ph-check-circle text-green-400" style="font-size: 24px;"></i> <p>Terima kasih! Kami akan menghubungi anda tidak lama lagi untuk mengesahkan demo anda.</p> </div> <div x-show="formError" class="schedule-demo-error"> <i class="ph ph-warning-circle text-red-400" style="font-size: 24px;"></i> <p>Sesuatu tidak kena. Sila cuba lagi atau hubungi kami terus.</p> </div> </form> </div> <div class="schedule-demo-modal-footer"> <div class="flex gap-4"> <button type="button" class="inline-flex items-center justify-center font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/20 disabled:pointer-events-none disabled:opacity-50 rounded-full group relative overflow-hidden whitespace-nowrap border border-white/20 bg-white/5 backdrop-blur-xl text-white hover:bg-white/10 hover:border-white/30 min-h-[44px] min-w-[44px] px-8 py-6 text-lg font-semibold flex-1" @click="close()"> <span class="relative z-10 flex items-center">Batal</span> <div class="absolute inset-0 -top-2 -bottom-2 bg-gradient-to-r from-transparent via-white/20 to-transparent skew-x-12 -translate-x-full group-hover:translate-x-full transition-transform duration-1000 ease-out"></div> </button> <button type="button" class="inline-flex items-center justify-center font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/20 disabled:pointer-events-none disabled:opacity-50 rounded-full group relative overflow-hidden whitespace-nowrap bg-white text-black hover:bg-gray-100 min-h-[44px] min-w-[44px] px-8 py-6 text-lg shadow-2xl shadow-white/25 font-semibold flex-1" @click="submitForm()" x-bind:disabled="submitting"> <span class="relative z-10 flex items-center"><span x-show="!submitting">Jadualkan Demo</span> <span x-show="submitting" class="flex items-center gap-2"> <i class="ph ph-spinner animate-spin"></i> Menjadual... </span></span> <div class="absolute inset-0 -top-2 -bottom-2 bg-gradient-to-r from-transparent via-white/20 to-transparent skew-x-12 -translate-x-full group-hover:translate-x-full transition-transform duration-1000 ease-out"></div> </button> </div> </div> </div> </div> <style> .schedule-demo-modal-container { position: relative; z-index: 350; } .schedule-demo-modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.8); backdrop-filter: blur(8px); z-index: 349; } .schedule-demo-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: linear-gradient(to bottom, rgba(17, 24, 39, 0.95), rgba(0, 0, 0, 0.98)); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 24px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.05); max-width: 600px; width: 90%; max-height: 90vh; overflow: hidden; z-index: 350; display: flex; flex-direction: column; backdrop-filter: blur(20px); } .schedule-demo-modal-header { display: flex; justify-content: space-between; align-items: center; padding: 24px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); background: linear-gradient(to bottom, rgba(59, 130, 246, 0.1), transparent); } .schedule-demo-modal-title { margin: 0; font-size: 1.5rem; font-weight: 700; color: white; } .schedule-demo-modal-subtitle { margin: 4px 0 0 0; font-size: 0.875rem; color: rgba(255, 255, 255, 0.7); } .schedule-demo-modal-close { background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); font-size: 20px; color: rgba(255, 255, 255, 0.8); cursor: pointer; padding: 8px; display: flex; align-items: center; justify-content: center; border-radius: 8px; transition: all 0.2s; width: 36px; height: 36px; } .schedule-demo-modal-close:hover { background: rgba(255, 255, 255, 0.2); color: white; border-color: rgba(255, 255, 255, 0.3); } .schedule-demo-modal-content { padding: 24px; overflow-y: auto; flex: 1; } .schedule-demo-form { display: flex; flex-direction: column; gap: 20px; } .schedule-demo-form-group { display: flex; flex-direction: column; gap: 8px; } .schedule-demo-label { font-size: 0.875rem; font-weight: 500; color: rgba(255, 255, 255, 0.9); } .schedule-demo-input { width: 100%; padding: 12px 16px; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; color: white; font-size: 0.9375rem; transition: all 0.2s; } .schedule-demo-input:focus { outline: none; border-color: rgba(59, 130, 246, 0.5); background: rgba(255, 255, 255, 0.08); box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); } .schedule-demo-input::placeholder { color: rgba(255, 255, 255, 0.4); } .schedule-demo-input option { background: #1a1f36; color: white; } .schedule-demo-success, .schedule-demo-error { display: flex; align-items: center; gap: 12px; padding: 16px; border-radius: 12px; margin-top: 8px; } .schedule-demo-success { background: rgba(34, 197, 94, 0.1); border: 1px solid rgba(34, 197, 94, 0.3); color: rgba(255, 255, 255, 0.9); } .schedule-demo-error { background: rgba(239, 68, 68, 0.1); border: 1px solid rgba(239, 68, 68, 0.3); color: rgba(255, 255, 255, 0.9); } .schedule-demo-modal-footer { padding: 24px; border-top: 1px solid rgba(255, 255, 255, 0.1); background: linear-gradient(to top, rgba(59, 130, 246, 0.05), transparent); } [x-cloak] { display: none !important; } </style> <script> document.addEventListener('alpine:init', () => { Alpine.data('scheduleDemoModal', () => ({ open: false, submitting: false, formSubmitted: false, formError: false, formData: { name: '', email: '', company: '', date: '', time: '', timezone: '', message: '', utm_source: '', page_context: '', vertical: '' }, init() { // Auto-detect user's timezone try { this.formData.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone; } catch(e) {} // Capture UTM and page context const params = new URLSearchParams(window.location.search); this.formData.utm_source = params.get('utm_source') || ''; this.formData.page_context = window.location.pathname; const path = window.location.pathname.replace(/^\/[a-z]{2}\//, '/'); const verticalMatch = path.match(/\/(crm|invoicing|hr|helpdesk|inventory|projects|booking|analytics|proposals|social|marketing|email|contracts)/); this.formData.vertical = verticalMatch ? verticalMatch[1] : ''; // Listen for open schedule demo modal event window.addEventListener('open-modal', (e) => { if (e.detail === 'schedule-demo-modal') { this.open = true; document.body.style.overflow = 'hidden'; if (typeof gtag !== 'undefined') gtag('event', 'modal_open', { event_category: 'Modal', event_label: 'schedule_demo' }); if (typeof plausible !== 'undefined') plausible('Modal_Open', { props: { modal: 'schedule_demo' } }); } }); // Listen for close modal event window.addEventListener('close-modal', (e) => { if (!e.detail || e.detail === 'schedule-demo-modal') { this.close(); } }); // Close on Escape key document.addEventListener('keydown', (e) => { if (e.key === 'Escape' && this.open) { this.close(); } }); }, async submitForm() { this.submitting = true; this.formError = false; this.formSubmitted = false; try { const response = await fetch('/api/demo-request', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', }, body: JSON.stringify(this.formData), }); if (!response.ok) throw new Error('Request failed'); this.formSubmitted = true; // Fire conversion events on successful demo booking try { if (typeof gtag !== 'undefined') { gtag('event', 'demo_request', { event_category: 'Lead', event_label: 'schedule_demo', value: 10, currency: 'USD' }); gtag('event', 'demo_request_submit', { event_category: 'Lead', event_label: 'schedule_demo' }); gtag('event', 'generate_lead', { event_category: 'Demo', event_label: 'schedule_demo', value: 10 }); gtag('event', 'conversion', { send_to: 'AW-17998096135/iMDQCIax7oMcEIfOlIZD', value: 10.0, currency: 'USD' }); } if (typeof plausible !== 'undefined') plausible('Demo_Request_Submit'); if (typeof plausible !== 'undefined') plausible('Demo_Booked', { props: { source: 'schedule_demo_modal' } }); if (typeof fbq !== 'undefined') fbq('track', 'Lead', { content_name: 'demo_booking' }); } catch(e) {} setTimeout(() => { this.close(); }, 3000); } catch (error) { this.formError = true; } finally { this.submitting = false; } }, close() { this.open = false; document.body.style.overflow = ''; if (typeof gtag !== 'undefined') gtag('event', 'modal_close', { event_category: 'Modal', event_label: 'schedule_demo' }); // Reset form after a delay to allow animation setTimeout(() => { var tz = this.formData.timezone; var utmSrc = this.formData.utm_source; var pageCtx = this.formData.page_context; var vert = this.formData.vertical; this.formData = { name: '', email: '', company: '', date: '', time: '', timezone: tz, message: '', utm_source: utmSrc, page_context: pageCtx, vertical: vert }; this.formSubmitted = false; this.formError = false; }, 300); } })); }); </script> <div x-data="contactModal" class="contact-modal-container"> <div class="contact-modal-overlay" @click="close()" x-show="open" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" style="display: none;"></div> <div class="contact-modal" x-show="open" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0 scale-95" x-transition:enter-end="opacity-100 scale-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100 scale-100" x-transition:leave-end="opacity-0 scale-95" x-cloak style="display: none;"> <div class="contact-modal-header"> <div class="flex items-center gap-3"> <div class="h-12 w-12 rounded-xl bg-gradient-to-br from-blue-500 to-purple-600 flex items-center justify-center"> <i class="ph ph-envelope text-white" style="font-size: 24px;"></i> </div> <div> <h3 class="contact-modal-title">Hubungi Kami</h3> <p class="contact-modal-subtitle">Hubungi pasukan kami</p> </div> </div> <button type="button" @click="close()" class="contact-modal-close" aria-label="Tutup"> <i class="ph ph-x"></i> </button> </div> <div class="contact-modal-content"> <form @submit.prevent="submitForm()" class="contact-form"> <div class="contact-form-group"> <label for="contact-name" class="contact-label">Nama Penuh *</label> <input type="text" id="contact-name" x-model="formData.name" required class="contact-input" placeholder="Masukkan nama penuh anda" > </div> <div class="contact-form-group"> <label for="contact-email" class="contact-label">Alamat E-mel *</label> <input type="email" id="contact-email" x-model="formData.email" required class="contact-input" placeholder="Masukkan alamat e-mel anda" > </div> <div class="contact-form-group"> <label for="contact-subject" class="contact-label">Subjek *</label> <select id="contact-subject" x-model="formData.subject" required class="contact-input" > <option value="">Pilih subjek...</option> <option value="general">Pertanyaan Umum</option> <option value="sales">Jualan & Perkongsian</option> <option value="white-label">Program White-Label</option> <option value="support">Sokongan</option> <option value="career">Peluang Kerjaya</option> <option value="other">Lain-lain</option> </select> </div> <div class="contact-form-group"> <label for="contact-message" class="contact-label">Mesej *</label> <textarea id="contact-message" x-model="formData.message" rows="4" required class="contact-input" placeholder="Masukkan mesej anda" ></textarea> </div> <div x-show="formSubmitted" class="contact-success"> <i class="ph ph-check-circle text-green-400" style="font-size: 24px;"></i> <p>Terima kasih! Kami akan menghubungi anda tidak lama lagi.</p> </div> <div x-show="formError" class="contact-error"> <i class="ph ph-warning-circle text-red-400" style="font-size: 24px;"></i> <p>Sesuatu tidak kena. Sila cuba lagi atau hubungi kami terus.</p> </div> </form> </div> <div class="contact-modal-footer"> <div class="flex gap-4"> <button type="button" class="inline-flex items-center justify-center font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/20 disabled:pointer-events-none disabled:opacity-50 rounded-full group relative overflow-hidden whitespace-nowrap border border-white/20 bg-white/5 backdrop-blur-xl text-white hover:bg-white/10 hover:border-white/30 min-h-[44px] min-w-[44px] px-8 py-6 text-lg font-semibold flex-1" @click="close()"> <span class="relative z-10 flex items-center">Batal</span> <div class="absolute inset-0 -top-2 -bottom-2 bg-gradient-to-r from-transparent via-white/20 to-transparent skew-x-12 -translate-x-full group-hover:translate-x-full transition-transform duration-1000 ease-out"></div> </button> <button type="button" class="inline-flex items-center justify-center font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/20 disabled:pointer-events-none disabled:opacity-50 rounded-full group relative overflow-hidden whitespace-nowrap bg-white text-black hover:bg-gray-100 min-h-[44px] min-w-[44px] px-8 py-6 text-lg shadow-2xl shadow-white/25 font-semibold flex-1" @click="submitForm()" x-bind:disabled="submitting"> <span class="relative z-10 flex items-center"><span x-show="!submitting">Hantar Mesej</span> <span x-show="submitting" class="flex items-center gap-2"> <i class="ph ph-spinner animate-spin"></i> Menghantar... </span></span> <div class="absolute inset-0 -top-2 -bottom-2 bg-gradient-to-r from-transparent via-white/20 to-transparent skew-x-12 -translate-x-full group-hover:translate-x-full transition-transform duration-1000 ease-out"></div> </button> </div> </div> </div> </div> <style> .contact-modal-container { position: relative; z-index: 9999; } .contact-modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.8); backdrop-filter: blur(8px); z-index: 9998; } .contact-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: linear-gradient(to bottom, rgba(17, 24, 39, 0.95), rgba(0, 0, 0, 0.98)); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 24px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.05); max-width: 600px; width: 90%; max-height: 90vh; overflow: hidden; z-index: 9999; display: flex; flex-direction: column; backdrop-filter: blur(20px); } .contact-modal-header { display: flex; justify-content: space-between; align-items: center; padding: 24px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); background: linear-gradient(to bottom, rgba(59, 130, 246, 0.1), transparent); } .contact-modal-title { margin: 0; font-size: 1.5rem; font-weight: 700; color: white; } .contact-modal-subtitle { margin: 4px 0 0 0; font-size: 0.875rem; color: rgba(255, 255, 255, 0.7); } .contact-modal-close { background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); font-size: 20px; color: rgba(255, 255, 255, 0.8); cursor: pointer; padding: 8px; display: flex; align-items: center; justify-content: center; border-radius: 8px; transition: all 0.2s; width: 36px; height: 36px; } .contact-modal-close:hover { background: rgba(255, 255, 255, 0.2); color: white; border-color: rgba(255, 255, 255, 0.3); } .contact-modal-content { padding: 24px; overflow-y: auto; flex: 1; } .contact-form { display: flex; flex-direction: column; gap: 20px; } .contact-form-group { display: flex; flex-direction: column; gap: 8px; } .contact-label { font-size: 0.875rem; font-weight: 500; color: rgba(255, 255, 255, 0.9); } .contact-input { width: 100%; padding: 12px 16px; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; color: white; font-size: 0.9375rem; transition: all 0.2s; } .contact-input:focus { outline: none; border-color: rgba(59, 130, 246, 0.5); background: rgba(255, 255, 255, 0.08); box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); } .contact-input::placeholder { color: rgba(255, 255, 255, 0.4); } .contact-input option { background: #1a1a1a !important; color: white !important; } .contact-success, .contact-error { display: flex; align-items: center; gap: 12px; padding: 16px; border-radius: 12px; margin-top: 8px; } .contact-success { background: rgba(34, 197, 94, 0.1); border: 1px solid rgba(34, 197, 94, 0.3); color: rgba(255, 255, 255, 0.9); } .contact-error { background: rgba(239, 68, 68, 0.1); border: 1px solid rgba(239, 68, 68, 0.3); color: rgba(255, 255, 255, 0.9); } .contact-modal-footer { padding: 24px; border-top: 1px solid rgba(255, 255, 255, 0.1); background: linear-gradient(to top, rgba(59, 130, 246, 0.05), transparent); } [x-cloak] { display: none !important; } </style> <script> document.addEventListener('alpine:init', () => { Alpine.data('contactModal', () => ({ open: false, submitting: false, formSubmitted: false, formError: false, formData: { name: '', email: '', subject: '', message: '', utm_source: '', page_context: '', vertical: '' }, init() { // Capture UTM and page context const params = new URLSearchParams(window.location.search); this.formData.utm_source = params.get('utm_source') || ''; this.formData.page_context = window.location.pathname; const path = window.location.pathname.replace(/^\/[a-z]{2}\//, '/'); const verticalMatch = path.match(/\/(crm|invoicing|hr|helpdesk|inventory|projects|booking|analytics|proposals|social|marketing|email|contracts)/); this.formData.vertical = verticalMatch ? verticalMatch[1] : ''; // Pre-select subject based on current page if (path.includes('white-label')) { this.formData.subject = 'white-label'; } else if (path.includes('pricing') || path.includes('enterprise')) { this.formData.subject = 'sales'; } else { this.formData.subject = 'general'; } // Listen for open contact modal event window.addEventListener('open-modal', (e) => { if (e.detail === 'contact-modal') { this.open = true; document.body.style.overflow = 'hidden'; } }); // Listen for close modal event window.addEventListener('close-modal', (e) => { if (!e.detail || e.detail === 'contact-modal') { this.close(); } }); // Close on Escape key document.addEventListener('keydown', (e) => { if (e.key === 'Escape' && this.open) { this.close(); } }); }, async submitForm() { this.submitting = true; this.formError = false; this.formSubmitted = false; try { const csrfToken = document.querySelector('meta[name="csrf-token"]')?.getAttribute('content'); const response = await fetch('/api/contact', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', 'X-CSRF-TOKEN': csrfToken || '', }, body: JSON.stringify({ name: this.formData.name, email: this.formData.email, subject: this.formData.subject, message: this.formData.message, page: window.location.pathname, utm_source: this.formData.utm_source, page_context: this.formData.page_context, vertical: this.formData.vertical, }), }); if (!response.ok) throw new Error('Submission failed'); this.formSubmitted = true; // GA4: track lead if (typeof gtag === 'function') { gtag('event', 'generate_lead', { event_category: 'Contact', event_label: this.formData.subject || 'General', value: 1, }); } setTimeout(() => { this.close(); }, 3000); } catch (error) { this.formError = true; } finally { this.submitting = false; } }, close() { this.open = false; document.body.style.overflow = ''; // Reset form after a delay to allow animation setTimeout(() => { this.formData = { name: '', email: '', subject: '', message: '', utm_source: this.formData.utm_source, page_context: this.formData.page_context, vertical: this.formData.vertical }; this.formSubmitted = false; this.formError = false; }, 300); } })); }); </script> <div x-data="{ show: false, init() { window.addEventListener('scroll', () => { this.show = window.scrollY > 600; }, { passive: true }); } }" x-show="show" x-cloak x-effect="$dispatch('sticky-cta-toggle', { visible: show })" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0 -translate-y-full" x-transition:enter-end="opacity-100 translate-y-0" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100 translate-y-0" x-transition:leave-end="opacity-0 -translate-y-full" class="fixed top-0 left-0 right-0 z-40 hidden md:block" style="display:none" > <div class="bg-black/95 backdrop-blur-lg border-b border-white/10" style="height: 48px;"> <div class="mx-auto max-w-7xl h-full flex items-center justify-between px-4 lg:px-6"> <div class="flex items-center gap-3"> <span class="font-bold text-white text-sm">Cuba Mewayz</span> <span class="text-white/40">|</span> <span class="text-white/50 text-sm">Semua ciri dibuka. Tiada kad kredit.</span> </div> <div class="flex items-center gap-3"> <a href="https://mewayz.com/ms/demo" class="px-5 py-1.5 rounded-lg bg-white text-black text-sm font-bold hover:bg-gray-100 transition whitespace-nowrap" onclick="if(typeof gtag==='function')gtag('event','demo_request',{event_category:'CTA',event_label:'desktop_sticky'});if(typeof plausible==='function')plausible('Demo_Click',{props:{location:'desktop_sticky'}});"> Cuba Demo </a> </div> </div> </div> </div> <div x-data="{ show: false, cookieVisible: false }" x-init=" window.addEventListener('scroll', () => { show = window.scrollY > 300 }, { passive: true }); cookieVisible = !!document.querySelector('[data-cookie-consent]') && !localStorage.getItem('cookie_consent'); const obs = new MutationObserver(() => { cookieVisible = !!document.querySelector('[data-cookie-consent]:not([style*="display: none"]):not([style*="display:none"])'); }); obs.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style'] }); " x-show="show && !cookieVisible" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="translate-y-full opacity-0" x-transition:enter-end="translate-y-0 opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="translate-y-0 opacity-100" x-transition:leave-end="translate-y-full opacity-0" class="fixed bottom-0 inset-x-0 z-50 md:hidden" style="display:none; padding-bottom: env(safe-area-inset-bottom, 0px);"> <div class="bg-black/95 backdrop-blur-lg border-t border-white/10 px-4 py-3 flex items-center justify-between gap-3"> <div class="text-xs text-white/70 flex-shrink-0"> <span class="font-bold text-white">Mula Percuma</span> <span class="block text-[10px]">Tiada kad kredit</span> </div> <div class="flex gap-2"> <a href="https://mewayz.com/ms/demo" class="px-3 py-2 rounded-lg border border-white/20 text-white text-xs font-medium hover:bg-white/10 transition whitespace-nowrap" onclick="if(typeof gtag==='function')gtag('event','demo_request',{event_category:'CTA',event_label:'mobile_sticky'});if(typeof plausible==='function')plausible('Demo_Click',{props:{location:'mobile_sticky'}});"> Demo </a> <a href="/ms/free-trial?utm_source=mobile_sticky&utm_medium=cta_bar&utm_campaign=trial&locale=ms" class="px-4 py-2 rounded-lg bg-white text-black text-xs font-bold hover:bg-gray-100 transition whitespace-nowrap" onclick="if(typeof gtag==='function'){gtag('event','free_trial_start',{event_category:'Conversion',event_label:'mobile_sticky'});gtag('event','sticky_cta_click',{event_category:'CTA',event_label:'mobile_sticky'});}if(typeof plausible==='function'){plausible('Free_Trial_Start',{props:{source:'mobile_sticky'}});plausible('Sticky_CTA_Click',{props:{location:'mobile_sticky'}});}"> Daftar </a> </div> </div> </div> <script data-navigate-once="true">window.livewireScriptConfig = {"csrf":"zQ71LXhsrZfXNfraOYUbJANwcROBxMuRknoLcVgu","uri":"\/livewire\/update","progressBar":"","nonce":""};</script> <link rel="preload" as="style" href="https://mewayz.com/build/assets/vendor-4f33a8f0.css" /><link rel="modulepreload" href="https://mewayz.com/build/assets/yenaWire-0eb0c3a4.js" /><link rel="modulepreload" href="https://mewayz.com/build/assets/vendor-8c6feac7.js" /><link rel="modulepreload" href="https://mewayz.com/build/assets/vendor-alpine-9e107fd1.js" /><link rel="stylesheet" href="https://mewayz.com/build/assets/vendor-4f33a8f0.css" data-navigate-track="reload" /><script type="module" src="https://mewayz.com/build/assets/yenaWire-0eb0c3a4.js" data-navigate-track="reload"></script> <div x-data="{ show: false, email: '', submitted: false, error: '', init() { let fired = false; const startTime = Date.now(); const minTime = 15000; const storageKey = 'mewayz_exit_dismissed'; if (localStorage.getItem(storageKey)) return; if (sessionStorage.getItem('modal_shown')) return; // Don't fire if organic or ad exit-intent already dismissed recently const orgDismissed = localStorage.getItem('organic_exit_dismissed'); if (orgDismissed && (Date.now() - parseInt(orgDismissed)) < 7 * 24 * 60 * 60 * 1000) return; if (localStorage.getItem('exit_intent_adlanding_dismissed')) return; const isDeeplyEngaged = () => { const scrollPct = window.scrollY / (document.documentElement.scrollHeight - window.innerHeight); return scrollPct > 0.75; }; document.addEventListener('mouseleave', (e) => { if (e.clientY <= 0 && !fired && (Date.now() - startTime) > minTime && !sessionStorage.getItem('modal_shown') && !isDeeplyEngaged()) { fired = true; this.show = true; sessionStorage.setItem('modal_shown', '1'); } }, { once: true }); document.addEventListener('visibilitychange', () => { if (document.hidden && !fired && (Date.now() - startTime) > 30000 && !sessionStorage.getItem('modal_shown') && !isDeeplyEngaged()) { fired = true; this.show = true; sessionStorage.setItem('modal_shown', '1'); } }); }, dismiss() { this.show = false; localStorage.setItem('mewayz_exit_dismissed', '1'); }, async submit() { if (!this.email || !this.email.includes('@')) { this.error = 'Sila masukkan alamat e-mel yang sah.'; return; } this.error = ''; try { fetch('/newsletter/subscribe', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRF-TOKEN': document.querySelector('meta[name=csrf-token]')?.content || '' }, body: JSON.stringify({ email: this.email, source: 'exit_intent', page: window.location.pathname }) }).catch(() => {}); if (typeof gtag !== 'undefined') gtag('event', 'generate_lead', { event_category: 'ExitIntent', event_label: 'email_capture' }); if (typeof plausible !== 'undefined') plausible('ExitIntent_Lead', { props: { page: window.location.pathname } }); this.submitted = true; localStorage.setItem('mewayz_exit_dismissed', '1'); } catch (e) { this.error = 'Ada masalah sila. Cuba lagi.'; } } }" x-show="show" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" class="fixed inset-0 z-[9000] flex items-center justify-center p-4" style="display: none;" @keydown.escape.window="dismiss()" > <div class="absolute inset-0 bg-black/60 backdrop-blur-sm" @click="dismiss()"></div> <div class="relative w-full max-w-md bg-gradient-to-br from-gray-900 to-gray-800 border border-white/10 rounded-2xl p-6 shadow-2xl" x-show="show" x-transition:enter="transition ease-out duration-300 delay-100" x-transition:enter-start="opacity-0 scale-95 translate-y-4" x-transition:enter-end="opacity-100 scale-100 translate-y-0"> <button @click="dismiss()" class="absolute top-3 right-3 text-white/40 hover:text-white transition-colors" aria-label="Close"> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/></svg> </button> <template x-if="!submitted"> <div> <div class="flex items-center gap-2 mb-3"> <div class="flex items-center justify-center w-10 h-10 rounded-xl bg-indigo-500/20 border border-indigo-500/30"> <i class="ph ph-rocket-launch text-indigo-400" style="font-size: 20px;"></i> </div> <div> <h3 class="text-lg font-bold text-white">Tunggu — jangan tinggalkan tangan kosong!</h3> </div> </div> <p class="text-sm text-white/70 mb-4"> Get weekly insights on business automation, growth tactics, and industry trends. </p> <div class="space-y-2"> <input x-model="email" type="email" placeholder="Alamat e-mel anda" class="w-full px-4 py-3 rounded-xl bg-white/10 border border-white/20 text-white placeholder-white/40 text-sm focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent" @keydown.enter="submit()"> <p x-show="error" x-text="error" class="text-xs text-red-400"></p> <button @click="submit()" class="w-full px-4 py-3 rounded-xl bg-indigo-600 hover:bg-indigo-500 text-white font-semibold text-sm transition-colors">Hantarkan panduan kepada saya</button> </div> <div class="flex items-center gap-3 mt-3"> <div class="flex-1 h-px bg-white/10"></div> <span class="text-xs text-white/30">atau</span> <div class="flex-1 h-px bg-white/10"></div> </div> <a href="/ms/free-trial" @click="dismiss()" class="block w-full px-4 py-3 rounded-xl border border-white/20 text-white/70 hover:text-white hover:border-white/40 font-medium text-sm transition-colors text-center">Mulakan percuma — kad kredit tidak diperlukan →</a> <p class="text-xs text-white/40 mt-2 text-center">Tiada spam. Nyahlanggan bila-bila masa.</p> </div> </template> <template x-if="submitted"> <div class="text-center py-4"> <div class="flex items-center justify-center w-14 h-14 rounded-full bg-green-500/20 border border-green-500/30 mx-auto mb-3"> <i class="ph ph-check-circle text-green-400" style="font-size: 28px;"></i> </div> <h3 class="text-lg font-bold text-white mb-1">Semak peti masuk anda!</h3> <p class="text-sm text-white/70">Kami akan menghantar panduan itu ke e-mel anda tidak lama lagi.</p> <a href="/ms/free-trial" class="inline-block mt-4 px-6 py-2.5 rounded-xl bg-indigo-600 hover:bg-indigo-500 text-white font-semibold text-sm transition-colors">Atau mulakan percuma sekarang →</a> </div> </template> </div> </div> <div x-data="{ show: false, init() { var consent = localStorage.getItem('cookie_consent'); if (!consent) { setTimeout(() => this.show = true, 1500); } else if (consent === 'all') { this.enableTracking(); } }, accept() { localStorage.setItem('cookie_consent', 'all'); this.show = false; this.enableTracking(); }, acceptEssential() { localStorage.setItem('cookie_consent', 'essential'); this.show = false; }, enableTracking() { if (typeof gtag === 'function') { gtag('consent', 'update', { analytics_storage: 'granted', ad_storage: 'granted', ad_user_data: 'granted', ad_personalization: 'granted', }); } } }" x-show="show" x-cloak x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0 translate-y-4" x-transition:enter-end="opacity-100 translate-y-0" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0 translate-y-4" data-cookie-consent class="fixed bottom-0 left-0 right-0 z-[500] p-4 md:p-6" role="dialog" aria-label="Persetujuan kuki" > <div class="mx-auto max-w-4xl rounded-2xl border border-white/10 bg-gray-900/95 backdrop-blur-xl p-5 md:p-6 shadow-2xl"> <div class="flex flex-col md:flex-row md:items-center gap-4"> <div class="flex-1"> <p class="text-sm text-white/80 leading-relaxed"> Kami menggunakan kuki untuk menambah baik pengalaman anda dan menganalisis trafik laman web. <a href="/ms/cookie-policy" class="text-indigo-400 hover:text-indigo-300 underline underline-offset-2">Dasar Kuki</a> </p> </div> <div class="flex items-center gap-3 flex-shrink-0"> <button @click="acceptEssential()" class="rounded-lg border border-white/20 px-4 py-2 text-sm font-medium text-white/70 hover:bg-white/10 transition"> Penting Sahaja </button> <button @click="accept()" class="rounded-lg bg-indigo-600 px-5 py-2 text-sm font-semibold text-white hover:bg-indigo-500 transition shadow-lg shadow-indigo-500/20"> Terima Semua </button> </div> </div> </div> </div> <style> .woot-widget-bubble, .woot--bubble-holder, .woot-widget-holder, .woot-widget-modal, .woot--bubble-holder *, #cw-widget-holder { z-index: 199 !important; } @media (max-width: 767px) { .woot-widget-bubble, .woot--bubble-holder { bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important; transition: opacity 0.3s ease !important; } .woot-widget-holder { bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important; } } </style> <script> (function(){ function loadChatwoot(){ var BASE_URL = 'https://chat.mewayz.com'; var d=document,g=d.createElement('script'); g.src=BASE_URL+'/packs/js/sdk.js'; g.defer=true; g.async=true; d.body.appendChild(g); g.onload=function(){ window.chatwootSettings = { locale: document.documentElement.lang || 'en' }; window.chatwootSDK.run({ websiteToken: 'SRSeArWur9qGuHNMpCzWnWRi', baseUrl: BASE_URL }); }; } if(document.readyState==='complete'){setTimeout(loadChatwoot,3000);} else{window.addEventListener('load',function(){setTimeout(loadChatwoot,3000);});} })(); </script> <div id="vapi-widget" style="position:fixed;bottom:90px;right:24px;z-index:300;display:flex;flex-direction:column;align-items:flex-end;gap:8px;"> <!-- Main call button --> <div style="position:relative;"> <button id="vapi-call-btn" onclick="vapiToggleCall()" style="width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.15);background:linear-gradient(135deg,#22c55e,#059669);color:#fff;transition:all .3s;" title="Bercakap dengan Mewayz AI"> <svg id="vapi-phone-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/></svg> </button> <span id="vapi-pulse" style="display:none;position:absolute;inset:0;border-radius:50%;background:rgba(34,197,94,.3);animation:vapi-ping 1.5s cubic-bezier(0,0,.2,1) infinite;pointer-events:none;"></span> </div> <!-- Tooltip --> <div id="vapi-tooltip" style="display:none;position:absolute;bottom:100%;left:0;margin-bottom:8px;padding:6px 12px;border-radius:8px;background:#111827;color:#fff;font-size:12px;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.15);"> Bercakap dengan Mewayz AI </div> </div> <!-- Call modal overlay --> <div id="vapi-modal" style="display:none;position:fixed;inset:0;z-index:400;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);align-items:center;justify-content:center;"> <div style="width:320px;border-radius:20px;overflow:hidden;background:linear-gradient(to bottom, rgba(17,24,39,0.98), rgba(0,0,0,0.99));border:1px solid rgba(255,255,255,0.1);box-shadow:0 25px 50px -12px rgba(0,0,0,.5);"> <!-- Modal header (changes color based on state) --> <div id="vapi-modal-header" style="padding:28px 24px 20px;text-align:center;background:linear-gradient(135deg,rgba(59,130,246,.3),rgba(139,92,246,.2));"> <div id="vapi-modal-icon" style="margin:0 auto 12px;width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;"> <!-- Spinner (connecting) --> <div id="vapi-spinner" style="width:32px;height:32px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:vapi-spin 1s linear infinite;"></div> <!-- Phone icon (active) --> <svg id="vapi-active-icon" style="display:none;" width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/></svg> </div> <p id="vapi-modal-title" style="margin:0;color:#fff;font-size:1.25rem;font-weight:700;">Menyambung...</p> <p id="vapi-modal-subtitle" style="margin:6px 0 0;color:rgba(255,255,255,.6);font-size:.875rem;">Sedang menyediakan panggilan suara anda</p> </div> <!-- Modal body --> <div style="padding:20px 24px 24px;"> <!-- Mute button (active state only) --> <div id="vapi-modal-controls" style="display:none;margin-bottom:16px;display:flex;justify-content:center;"> <button id="vapi-modal-mute" onclick="vapiToggleMute()" style="display:none;flex-direction:column;align-items:center;gap:6px;padding:12px 20px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.7);cursor:pointer;transition:all .2s;font-size:12px;font-weight:500;"> <svg id="vapi-modal-mic" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z"/><path d="M19 10v2a7 7 0 0 1-14 0v-2"/><line x1="12" x2="12" y1="19" y2="22"/></svg> <span id="vapi-mute-label">Bisu</span> </button> </div> <!-- End call button --> <button id="vapi-modal-end" onclick="vapiEndCall()" style="width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:12px;background:#ef4444;border:none;color:#fff;font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .2s;"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91"/><line x1="23" x2="1" y1="1" y2="23"/></svg> Tamat Panggilan </button> </div> </div> </div> <style> @media (max-width: 767px) { #vapi-widget { bottom: 160px !important; right: 16px !important; } } @keyframes vapi-ping { 75%, 100% { transform: scale(1.5); opacity: 0; } } @keyframes vapi-spin { to { transform: rotate(360deg); } } #vapi-modal-end:hover { background: #dc2626; } #vapi-modal-mute:hover { background: rgba(255,255,255,.1); } </style> <script data-cfasync="false"> (function() { var vapiInstance = null; var callActive = false; var isMuted = false; var callTimer = null; var callSeconds = 0; var btn = document.getElementById('vapi-call-btn'); var pulse = document.getElementById('vapi-pulse'); var tooltip = document.getElementById('vapi-tooltip'); var modal = document.getElementById('vapi-modal'); var modalHeader = document.getElementById('vapi-modal-header'); var modalTitle = document.getElementById('vapi-modal-title'); var modalSubtitle = document.getElementById('vapi-modal-subtitle'); var spinner = document.getElementById('vapi-spinner'); var activeIcon = document.getElementById('vapi-active-icon'); var modalMute = document.getElementById('vapi-modal-mute'); var muteLabel = document.getElementById('vapi-mute-label'); btn.addEventListener('mouseenter', function() { if (!callActive) tooltip.style.display = 'block'; }); btn.addEventListener('mouseleave', function() { tooltip.style.display = 'none'; }); function hideChatwoot() { var cw = document.querySelector('.woot-widget-bubble, .woot--bubble-holder'); if (cw) cw.style.display = 'none'; } function showChatwoot() { var cw = document.querySelector('.woot-widget-bubble, .woot--bubble-holder'); if (cw) cw.style.display = ''; } function showModal(state) { modal.style.display = 'flex'; hideChatwoot(); if (state === 'connecting') { modalHeader.style.background = 'linear-gradient(135deg,rgba(59,130,246,.3),rgba(139,92,246,.2))'; modalTitle.textContent = 'Menyambung...'; modalSubtitle.textContent = 'Sedang menyediakan panggilan suara anda'; spinner.style.display = 'block'; activeIcon.style.display = 'none'; modalMute.style.display = 'none'; } else { modalHeader.style.background = 'linear-gradient(135deg,rgba(34,197,94,.3),rgba(16,185,129,.2))'; modalTitle.textContent = 'Pembantu AI Mewayz'; spinner.style.display = 'none'; activeIcon.style.display = 'block'; modalMute.style.display = 'flex'; startTimer(); } } function hideModal() { modal.style.display = 'none'; showChatwoot(); stopTimer(); } function startTimer() { callSeconds = 0; updateTimerDisplay(); callTimer = setInterval(function() { callSeconds++; updateTimerDisplay(); }, 1000); } function stopTimer() { if (callTimer) { clearInterval(callTimer); callTimer = null; } callSeconds = 0; } function updateTimerDisplay() { var m = Math.floor(callSeconds / 60); var s = callSeconds % 60; modalSubtitle.textContent = m + ':' + (s < 10 ? '0' : '') + s; } var sdkLoading = false; function initVapiAndCall() { vapiInstance = new window.Vapi('96d93a4c-83d7-437f-a484-db7c99b55fff'); vapiInstance.on('call-start', function() { callActive = true; btn.style.background = 'linear-gradient(135deg,#22c55e,#059669)'; btn.style.opacity = '1'; btn.disabled = false; pulse.style.display = 'block'; showModal('active'); if (typeof gtag === 'function') gtag('event', 'vapi_call_start', { event_category: 'Voice_AI' }); }); vapiInstance.on('call-end', function() { resetUI(); }); vapiInstance.on('error', function(e) { console.error('Vapi error:', e); resetUI(); }); startVapiCall(); } window.vapiToggleCall = async function() { if (callActive) { window.vapiEndCall(); return; } if (sdkLoading) return; // prevent double-click showModal('connecting'); btn.style.opacity = '0.6'; btn.disabled = true; try { if (window.Vapi && !vapiInstance) { // SDK already loaded (e.g. preloaded), just init initVapiAndCall(); } else if (!vapiInstance) { sdkLoading = true; var script = document.createElement('script'); script.setAttribute('data-cfasync', 'false'); script.src = '/vendor/js/vapi-sdk-v2.js'; script.onload = function() { sdkLoading = false; if (!window.Vapi) { console.error('Vapi SDK loaded but window.Vapi not found'); resetUI(); return; } initVapiAndCall(); }; script.onerror = function() { sdkLoading = false; console.error('Vapi SDK failed to load'); resetUI(); }; document.head.appendChild(script); setTimeout(function() { if (!callActive) { sdkLoading = false; resetUI(); } }, 15000); } else { startVapiCall(); setTimeout(function() { if (!callActive) resetUI(); }, 15000); } } catch(e) { sdkLoading = false; console.error('Vapi error:', e); resetUI(); } }; window.vapiEndCall = async function() { if (vapiInstance) { try { await vapiInstance.stop(); } catch(e){} } resetUI(); }; function startVapiCall() { vapiInstance.start({ model: { provider: 'openai', model: 'gpt-4o-mini', messages: [{ role: 'system', content: 'You are a sharp, high-converting sales agent for Mewayz — an all-in-one business management platform. VOICE RULES: Max 2 sentences per reply. Warm, confident, direct. Every response ends with a question or signup nudge. Never list more than 3 things at once. Never monologue. ' + 'SALES PLAYBOOK: 1) Ask what problem they need solved. 2) Mirror their pain back. 3) Position the specific Mewayz module as the fix. 4) Close: tell them to click the green Start Free Trial button on the page. Handle objections instantly: too expensive → free forever plan, no card; already use X → Mewayz replaces it plus connects everything; not ready → 14-day pro trial, zero risk; too complex → live in 2 minutes, guided setup wizard. ' + 'PLATFORM KNOWLEDGE — 5 module categories, 130+ modules total: ' + '1) CRM & Sales: contact management, deal pipelines, lead scoring, referral tracking, activity timeline per contact, custom fields, bulk import. ' + '2) Finance: invoicing with online payments (Stripe/PayPal), recurring billing, subscriptions, expense tracking, payment reminders, wallet system, donations, multi-currency support. ' + '3) Online Presence: drag-and-drop website builder, link-in-bio pages, online store with POS, QR code generator, custom domains on paid plans, SEO tools. ' + '4) Operations: HR management (staff, payroll, attendance, leave, time tracking), project management with Kanban boards, task management, team messenger, appointment booking with calendar sync, contracts and e-signatures, document management. ' + '5) Marketing: email campaigns and newsletters, social media management and scheduling, content creation tools, marketing automation workflows, analytics and 50+ report types. ' + 'PRICING: Free plan — free forever, no credit card, includes CRM, invoicing, booking, link-in-bio, website builder. Starter — $49/mo ($490/year, save 2 months) — unlocks advanced features, custom domain, priority support. Pro — $99/mo — adds automation workflows, API access, team collaboration, more storage. Business — $199/mo — full platform, unlimited. Add-on modules available at $4.99/mo each. All paid plans include 14-day free pro trial and 30-day money-back guarantee. ' + 'WHITE-LABEL RESELLER: Agencies and consultants can resell Mewayz under their own brand, domain, and logo. Plans: WL Lite $99/mo, WL Starter $199/mo, WL Growth $399/mo, WL Agency $799/mo, WL Enterprise $1499/mo. Instant self-serve setup, live in minutes. Free Partner Academy teaches how to earn $2000+ MRR. ' + 'KEY SELLING POINTS: Replaces 10+ separate SaaS subscriptions (Salesforce, QuickBooks, Calendly, Mailchimp, Monday, etc). 25 languages supported. Used by agencies, freelancers, consultants, SMBs, nonprofits, healthcare, legal, education, real estate, ecommerce. Mobile-friendly. Real-time analytics. Helpdesk with ticketing system. ' + 'COMPETITOR RESPONSES: vs Zoho/Odoo → simpler, no implementation cost, free plan; vs HubSpot/Salesforce → fraction of the price, all modules included not upsold; vs Monday/Asana → includes CRM and invoicing they lack; vs QuickBooks/Xero → adds CRM, projects, HR they dont have; vs individual tools → one login, one bill, data flows between modules automatically. ' + 'SUPPORT: 24/7 AI chat support built in, help center with guides, email support, dedicated account manager on Business plan. ' + 'If asked something you dont know, say you can connect them with the team and suggest they start a free trial to explore themselves.' }] }, voice: { provider: '11labs', voiceId: 'sarah' }, firstMessage: 'Hey there! What business challenge can I help you solve today?', transcriber: { provider: 'deepgram', model: 'nova-2' } }); } function resetUI() { callActive = false; isMuted = false; btn.style.background = 'linear-gradient(135deg,#22c55e,#059669)'; btn.style.opacity = '1'; btn.disabled = false; pulse.style.display = 'none'; hideModal(); } window.vapiToggleMute = function() { if (!vapiInstance) return; isMuted = !isMuted; vapiInstance.setMuted(isMuted); muteLabel.textContent = isMuted ? 'Nyahbisu' : 'Bisu'; modalMute.style.background = isMuted ? 'rgba(239,68,68,.15)' : 'rgba(255,255,255,.05)'; modalMute.style.borderColor = isMuted ? 'rgba(239,68,68,.3)' : 'rgba(255,255,255,.1)'; modalMute.style.color = isMuted ? '#ef4444' : 'rgba(255,255,255,.7)'; }; // Close modal on Escape document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && callActive) window.vapiEndCall(); }); })(); </script> <script> (function(){ var ticking = false; window.addEventListener('scroll', function() { if (ticking) return; ticking = true; requestAnimationFrame(function() { var scrollBottom = window.innerHeight + window.scrollY; var docHeight = document.documentElement.scrollHeight; var nearBottom = (docHeight - scrollBottom) < 200; var bubble = document.querySelector('.woot-widget-bubble'); var vapi = document.getElementById('vapi-widget'); if (bubble) { bubble.style.opacity = nearBottom ? '0' : '1'; bubble.style.pointerEvents = nearBottom ? 'none' : 'auto'; } if (vapi) { vapi.style.opacity = nearBottom ? '0' : '1'; vapi.style.pointerEvents = nearBottom ? 'none' : 'auto'; vapi.style.transition = 'opacity 0.3s ease'; } ticking = false; }); }, { passive: true }); })(); </script> <script> (function () { function _getCookie(name) { var m = document.cookie.match('(?:^|; )' + name + '=([^;]*)'); return m ? decodeURIComponent(m[1]) : null; } if (!_getCookie('mewayz_did')) { var did = 'did_' + Math.random().toString(36).slice(2) + Math.random().toString(36).slice(2); var exp = new Date(Date.now() + 365 * 864e5).toUTCString(); document.cookie = 'mewayz_did=' + did + '; expires=' + exp + '; path=/; SameSite=Lax'; } })(); </script> <script> document.addEventListener('alpine:init', function () { Alpine.data('trialGate', function () { return { loading: false, timedOut: false, showModal: false, email: '', emailError: '', emailEligible: null, // null = unchecked, true = eligible, false = not eligible emailReason: null, // 'eligible' | 'email_exists' | null emailChecking: false, _lastCheckedEmail: '', _getDid() { var m = document.cookie.match('(?:^|; )mewayz_did=([^;]*)'); return m ? decodeURIComponent(m[1]) : ''; }, async gate(e) { if (this.loading) return; this.loading = true; // ── Step 0: Check if the user is already logged in on app.mewayz.com ── // If so, skip the modal entirely and send them straight to the plan page. try { const planSlug = this.$refs.checkoutForm?.querySelector('[name="plan"]')?.value ?? ''; const authR = await fetch('https://app.mewayz.com/api/auth/me', { credentials: 'include' }); const authD = await authR.json(); if (authD.authenticated && authD.plans_url) { const dest = authD.plans_url + (planSlug ? '?plan=' + encodeURIComponent(planSlug) + '&source=pricing' : '?source=pricing'); window.location.href = dest; return; // loading stays true — navigation will happen } } catch (_) { // Cross-origin or network error — continue normal flow } // ── Step 1: Inject device ID, check IP/device trial eligibility ── const did = this._getDid(); if (did) this._injectHidden('device_id', did); try { const params = did ? '?did=' + encodeURIComponent(did) : ''; const r = await fetch('/checkout/check-trial' + params, { headers: { 'X-Requested-With': 'XMLHttpRequest' }, }); const d = await r.json(); // Store pre-check result internally — do NOT surface the badge here. // Showing "no trial available" before the user types anything penalises // legitimate users on shared IPs (offices, VPNs) or shared devices. // The badge appears only after checkEmail() runs with the full triple-check. } catch (_) { // Network error — proceed to modal, server decides eligibility at session creation } // ── Step 2: Always show modal to collect email ── this.loading = false; this.showModal = true; this.$nextTick(() => { const inp = this.$el.querySelector('input[type="email"]'); if (inp) inp.focus(); }); }, async checkEmail() { if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(this.email)) { this.emailError = 'Sila masukkan alamat e-mel yang sah.'; return; } // Skip if already checked this exact email (prevents redundant calls on mobile // when the user tabs in/out of the field without changing the value) if (this.email === this._lastCheckedEmail) return; this.emailError = ''; this.emailChecking = true; try { const did = this._getDid(); const _p = new URLSearchParams({ email: this.email }); if (did) _p.set('did', did); const r = await fetch('/checkout/check-trial?' + _p.toString(), { headers: { 'X-Requested-With': 'XMLHttpRequest' }, }); const d = await r.json(); this.emailEligible = d.eligible; this.emailReason = d.reason || null; this._lastCheckedEmail = this.email; } catch (_) { this.emailEligible = null; // unknown — let server decide } this.emailChecking = false; }, async proceed() { if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(this.email)) { this.emailError = 'Sila masukkan alamat e-mel yang sah.'; return; } // Run email check if not already done if (this.emailEligible === null) await this.checkEmail(); // Inject email so Stripe pre-fills it and server uses it for trial decision this._injectEmail(this.email); this.showModal = false; this._submitForm(); }, skipModal() { this.showModal = false; this._submitForm(); }, _injectEmail(emailValue) { this._injectHidden('email', emailValue); }, _injectHidden(name, value) { const form = this.$refs.checkoutForm; let inp = form.querySelector('input[name="' + name + '"]'); if (!inp) { inp = document.createElement('input'); inp.type = 'hidden'; inp.name = name; form.appendChild(inp); } inp.value = value; }, _submitForm() { this.loading = true; setTimeout(() => { if (this.loading) { this.timedOut = true; this.loading = false; } }, 10000); this.$refs.checkoutForm.submit(); }, }; }); }); </script> </body> </html>