/* Manutenção de Servidores — spoke do cluster Empresarial */

const SV_NAV = [
  ['Início', '#top'],
  ['Sinais de alerta', '#sinais'],
  ['O que avaliamos', '#avaliamos'],
  ['FAQ', '#faq'],
];
const SV_FOOTER_NAV = SV_NAV.slice(1);

const WA_MSG_SERVIDOR = encodeURIComponent("Olá, encontrei a InfoSystem pelo site e preciso de suporte para o servidor da minha empresa.");
const WA_LINK_SERVIDOR = `https://wa.me/${WA_NUMBER}?text=${WA_MSG_SERVIDOR}`;

function SVHero() {
  return (
    <section className="hero" id="top">
      <div className="container hero-inner">
        <div>
          <div className="reveal eyebrow"><span className="dot"/> InfoSystem · Suporte Empresarial · Maringá-PR</div>
          <h1 className="reveal h-display" data-delay="1">
            Manutenção de servidores em <em>Maringá</em>.
          </h1>
          <p className="reveal lede" data-delay="2">
            Sua empresa depende de um servidor local funcionando bem. Avaliamos o estado atual
            e organizamos a manutenção antes que um problema pare a operação.
          </p>
          <div className="reveal hero-actions" data-delay="3">
            <a className="btn btn-primary" href={WA_LINK_SERVIDOR} target="_blank" rel="noopener">
              <Icon name="whats" size={16}/> Falar sobre o servidor
            </a>
            <a className="btn btn-ghost-light" href="#sinais">
              Ver sinais de alerta <Icon name="arrow" size={15}/>
            </a>
          </div>
        </div>
        <div className="reveal reveal-slow" data-delay="2" data-parallax="0.04">
          <ServerVisual/>
        </div>
      </div>
    </section>
  );
}

function SVSinais() {
  const items = [
    ["Servidor lento ou travando com frequência", "cog"],
    ["Sem rotina de manutenção definida", "compass"],
    ["Backup não é verificado regularmente", "database"],
    ["Cresceu o número de usuários/dispositivos conectados", "route"],
    ["Já teve queda ou indisponibilidade recente", "shield"],
    ["Nunca passou por uma avaliação técnica completa", "sparkle"],
  ];
  return (
    <section className="section light" id="sinais" aria-labelledby="sinais-h">
      <div className="container">
        <div className="section-head">
          <div className="reveal">
            <span className="tag dark">Sinais de alerta</span>
            <h2 id="sinais-h" className="h-section" style={{marginTop:18}}>
              O servidor da sua empresa está dando algum desses sinais?
            </h2>
          </div>
        </div>
        <div className="reveal emp-grid">
          {items.map(([t, ic], i) => (
            <div key={i} className="emp-card">
              <div className="ic"><Icon name={ic} size={18}/></div>
              <h3>{t}</h3>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
}

function SVAvaliamos() {
  const steps = [
    ["Você chama no WhatsApp e conta a situação atual", "whats"],
    ["Avaliação técnica do servidor e da infraestrutura", "compass"],
    ["Relatório do que encontramos e recomendação", "route"],
    ["Manutenção executada conforme sua aprovação", "cog"],
  ];
  return (
    <section className="section cream" id="avaliamos" aria-labelledby="avaliamos-h">
      <div className="container">
        <div className="section-head">
          <div className="reveal">
            <span className="tag dark">Como funciona</span>
            <h2 id="avaliamos-h" className="h-section" style={{marginTop:18}}>
              Da avaliação até o servidor estabilizado.
            </h2>
          </div>
        </div>
        <ol className="emp-steps">
          {steps.map(([t, ic], i) => (
            <li key={i} className="emp-step reveal" data-delay={Math.min(i,5)}>
              <span className="emp-step-num">PASSO {String(i+1).padStart(2,'0')}</span>
              <span className="emp-step-ic"><Icon name={ic} size={16}/></span>
              <p>{t}</p>
            </li>
          ))}
        </ol>
      </div>
    </section>
  );
}

function SVFAQ() {
  const items = [
    { q: "Minha empresa tem um servidor simples, ainda faz sentido avaliar?", a: "Sim. O porte do servidor não muda a importância de uma avaliação — quanto antes identificarmos riscos, menor a chance de parada inesperada." },
    { q: "Vocês atendem servidores físicos e também soluções em nuvem?", a: "Fale com a gente sobre a infraestrutura da sua empresa para confirmarmos o que se aplica ao seu caso." },
    { q: "O atendimento é presencial ou remoto?", a: "Depende da necessidade — parte da avaliação e do suporte pode ser remota, e questões de hardware exigem atendimento presencial." },
    { q: "Isso também cobre a rede e o Wi-Fi da empresa?", a: "Redes e Wi-Fi têm uma página própria — veja nossos serviços de redes e Wi-Fi empresarial para mais detalhes, ou fale com a gente sobre os dois juntos." },
  ];
  const [open, setOpen] = React.useState(0);
  return (
    <section className="section light" 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 comuns sobre manutenção de servidores.
            </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 SVCTAFinal() {
  return (
    <section className="cta-final" id="contato">
      <div className="container">
        <span className="tag dark reveal">Vamos avaliar o servidor da sua empresa?</span>
        <h2 className="reveal h-section" data-delay="1" style={{marginTop:20}}>
          Fale com a InfoSystem antes que um problema pare a operação.
        </h2>
        <div className="reveal" data-delay="2" style={{marginTop:24}}>
          <a className="btn btn-primary" href={WA_LINK_SERVIDOR} target="_blank" rel="noopener" style={{fontSize:16, padding:'18px 28px'}}>
            <Icon name="whats" size={17}/> Falar sobre o servidor
          </a>
        </div>
        <p className="reveal" data-delay="3" style={{marginTop:28}}>
          <a href="suporte-tecnico-empresarial.html" style={{marginRight:24, textDecoration:'underline'}}>Ver todo o suporte técnico empresarial →</a>
          <a href="redes-wifi-empresarial.html" style={{marginRight:24, textDecoration:'underline'}}>Ver redes e Wi-Fi empresarial →</a>
          <a href="backup-empresarial.html" style={{textDecoration:'underline'}}>Ver backup empresarial →</a>
        </p>
      </div>
    </section>
  );
}

Object.assign(window, { SVHero, SVSinais, SVAvaliamos, SVFAQ, SVCTAFinal, SV_NAV, SV_FOOTER_NAV });
