// app.jsx — main app shell, tweaks panel, hero switcher, HIW & pricing renderers const { useState, useEffect } = React; // Forward email handler to global window.handleSubscribe = function(e) { e.preventDefault(); const emailInput = e.target.querySelector('input[type="email"]'); const email = emailInput ? emailInput.value.trim() : ''; if (email) { try { sessionStorage.setItem('smf_pending_email', email); } catch (_) {} } window.location.href = 'pricing.html'; }; // ─── HOW IT WORKS steps ─── const steps = [ { num: 1, title: 'Subscribe', body: 'Choose monthly or annual. One price, no upsells. Only the deals worth your attention get sent to you.' }, { num: 2, title: 'Our filters do the work', body: 'We scan hundreds of SMF routes and apply smart filters — nonstop preference, realistic savings thresholds, and routes that matter to Sacramento travelers.' }, { num: 3, title: 'You get the alert', body: 'When a real deal lands, you get notified by email with the price, dates, airline, and everything you need to decide in 30 seconds.' }, { num: 4, title: 'Book your flight', body: 'Use the booking link in your alert to view the flight, adjust dates, and lock in your savings — directly through the airline or your preferred platform.' }, ]; const stepIcons = [ // mail , // filter , // bell , // plane , ]; function HowItWorks() { return ( <> {steps.map((s, i) => (
{s.body}