/* Monte seu Computador Sob Medida — spoke do cluster Computadores (processo) */

const MS_NAV = [
  ['Início', '#top'],
  ['Passo a passo', '#passo-a-passo'],
  ['Antes de montar', '#antes-de-montar'],
  ['FAQ', '#faq'],
];
const MS_FOOTER_NAV = MS_NAV.slice(1);

const WA_MSG_MONTAR = encodeURIComponent("Olá, encontrei a InfoSystem pelo site e gostaria de montar ou melhorar um computador.");
const WA_LINK_MONTAR = `https://wa.me/${WA_NUMBER}?text=${WA_MSG_MONTAR}`;

function MSHero() {
  return (
    <section className="hero" id="top">
      <div className="container hero-inner">
        <div>
          <div className="reveal eyebrow"><span className="dot"/> InfoSystem · Computadores · Maringá-PR</div>
          <h1 className="reveal h-display" data-delay="1">
            Monte seu computador <em>sob medida</em> com a InfoSystem.
          </h1>
          <p className="reveal lede" data-delay="2">
            Nunca montou um computador e não sabe por onde começar? Não tem problema — você não
            precisa entender de peças. A gente te orienta do começo ao fim.
          </p>
          <div className="reveal hero-actions" data-delay="3">
            <a className="btn btn-primary" href={WA_LINK_MONTAR} target="_blank" rel="noopener">
              <Icon name="whats" size={16}/> Quero montar meu computador
            </a>
            <a className="btn btn-ghost-light" href="#passo-a-passo">
              Ver como funciona <Icon name="arrow" size={15}/>
            </a>
          </div>
        </div>
        <div className="reveal reveal-slow" data-delay="2" data-parallax="0.04">
          <EcoLaptopArt/>
        </div>
      </div>
    </section>
  );
}

function MSPassoAPasso() {
  const steps = [
    ["Você conta o que precisa e o orçamento disponível", "whats"],
    ["Conversamos sobre o uso: jogos, trabalho, estudo ou os dois", "compass"],
    ["Indicamos uma configuração equilibrada para o seu caso", "route"],
    ["Você aprova antes de qualquer montagem", "check"],
    ["Montamos e testamos o computador", "cog"],
    ["Você retira ou combina a entrega com a loja", "pin"],
  ];
  return (
    <section className="section dark" id="passo-a-passo" aria-labelledby="passo-h">
      <div className="container">
        <div className="section-head">
          <div className="reveal">
            <span className="tag">Passo a passo</span>
            <h2 id="passo-h" className="h-section" style={{marginTop:18, color:'#fff'}}>
              Do primeiro contato ao computador pronto.
            </h2>
          </div>
        </div>
        <ol className="gm-steps">
          {steps.map(([t, ic], i) => (
            <li key={i} className="gm-step reveal" data-delay={Math.min(i,5)}>
              <span className="gm-step-num">{String(i+1).padStart(2,'0')}</span>
              <span className="gm-step-ic"><Icon name={ic} size={18}/></span>
              <p>{t}</p>
            </li>
          ))}
        </ol>
      </div>
    </section>
  );
}

function MSAntesDeMontar() {
  const items = [
    { t: "Para que você vai usar?", s: "Jogos, trabalho, estudo, edição — ou um pouco de cada.", ic: "compass" },
    { t: "Qual o orçamento disponível?", s: "A configuração é montada dentro do que você pode investir agora.", ic: "route", dark: true },
    { t: "Pensa em fazer upgrade depois?", s: "Isso pode influenciar a escolha de alguns componentes.", ic: "database" },
  ];
  return (
    <section className="section light" id="antes-de-montar" aria-labelledby="antes-h">
      <div className="container">
        <div className="section-head">
          <div className="reveal">
            <span className="tag dark">Antes de montar</span>
            <h2 id="antes-h" className="h-section" style={{marginTop:18}}>
              Três perguntas que já ajudam a começar.
            </h2>
          </div>
          <p className="reveal lede dark" data-delay="1">
            Não precisa ter as respostas prontas — são só os pontos de partida da nossa conversa.
          </p>
        </div>
        <div className="perfis-grid" style={{gridTemplateColumns:'repeat(3, 1fr)'}}>
          {items.map((p, i) => (
            <article key={i} className={`perfil-card reveal ${p.dark ? 'dark' : ''}`} data-delay={i+1}>
              <div className="ic"><Icon name={p.ic} size={20}/></div>
              <div>
                <span className="label">PERGUNTA {String(i+1).padStart(2,'0')}</span>
                <h3 style={{marginTop:8, fontSize:17, fontWeight:600, letterSpacing:'-0.018em'}}>{p.t}</h3>
                <p className="sub" style={{marginTop:6}}>{p.s}</p>
              </div>
            </article>
          ))}
        </div>
      </div>
    </section>
  );
}

