feat(home): seção Sobre com prova por ponto, contato por oferta e hero com a Lavação 047 na tela larga

This commit is contained in:
Evandro Fonseca Junior committed 2026-10-14 22:54:26 -03:00
1 parent d356c364e0
commit 9fd1570426
33 files changed
+1128 -369

No files matched your search

+18 -8
View File
@@ -3,7 +3,7 @@ import Contact from "./Contact";
import { CONTACT_KIND_EVENT, DEFAULT_CONTACT_SUBJECT } from "./contact-subject";
/**
* Testes de caminhos-base da leitura do tipo da oferta em Contact (`/?tipo=…#contact`), complemento de
* Testes de caminhos-base da leitura do tipo da oferta em Contact (`/?tipo=…#contact-form`), complemento de
* Contact.offer.test.tsx: tipo válido, inválido e ausente no endereço, e a ordem entre o endereço e o evento.
*/
@@ -38,14 +38,22 @@ describe("Contact: tipo no endereço", () => {
});
it.each([
["/?tipo=site#contact", "Site para empresa"],
["/?tipo=sistema#contact", "Sistemas web sob medida"],
["/?tipo=site#contact-form", "Site que traz pedidos pelo WhatsApp"],
[
"/?utm_source=x&tipo=revisao#contact",
"Revisão ou diagnóstico de sistema",
"/?tipo=sistema#contact-form",
"Sistema para tirar a operação da planilha",
],
[
"/?utm_source=x&tipo=revisao#contact-form",
"Revisão de sistema que já existe",
],
// o endereço antigo, com #contact, continua valendo: o tipo vem da busca, não do fragmento
["/?tipo=site#contact", "Site que traz pedidos pelo WhatsApp"],
// com o parâmetro repetido vale o primeiro
["/?tipo=site&tipo=revisao#contact", "Site para empresa"],
[
"/?tipo=site&tipo=revisao#contact-form",
"Site que traz pedidos pelo WhatsApp",
],
])("path: %s (valid type) -> selects %s", (address, option) => {
window.history.replaceState(null, "", address);
@@ -60,7 +68,9 @@ describe("Contact: tipo no endereço", () => {
choose("desconhecido");
expect(subjectSelect()).toHaveValue("Sistemas web sob medida");
expect(subjectSelect()).toHaveValue(
"Sistema para tirar a operação da planilha",
);
});
it("path: valid type in the address, then a valid one from the event -> the later choice wins", () => {
@@ -69,6 +79,6 @@ describe("Contact: tipo no endereço", () => {
choose("revisao");
expect(subjectSelect()).toHaveValue("Revisão ou diagnóstico de sistema");
expect(subjectSelect()).toHaveValue("Revisão de sistema que já existe");
});
});