Hacker News

Zclaw – 888 KiB 도우미

댓글

3 분 읽음

Mewayz Team

Editorial Team

Hacker News

비즈니스 환경은 계속해서 빠르게 발전하고 있으며 경쟁력을 유지하려면 인식과 올바른 운영 인프라가 모두 필요합니다. 이 기사에서는 Zclaw – 888 KiB Assistant와 이것이 2025년 솔로 운영자, 소규모 팀 및 성장하는 비즈니스에 어떤 의미인지 살펴봅니다.

댓글

이것이 중소기업 운영자에게 중요한 이유

별도의 CRM, 송장 발행, HR, 분석 플랫폼 등 단편화된 도구를 사용하여 운영을 관리하는 기업 소유자는 점점 더 불리한 입장에 처해 있습니다. 대시보드 간 전환, 데이터 조정, 여러 구독 유지 관리에 따른 운영 오버헤드가 빠르게 증가합니다. 이제 팀은 수익이 전혀 발생하지 않는 도구 관리에 주당 평균 15시간 이상을 소비합니다.

2025년에 가장 빠르게 성장하는 기업은 운영 스택을 단일 모듈식 플랫폼으로 통합한 기업입니다. 이는 단지 비용 절감에 관한 것이 아니라 결정 속도에 관한 것입니다. CRM이 급여 및 HR에 연결되는 송장 발행 모듈과 데이터를 공유하면 모든 비즈니스 결정이 더 빠르고 더 많은 정보를 바탕으로 이루어집니다.

조각화 문제

오늘날 대부분의 SMB는 6~10개의 별도 소프트웨어 도구를 사용하여 작업을 실행합니다. 각 도구에는 고유한 가격 책정 모델, 로그인, 데이터 형식 및 API 특성이 있습니다. 그 결과 정기적으로 중단되는 통합 웹, 완전히 동기화되지 않는 데이터, 추세 분석보다 스프레드시트 조정에 더 많은 시간을 소비하는 재무팀이 탄생했습니다.

평균 SMB는 소프트웨어 구독 중복에 연간 $1,200~$3,600를 지출합니다.

중소기업 소유자의 43%는 도구 전반에 걸쳐 데이터 불일치를 가장 큰 운영 과제로 보고합니다.

맞춤형 스택이 있는 회사에서는 통합 유지 관리에 약 20%의 개발자 시간이 소요됩니다.

통합 비즈니스 OS가 변화하는 것

Mewayz와 같은 플랫폼은 이에 다르게 접근합니다. 하나의 모놀리식 도구를 제공하는 대신 모듈식 비즈니스 OS는 단일 데이터베이스와 통합 권한 모델을 공유하는 독립적으로 배포 가능한 207개의 비즈니스 모듈을 제공합니다. CRM, 송장 발행, 예약, 급여, Link-in-bio, 차량 관리 등 필요한 것을 활성화하면 첫날부터 기본적으로 함께 작동합니다.

"최고의 비즈니스 소프트웨어는 기능이 가장 풍부한 소프트웨어가 아닙니다. 모든 데이터가 한 곳에 있고 팀이 실제로 매일 사용하는 소프트웨어입니다."

💡 알고 계셨나요?

Mewayz는 8개 이상의 비즈니스 도구를 하나의 플랫폼으로 대체합니다.

CRM · 인보이싱 · HR · 프로젝트 · 예약 · eCommerce · POS · 애널리틱스. 영구 무료 플랜 이용 가능.

무료로 시작하세요 →

이 아키텍처는 프리랜서가 Link-in-bio 및 송장 발행을 무료로 시작할 수 있고 성장하는 팀이 새로운 시스템으로 마이그레이션하거나 직원을 재교육하지 않고도 HR, 급여 및 분석을 활성화할 수 있음을 의미합니다.

스택을 통합하기 위한 실제 단계

현재 도구를 감사하십시오. 모든 구독, 월별 비용 및 해결되는 특정 문제를 나열하십시오.

