File size: 3,486 Bytes
90ff745
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
// Mobile menu toggle
const mobileMenuBtn = document.getElementById('mobileMenuBtn');
const mobileMenu = document.getElementById('mobileMenu');

if (mobileMenuBtn && mobileMenu) {
  mobileMenuBtn.addEventListener('click', () => {
    mobileMenu.classList.toggle('hidden');
    // Swap icon between menu and x
    const icon = mobileMenuBtn.querySelector('[data-feather]');
    if (icon) {
      icon.setAttribute('data-feather', mobileMenu.classList.contains('hidden') ? 'menu' : 'x');
      if (window.feather && typeof feather.replace === 'function') feather.replace();
    }
  });
}

// Billing toggle: monthly/yearly
const billMonthly = document.getElementById('billMonthly');
const billYearly = document.getElementById('billYearly');
const priceEls = document.querySelectorAll('[data-price]');
let yearly = true;

function updateBillingUI() {
  const monthlyBtn = billMonthly;
  const yearlyBtn = billYearly;
  if (!monthlyBtn || !yearlyBtn) return;

  if (yearly) {
    yearlyBtn.classList.remove('text-slate-700', 'bg-white');
    yearlyBtn.classList.add('text-white', 'bg-brand-600');
    monthlyBtn.classList.remove('text-white', 'bg-brand-600');
    monthlyBtn.classList.add('text-slate-700', 'bg-white');
  } else {
    monthlyBtn.classList.remove('text-slate-700', 'bg-white');
    monthlyBtn.classList.add('text-white', 'bg-brand-600');
    yearlyBtn.classList.remove('text-white', 'bg-brand-600');
    yearlyBtn.classList.add('text-slate-700', 'bg-white');
  }
}

function updatePrices() {
  priceEls.forEach((el) => {
    const monthly = el.getAttribute('data-monthly');
    const yearlyPrice = el.getAttribute('data-yearly');
    const value = yearly ? yearlyPrice : monthly;
    el.textContent = value === '0' ? '$0' : `$${value}`;
  });
}

if (billMonthly && billYearly) {
  billMonthly.addEventListener('click', () => {
    yearly = false;
    updateBillingUI();
    updatePrices();
  });
  billYearly.addEventListener('click', () => {
    yearly = true;
    updateBillingUI();
    updatePrices();
  });
  updateBillingUI();
  updatePrices();
}

// Demo modal
const demoModal = document.getElementById('demoModal');
const demoFrame = document.getElementById('demoFrame');
const openDemo = document.getElementById('openDemo');
const demoPlayOverlay = document.getElementById('demoPlayOverlay');
const closeDemo = document.getElementById('closeDemo');

function openDemoModal() {
  if (!demoModal || !demoFrame) return;
  // Public demo video; use muted + playsinline to allow autoplay
  demoFrame.src = 'https://www.youtube.com/embed/9bZkp7q19f0?autoplay=1&modestbranding=1&rel=0';
  demoModal.classList.remove('hidden');
  document.body.style.overflow = 'hidden';
}
function closeDemoModal() {
  if (!demoModal || !demoFrame) return;
  demoFrame.src = '';
  demoModal.classList.add('hidden');
  document.body.style.overflow = '';
}

if (openDemo) openDemo.addEventListener('click', openDemoModal);
if (demoPlayOverlay) demoPlayOverlay.addEventListener('click', openDemoModal);
if (closeDemo) closeDemo.addEventListener('click', closeDemoModal);
if (demoModal) {
  demoModal.addEventListener('click', (e) => {
    if (e.target === demoModal) closeDemoModal();
  });
}

// Close on Escape
window.addEventListener('keydown', (e) => {
  if (e.key === 'Escape' && demoModal && !demoModal.classList.contains('hidden')) {
    closeDemoModal();
  }
});

// Footer year
const yearEl = document.getElementById('year');
if (yearEl) yearEl.textContent = new Date().getFullYear();