/* Troca de Tela de Notebook — spoke do cluster Assistência Técnica */

const TT_NAV = [
  ['Início', '#top'],
  ['Sinais', '#sinais'],
  ['Como funciona', '#como-funciona'],
  ['FAQ', '#faq'],
];
const TT_FOOTER_NAV = TT_NAV.slice(1);

const WA_MSG_TELA = encodeURIComponent("Olá, encontrei a InfoSystem pelo site e preciso trocar a tela do meu notebook.");
const WA_LINK_TELA = `https://wa.me/${WA_NUMBER}?text=${WA_MSG_TELA}`;

function TTHero() {
  return (
    <section className="hero" id="top">
      <div className="container hero-inner">
        <div>
          <div className="reveal eyebrow"><span className="dot"/> InfoSystem · Assistência Técnica · Maringá-PR</div>
          <h1 className="reveal h-display" data-delay="1">
            Troca de tela de notebook em <em>Maringá</em>.
          </h1>
          <p className="reveal lede" data-delay="2">
            Tela trincada, com manchas ou apagada? Avaliamos o notebook para confirmar se o
            problema é realmente a tela antes de qualquer troca.
          </p>
          <div className="reveal hero-actions" data-delay="3">
            <a className="btn btn-primary" href={WA_LINK_TELA} target="_blank" rel="noopener">
              <Icon name="whats" size={16}/> Avaliar troca da tela
            </a>
            <a className="btn btn-ghost-light" href="#sinais">
              Ver sinais comuns <Icon name="arrow" size={15}/>
            </a>
          </div>
        </div>
        <div className="reveal reveal-slow" data-delay="2" data-parallax="0.04">
          <ComputerVisual/>
        </div>
      </div>
    </section>
  );
}

function TTSinais() {
  const items = [
    ["Tela trincada ou quebrada", "shield"],
    ["Manchas, listras ou pontos na imagem", "monitor"],
    ["Tela apagada, mas o notebook liga normalmente", "compass"],
    ["Cores estranhas ou imagem piscando", "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 mais comuns</span>
            <h2 id="sinais-h" className="h-section" style={{marginTop:18}}>
              O que costuma indicar problema na tela.
            </h2>
          </div>
          <p className="reveal lede dark" data-delay="1">
            Nem todo problema de imagem é a tela — por isso a avaliação técnica vem antes da troca.
          </p>
        </div>
        <div className="reveal probs-grid">
          {items.map(([t, ic], i) => (
            <div key={i} className="prob">
              <div className="ic"><Icon name={ic} size={18}/></div>
              <span className="num">{String(i+1).padStart(2,'0')}</span>
              <h3 style={{fontSize:15.5, fontWeight:600, margin:'10px 0 0', letterSpacing:'-0.01em'}}>{t}</h3>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
}

function TTComoFunciona() {
  const steps = [
    ["Você chama no WhatsApp e descreve o problema", "whats"],
    ["Avaliação técnica confirma se é a tela ou outra causa", "compass"],
    ["Orçamento apresentado antes de qualquer serviço", "route"],
    ["Troca realizada e testada antes da entrega", "shield"],
  ];
  return (
    <section className="section cream" id="como-funciona" aria-labelledby="comofunciona-h">
      <div className="container">
        <div className="section-head">
          <div className="reveal">
            <span className="tag dark">Como funciona</span>
            <h2 id="comofunciona-h" className="h-section" style={{marginTop:18}}>
              Da avaliação até a tela funcionando de novo.
            </h2>
          </div>
        </div>
        <div className="process8">
          {steps.map(([t, ic], i) => (
            <article key={i} className="step reveal" data-delay={Math.min(i, 5)}>
              <div className="step-num">
                <span className="mono" style={{fontSize:11, letterSpacing:'0.16em', color:'var(--text-dark-dim)'}}>PASSO {String(i+1).padStart(2,'0')}</span>
                <span className="ic"><Icon name={ic} size={16}/></span>
              </div>
              <h4>{t}</h4>
              <div className="step-line"/>
            </article>
          ))}
        </div>
      </div>
    </section>
  );
}

function TTFAQ() {
  const items = [
    { q: "Como sei se o problema é realmente a tela e não outra coisa?", a: "Sinais como imagem apagada com o notebook ligado, manchas ou trincas costumam indicar a tela — mas a confirmação é feita na avaliação técnica." },
    { q: "Dá para usar o notebook em um monitor externo enquanto isso?", a: "Em muitos casos sim, dependendo do modelo. Podemos orientar sobre essa possibilidade durante o atendimento." },
    { q: "Vocês têm a tela do meu modelo disponível?", a: "Isso depende do modelo do notebook. Fale com a gente informando a marca e modelo para confirmar a disponibilidade." },
    { q: "A troca da tela tem garantia?", a: "As condições de garantia do serviço são informadas junto com o orçamento, antes da execução." },
  ];
  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 troca de tela.
            </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 TTCTAFinal() {
  return (
    <section className="cta-final" id="contato">
      <div className="container">
        <span className="tag dark reveal">Vamos avaliar sua tela?</span>
        <h2 className="reveal h-section" data-delay="1" style={{marginTop:20}}>
          Fale com a InfoSystem e resolva o problema da tela do seu notebook.
        </h2>
        <div className="reveal" data-delay="2" style={{marginTop:24}}>
          <a className="btn btn-primary" href={WA_LINK_TELA} target="_blank" rel="noopener" style={{fontSize:16, padding:'18px 28px'}}>
            <Icon name="whats" size={17}/> Avaliar troca da tela
          </a>
        </div>
        <p className="reveal" data-delay="3" style={{marginTop:28}}>
          <a href="conserto-notebook-maringa.html" style={{marginRight:24, textDecoration:'underline'}}>Ver outros conserto de notebook →</a>
          <a href="reparo-dobradica-notebook.html" style={{textDecoration:'underline'}}>Problema é na dobradiça? →</a>
        </p>
      </div>
    </section>
  );
}

Object.assign(window, { TTHero, TTSinais, TTComoFunciona, TTFAQ, TTCTAFinal, TT_NAV, TT_FOOTER_NAV });