function MSFAQ() {
  const items = [
    { q: "Nunca montei um computador, isso é complicado para mim?", a: "Não. Você não precisa entender de peças — só contar o que precisa fazer no computador e o orçamento disponível. O resto é com a nossa equipe." },
    { q: "É mais caro montar sob medida do que comprar pronto?", a: "Não necessariamente — depende da configuração escolhida. A vantagem é que você paga por algo pensado para o seu uso, não por especificações genéricas." },
    { q: "Posso pedir para montar aos poucos, por partes?", a: "Fale com a gente sobre o seu caso — conforme a situação, é possível planejar upgrades futuros dentro da configuração inicial." },
    { q: "Depois de montado, quem cuida da manutenção?", a: "A própria InfoSystem presta assistência técnica e suporte para o computador depois da entrega." },
  ];
  const [open, setOpen] = React.useState(0);
  return (
    <section className="section cream" id="faq" aria-labelledby="faq-h">
      <div className="container">
        <div className="faq-grid">
          <div>
            <span className="tag dark reveal">Perguntas frequentes</span>
            <h2 id="faq-h" className="reveal h-section" data-delay="1" style={{marginTop:18}}>
              Dúvidas de quem nunca montou um computador.
            </h2>
            <p className="reveal lede dark" data-delay="2" style={{marginTop:18}}>
              Não achou sua dúvida? Chame no WhatsApp e fale com a equipe técnica.
            </p>
          </div>
          <div className="faq-list reveal">
            {items.map((it, i) => (
              <div key={i} className={`faq-item ${open === i ? 'open' : ''}`}>
                <button className="faq-q" onClick={() => setOpen(open === i ? -1 : i)} aria-expanded={open === i}>
                  <span>{it.q}</span>
                  <span className="icn" aria-hidden="true"><Icon name="plus" size={14}/></span>
                </button>
                <div className="faq-a" style={{maxHeight: open === i ? 260 : 0}}>
                  <div className="faq-a-inner">{it.a}</div>
                </div>
              </div>
            ))}
          </div>
        </div>
      </div>
    </section>
  );
}

function MSCTAFinal() {
  return (
    <section className="cta-final" id="contato">
      <div className="container">
        <span className="tag dark reveal">Bora começar?</span>
        <h2 className="reveal h-section" data-delay="1" style={{marginTop:20}}>
          Fale com a InfoSystem e monte o seu computador sob medida.
        </h2>
        <div className="reveal" data-delay="2" style={{marginTop:24}}>
          <a className="btn btn-primary" href={WA_LINK_MONTAR} target="_blank" rel="noopener" style={{fontSize:16, padding:'18px 28px'}}>
            <Icon name="whats" size={17}/> Quero montar meu computador
          </a>
        </div>
        <p className="reveal" data-delay="3" style={{marginTop:28}}>
          <a href="computadores-gamer-maringa.html" style={{marginRight:24, textDecoration:'underline'}}>É para jogos →</a>
          <a href="computadores-profissionais-workstation.html" style={{textDecoration:'underline'}}>É para trabalho →</a>
        </p>
      </div>
    </section>
  );
}

Object.assign(window, { MSHero, MSPassoAPasso, MSAntesDeMontar, MSFAQ, MSCTAFinal, MS_NAV, MS_FOOTER_NAV });