중복성 식별: 대부분의 팀에는 중복되는 문제를 해결하는 2~3개의 도구가 있습니다. 이것이 첫 번째 통합 목표입니다.

통합 지점 우선순위 지정: 데이터를 가장 자주 공유해야 하는 도구에 집중합니다. CRM ← 송장 발행 ← 결제가 가장 일반적인 문제점입니다.

무료 계층으로 시작: 진정한 무료 계층을 제공하는 플랫폼을 사용하면 약정 없이 통합을 테스트할 수 있습니다. Mewayz의 무료 티어에는 시간 제한 없이 CRM, 송장 발행 및 Link-in-bio가 포함됩니다.

증분식 마이그레이션: 한 번에 하나의 모듈을 이동하고 데이터를 확인한 후 다음으로 진행합니다.

대행사를 위한 화이트 라벨 기회

디지털 에이전시 및 플랫폼 비즈니스의 경우, 타사 도구 패치워크를 권장하는 대신 고객에게 완전한 브랜드의 운영 플랫폼을 제공하는 강력한 추가 각도가 있습니다. 화이트 라벨 비즈니스 OS는 반복적인 수익 흐름을 창출하고 고객 유지율을 극적으로 높입니다. 즉, 소프트웨어를 제공하는 대행사는 서비스만 제공하는 대행사보다 고객을 3배 더 오래 유지합니다.

미래를 내다보며

향후 12~24개월에 걸쳐 통합된 모듈식 플랫폼으로 통합되는 기업은 여전히 단편화된 도구 스택을 실행하는 기업에 비해 구조적인 비용과 속도 이점을 갖게 될 것입니다. 기술이 존재하고 가격이 민주화되었으며 마이그레이션 경로가 그 어느 때보다 명확해졌습니다.

옵션을 평가하고 계시다면 Mewayz는 신용 카드가 필요 없는 영구 무료 등급을 제공합니다.

Ready to Simplify Your Operations?

Whether you need CRM, invoicing, HR, or all 207 modules — Mewayz has you covered. 138K+ businesses already made the switch.

Get Started Free →
Zclaw – 888 KiB 도우미 FAQ

Zclaw – 888 KiB 도우미에 대해 알아보세요

자주 묻는 질문

Zclaw – 888 KiB 도우미 FAQ

Zclaw – 888 KiB 도우미에 대해 알아보세요

자주 묻는 질문

Zclaw – 888 KiB 도우미 FAQ

Zclaw – 888 KiB 도우미에 대해 알아보세요

자주 묻는 질문

Zclaw – 888 KiB 도우미 FAQ

Zclaw – 888 KiB 도우미에 대해 알아보세요

자주 묻는 질문

Zclaw – 888 KiB 도우미 FAQ

Zclaw – 888 KiB 도우미에 대해 알아보세요

자주 묻는 질문

Zclaw – 888 KiB 도우미 FAQ

Zclaw – 888 KiB 도우미에 대해 알아보세요

자주 묻는 질문

Z </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">Mewayz 무료로 사용해보기</h3> <p class="text-white/60 text-sm mb-4">CRM, 인보이싱, 프로젝트, HR 등을 위한 올인원 플랫폼. 신용카드 불필요.</p> <div class="flex flex-col sm:flex-row gap-3 justify-center"> <a href="/ko/free-trial?utm_source=blog&utm_medium=inline_cta&utm_campaign=zclaw-the-888-kib-assistant" 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'}});"> 무료로 시작하세요 <i class="ph ph-arrow-right" style="font-size:16px;" aria-hidden="true"></i> </a> <a href="https://mewayz.com/ko/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'});"> 데모 체험하기 </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">비슷한 기사 더 보기</p> <p class="text-white/60 text-sm mt-1">주간 비즈니스 팁 및 제품 업데이트. 영원히 무료입니다.</p> </div> <div class="flex gap-2 w-full sm:w-auto"> <input x-model="email" type="email" placeholder="귀하의 이메일" 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 = '유효한 이메일을 입력하세요.'; 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 = '유효한 이메일을 입력하세요.'; 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">구독하다</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> 구독 중입니다! </p> </template> <p x-show="error" x-text="error" class="text-xs text-red-400 mt-2"></p> </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">오늘부터 더 스마트하게 비즈니스를 관리하세요</h3> <p class="text-indigo-100 mb-6">30,000+개의 비즈니스에 합류하세요. 영구 무료 플랜 · 신용카드 불필요.</p> <div class="flex flex-col sm:flex-row gap-3 justify-center"> <a href="/ko/free-trial?utm_source=blog&utm_medium=bottom_cta&utm_content=ko%2Fblog%2Fzclaw-the-888-kib-assistant" class="px-6 py-3 bg-white text-indigo-600 font-semibold rounded-xl hover:bg-gray-50 transition-colors"> 무료로 시작하세요 → </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"> 데모 보기 </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">이것이 유용하다고 생각하시나요? 공유하세요.</span> <div class="flex items-center gap-3"> <a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fmewayz.com%2Fko%2Fblog%2Fzclaw-the-888-kib-assistant&text=Zclaw+%E2%80%93+888+KiB+%EB%8F%84%EC%9A%B0%EB%AF%B8" 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%2Fko%2Fblog%2Fzclaw-the-888-kib-assistant" 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%2Fko%2Fblog%2Fzclaw-the-888-kib-assistant" 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=Zclaw+%E2%80%93+888+KiB+%EB%8F%84%EC%9A%B0%EB%AF%B8+https%3A%2F%2Fmewayz.com%2Fko%2Fblog%2Fzclaw-the-888-kib-assistant" 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">이를 실전에 적용할 준비가 되셨나요?</h3> <p class="text-indigo-100 text-sm mb-5">Mewayz를 사용하는 30,000+개 기업과 함께하세요. 영구 무료 플랜 — 신용카드 불필요.</p> <a href="/ko/free-trial?utm_source=blog&utm_medium=post_cta&utm_content=ko%2Fblog%2Fzclaw-the-888-kib-assistant" 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"> 무료 체험 시작 → </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">관련 기사</h2> <div class="grid gap-5 sm:grid-cols-2 lg:grid-cols-3"> <a href="/ko/blog/the-influence-of-anxiety-harold-bloom-and-literary-inheritance" 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">Hacker News</p> <p class="text-sm font-semibold text-white group-hover:text-indigo-300 leading-snug line-clamp-2 transition-colors">불안의 영향: 해롤드 블룸과 문학적 유산</p> <p class="text-xs text-white/40 mt-2">Mar 8, 2026</p> </div> </a> <a href="/ko/blog/ghostmd-ghostty-but-for-markdown-notes" 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">Hacker News</p> <p class="text-sm font-semibold text-white group-hover:text-indigo-300 leading-snug line-clamp-2 transition-colors">Ghostmd: Ghostty이지만 마크다운 노트용</p> <p class="text-xs text-white/40 mt-2">Mar 8, 2026</p> </div> </a> <a href="/ko/blog/caitlin-kalinowski-i-resigned-from-openai" 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">Hacker News</p> <p class="text-sm font-semibold text-white group-hover:text-indigo-300 leading-snug line-clamp-2 transition-colors">Caitlin Kalinowski: 저는 OpenAI에서 사임했습니다</p> <p class="text-xs text-white/40 mt-2">Mar 8, 2026</p> </div> </a> <a href="/ko/blog/the-surprising-whimsy-of-the-time-zone-database" 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">Hacker News</p> <p class="text-sm font-semibold text-white group-hover:text-indigo-300 leading-snug line-clamp-2 transition-colors">시간대 데이터베이스의 놀라운 기발함</p> <p class="text-xs text-white/40 mt-2">Mar 8, 2026</p> </div> </a> <a href="/ko/blog/ask-hn-would-you-use-a-job-board-where-every-listing-is-verified" 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">Hacker News</p> <p class="text-sm font-semibold text-white group-hover:text-indigo-300 leading-snug line-clamp-2 transition-colors">HN에게 물어보세요: 모든 목록이 검증되는 구인 게시판을 사용하시겠습니까?</p> <p class="text-xs text-white/40 mt-2">Mar 8, 2026</p> </div> </a> <a href="/ko/blog/package-managers-need-to-cool-down" 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">Hacker News</p> <p class="text-sm font-semibold text-white group-hover:text-indigo-300 leading-snug line-clamp-2 transition-colors">패키지 관리자는 진정해야 합니다.</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">행동할 준비가 되셨나요?</p> <h2 class="text-3xl font-bold mb-4">오늘 Mewayz 무료 체험 시작</h2> <p class="text-lg text-indigo-100 mb-8">올인원 비즈니스 플랫폼. 신용카드 불필요.</p> <a href="/ko/free-trial?utm_source=blog&utm_medium=bottom_section_cta&utm_content=ko%2Fblog%2Fzclaw-the-888-kib-assistant" onclick="if(typeof gtag==='function') gtag('event','free_trial_start',{event_category:'blog_cta',page:'ko/blog/zclaw-the-888-kib-assistant'});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"> 무료로 시작하세요 → </a> <p class="mt-4 text-sm text-indigo-200">14일 무료 체험 · 신용카드 없음 · 언제든지 취소 가능</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:'zclaw-the-888-kib-assistant'}); if(typeof plausible!=='undefined') plausible('Blog_Scroll',{props:{depth:t+'%',slug:'zclaw-the-888-kib-assistant'}}); } }); } 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:'zclaw-the-888-kib-assistant'}); } },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">솔루션</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">에이전시용</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">프리랜서용</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">중소기업용</a></li> <li><a href="/ko/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="모든 솔루션">모든 솔루션</a></li> <li><a href="/ko/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="화이트라벨 재판매 솔루션">화이트 라벨</a></li> </ul> </div> <div> <h3 class="text-white font-semibold mb-4">제품</h3> <ul class="space-y-4"> <li><a href="/ko/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="모든 기능 보기">특징</a></li> <li><a href="/ko/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="모듈 살펴보기">모듈</a></li> <li><a href="/ko/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="통합 보기">통합</a></li> <li><a href="/ko/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="솔루션 살펴보기">솔루션</a></li> <li><a href="/ko/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="요금제 보기">가격</a></li> <li><a href="/ko/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="요금제 비교">비교하다</a></li> <li><a href="/ko/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="작동 방식 알아보기">작동 방식</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="라이브 데모 체험하기">라이브 데모</a></li> </ul> </div> <div> <h3 class="text-white font-semibold mb-4">핵심 플랫폼</h3> <ul class="space-y-4"> <li><a href="/ko/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="웹사이트 빌더에 대해 알아보기">웹사이트 빌더</a></li> <li><a href="/ko/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="바이오 도구의 링크에 대해 알아보세요">약력의 링크</a></li> <li><a href="/ko/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="우리의 강좌 플랫폼에 대해 알아보세요">코스 플랫폼</a></li> <li><a href="/ko/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="전자상거래 상점 빌더에 대해 알아보세요">전자상거래 매장</a></li> <li><a href="/ko/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="Learn about our business platform">비즈니스 플랫폼</a></li> <li><a href="/ko/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="크리에이터를 위한 Mewayz 살펴보기">크리에이터</a></li> </ul> </div> <div> <h3 class="text-white font-semibold mb-4">자원</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="도움말 센터 열기" rel="noopener noreferrer">도움말 센터</a></li> <li><a href="/ko/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="자주 묻는 질문 보기">FAQ</a></li> <li><a href="/ko/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="우리의 지식 베이스를 찾아보세요">기술 자료</a></li> <li><a href="/ko/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="블로그 기사 읽기">블로그</a></li> <li><a href="/ko/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="사례 연구 보기">사례 연구</a></li> <li><a href="/ko/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="고객 후기 읽기">사용자 후기</a></li> <li><a href="/ko/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="ROI 계산">ROI 계산기</a></li> <li><a href="/ko/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="제품 변경 로그 보기">변경 로그</a></li> <li><a href="/ko/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="당사의 보안 조치에 대해 알아보세요">보안</a></li> </ul> </div> <div> <h3 class="text-white font-semibold mb-4">회사</h3> <ul class="space-y-4"> <li><a href="/ko/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="메웨이즈에 대해 알아보세요">에 대한</a></li> <li><a href="/ko/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="우리 팀에 문의하세요">연락하다</a></li> <li><a href="/ko/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="화이트 라벨 파트너십에 대해 알아보기">화이트 라벨 파트너</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="무료 리셀러 교육 아카데미">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="Join our affiliate program">제휴사</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="엔터프라이즈 요금제">기업</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="친구를 추천하고 무료 개월 획득">추천 및 수익</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="Mewayz의 공개 포지션 보기">채용</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: 올인원 비즈니스 플랫폼 — CRM, 인보이싱, HR, 헬프데스크 및 130+개의 모듈을 한 곳에서. </p> <ul class="space-y-4"> <li><a href="/ko/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="개인 정보 보호 정책을 읽어보세요">개인 정보 보호 정책</a></li> <li><a href="/ko/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="서비스 약관을 읽어보세요">서비스 약관</a></li> <li><a href="/ko/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="쿠키 정책 읽기">쿠키 정책</a></li> <li><a href="/ko/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="환불 정책 읽기">환불 정책</a></li> <li><a href="/ko/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="이용 정책 읽기">허용 가능 사용</a></li> <li><a href="/ko/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="서비스 수준 계약 읽기">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="쿠키 기본 설정 관리">تفضيلات الكوكيز</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">스택을 단순화할 준비가 되셨나요?</p> <h3 class="text-white text-2xl md:text-3xl font-bold mb-2">10개 도구를 하나의 플랫폼으로 대체</h3> <p class="text-white/60 text-sm mb-6">신용카드 불필요. 설정 비용 불필요. 2분 내로 시작 가능.</p> <div class="flex flex-col sm:flex-row gap-3 justify-center items-center"> <a href="/ko/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"> 무료로 시작하세요 <i class="ph ph-arrow-right" style="font-size: 16px;" aria-hidden="true"></i> </a> <a href="https://mewayz.com/ko/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> 2분 데모 시청하기 </a> </div> <p class="text-white/30 text-xs mt-4">30일 환불 보장 · 언제든지 취소 가능</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">최신 소식을 받아보세요</h3> <p class="text-white/60 text-sm mt-1">비즈니스 팁, 제품 업데이트 및 성장 전략. 스팸이 없습니다.</p> </div> <div class="w-full md:w-auto"> <template x-if="!submitted"> <form @submit.prevent=" if (!email || !email.includes('@')) { error = '유효한 이메일을 입력하세요.'; 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="귀하의 이메일" 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">구독하다</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> 구독 중입니다! 받은편지함을 확인하세요. </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">Mewayz가 마음에 드시나요? 추천 & 수익 창출</p> <p class="text-white/50 text-xs mt-0.5">추천하는 비즈니스마다 보상을 받으세요.</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"> 자세히 알아보기 </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 · 모든 권리 보유.</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="/ko/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="사이트맵 보기">사이트맵</a> <a href="/ko/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="웹사이트 검색">찾다</a> <a href="https://mewayz.com/ko/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="RSS 피드 구독">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>언어 변경</h3> <button @click="close()" class="language-modal-close" aria-label="닫다"> <i class="ph ph-x"></i> </button> </div> <div class="language-modal-content"> <p class="language-modal-description">선호하는 언어를 선택하세요</p> <div class="language-list"> <a href="https://mewayz.com/switch-language/en?redirect=blog%2Fzclaw-the-888-kib-assistant" 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%2Fzclaw-the-888-kib-assistant" 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%2Fzclaw-the-888-kib-assistant" 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%2Fzclaw-the-888-kib-assistant" 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%2Fzclaw-the-888-kib-assistant" 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%2Fzclaw-the-888-kib-assistant" 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%2Fzclaw-the-888-kib-assistant" 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%2Fzclaw-the-888-kib-assistant" 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%2Fzclaw-the-888-kib-assistant" 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%2Fzclaw-the-888-kib-assistant" class="language-item active" data-locale="ko"> <span class="language-name">한국어</span> <span class="language-code">KO</span> <i class="ph ph-check language-check"></i> </a> <a href="https://mewayz.com/switch-language/zh?redirect=blog%2Fzclaw-the-888-kib-assistant" 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%2Fzclaw-the-888-kib-assistant" 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%2Fzclaw-the-888-kib-assistant" 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%2Fzclaw-the-888-kib-assistant" 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%2Fzclaw-the-888-kib-assistant" 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%2Fzclaw-the-888-kib-assistant" 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%2Fzclaw-the-888-kib-assistant" 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%2Fzclaw-the-888-kib-assistant" 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">Mewayz 체험하기 — 라이브</h3> <p class="text-white/70 text-sm">샘플 데이터가 포함된 실제 샌드박스 받기 — 가입 불필요</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="닫다"> <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">온라인 스토어</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">행동</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">예약</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">인보이스 발행</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">해석학</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">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">링크인바이오</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">인터랙티브 샌드박스 — 가입 불필요</p> <p class="text-white/60 text-xs mb-3">샘플 데이터가 포함된 완전히 기능적인 환경을 얻으세요. CRM, 인보이싱, 강의 및 모든 130+개의 모듈을 탐험하십시오. 샌드박스는 24시간 동안 유지됩니다.</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> 라이브 데모 시작하기 </a> </div> </div> </div> <div class="flex flex-col sm:flex-row gap-3 justify-center"> <a href="/ko/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"> 무료 계정 시작하기 <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> 실시간 통화 예약 </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">데모 예약</h3> <p class="schedule-demo-modal-subtitle">우리 팀과 함께 맞춤형 데모를 예약하세요</p> </div> </div> <button type="button" @click="close()" class="schedule-demo-modal-close" aria-label="닫다"> <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">성명 *</label> <input type="text" id="demo-name" x-model="formData.name" required class="schedule-demo-input" placeholder="이름을 입력하세요" > </div> <div class="schedule-demo-form-group"> <label for="demo-email" class="schedule-demo-label">이메일 주소 *</label> <input type="email" id="demo-email" x-model="formData.email" required class="schedule-demo-input" placeholder="이메일 주소를 입력하세요" > </div> <div class="schedule-demo-form-group"> <label for="demo-company" class="schedule-demo-label">회사명</label> <input type="text" id="demo-company" x-model="formData.company" class="schedule-demo-input" placeholder="회사명을 입력하세요(선택사항)." > </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> 선호하는 시간 선택 (선택사항) </button> <div x-show="showScheduling" x-collapse class="space-y-4"> <div> <label for="demo-date" class="schedule-demo-label">선호하는 날짜</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">선호하는 시간</label> <select id="demo-time" x-model="formData.time" class="schedule-demo-input"> <option value="">언제든지 작업</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">메시지</label> <textarea id="demo-message" x-model="formData.message" rows="4" class="schedule-demo-input" placeholder="데모에서 보고 싶은 내용을 알려주세요(선택 사항)." ></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>감사합니다! We'll contact you soon to confirm your demo.</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>Something went wrong. 다시 시도하거나 직접 문의해 주세요.</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">취소</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">데모 예약</span> <span x-show="submitting" class="flex items-center gap-2"> <i class="ph ph-spinner animate-spin"></i> 일정을 잡는 중... </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">문의하기</h3> <p class="contact-modal-subtitle">우리 팀에 연락하세요</p> </div> </div> <button type="button" @click="close()" class="contact-modal-close" aria-label="닫다"> <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">성명 *</label> <input type="text" id="contact-name" x-model="formData.name" required class="contact-input" placeholder="이름을 입력하세요" > </div> <div class="contact-form-group"> <label for="contact-email" class="contact-label">이메일 주소 *</label> <input type="email" id="contact-email" x-model="formData.email" required class="contact-input" placeholder="이메일 주소를 입력하세요" > </div> <div class="contact-form-group"> <label for="contact-subject" class="contact-label">주제 *</label> <select id="contact-subject" x-model="formData.subject" required class="contact-input" > <option value="">과목을 선택하세요...</option> <option value="general">일반문의</option> <option value="sales">영업 및 파트너십</option> <option value="white-label">화이트 라벨 프로그램</option> <option value="support">지원하다</option> <option value="career">경력 기회</option> <option value="other">다른</option> </select> </div> <div class="contact-form-group"> <label for="contact-message" class="contact-label">메시지 *</label> <textarea id="contact-message" x-model="formData.message" rows="4" required class="contact-input" placeholder="메시지를 입력하세요" ></textarea> </div> <div x-show="formSubmitted" class="contact-success"> <i class="ph ph-check-circle text-green-400" style="font-size: 24px;"></i> <p>감사합니다! We'll get back to you soon.</p> </div> <div x-show="formError" class="contact-error"> <i class="ph ph-warning-circle text-red-400" style="font-size: 24px;"></i> <p>Something went wrong. 다시 시도하거나 직접 문의해 주세요.</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">취소</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">메시지 보내기</span> <span x-show="submitting" class="flex items-center gap-2"> <i class="ph ph-spinner animate-spin"></i> 배상... </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">Mewayz 체험하기</span> <span class="text-white/40">|</span> <span class="text-white/50 text-sm">모든 기능이 잠금 해제됩니다. 신용카드 불필요.</span> </div> <div class="flex items-center gap-3"> <a href="https://mewayz.com/ko/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'}});"> 데모 체험하기 </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">무료로 시작하세요</span> <span class="block text-[10px]">신용카드 없음</span> </div> <div class="flex gap-2"> <a href="https://mewayz.com/ko/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'}});"> 데모 </a> <a href="/ko/free-trial?utm_source=mobile_sticky&utm_medium=cta_bar&utm_campaign=trial&locale=ko" 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'}});}"> 가입 </a> </div> </div> </div> <script data-navigate-once="true">window.livewireScriptConfig = {"csrf":"TzB9Dadm2lxopPRykGDPcGqub7fBxU46GmcLvLqP","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 = '유효한 이메일 주소를 입력하세요.'; 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 = '문제가 발생했습니다. 다시 시도해 주세요.'; } } }" 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">잠깐만요. 빈손으로 떠나지 마세요!</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="귀하의 이메일 주소" 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">나에게 가이드를 보내주세요</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">또는</span> <div class="flex-1 h-px bg-white/10"></div> </div> <a href="/ko/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">무료 시작 — 신용카드 불필요 →</a> <p class="text-xs text-white/40 mt-2 text-center">스팸이 없습니다. 언제든지 구독을 취소하세요.</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">받은 편지함을 확인하세요!</h3> <p class="text-sm text-white/70">곧 귀하의 이메일로 가이드를 보내드리겠습니다.</p> <a href="/ko/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">아니면 지금 무료로 시작하세요 →</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="쿠키 동의" > <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"> 귀하의 경험을 개선하고 사이트 트래픽을 분석하기 위해 쿠키를 사용합니다. <a href="/ko/cookie-policy" class="text-indigo-400 hover:text-indigo-300 underline underline-offset-2">쿠키 정책</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"> 필수 항목만 </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"> 모두 수락 </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="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);"> 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;">연결 중...</p> <p id="vapi-modal-subtitle" style="margin:6px 0 0;color:rgba(255,255,255,.6);font-size:.875rem;">음성 통화 설정 중</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">음소거</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> 통화 종료 </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 = '연결 중...'; modalSubtitle.textContent = '음성 통화 설정 중'; 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 = 'Mewayz AI 어시스턴트'; 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 ? '음소거 해제' : '음소거'; 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 = '유효한 이메일 주소를 입력하세요.'; 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 = '유효한 이메일 주소를 입력하세요.'; 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>