diff --git a/.circleci/config.yml b/.circleci/config.yml index eb2d0ec..65059ab 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,6 +9,7 @@ workflows: only: - main - dev + - rollback jobs: build_docker_image: diff --git a/package.json b/package.json index bc8fdf6..d371a37 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "next dev", + "dev": "next dev -p 8080", "build": "next build", "start": "next start", "lint": "next lint" diff --git a/src/components/cepResult/cepResult.tsx b/src/components/cepResult/cepResult.tsx index c4effcf..26c6eb8 100644 --- a/src/components/cepResult/cepResult.tsx +++ b/src/components/cepResult/cepResult.tsx @@ -16,6 +16,7 @@ interface propsCepResult { estado: string; latitude: number; longitude: number; + tipoLogradouro: string; } export const CepResult: FunctionComponent = ({ @@ -26,6 +27,7 @@ export const CepResult: FunctionComponent = ({ estado, latitude, longitude, + tipoLogradouro, }) => { return ( <> @@ -35,7 +37,7 @@ export const CepResult: FunctionComponent = ({ CEP: {cep}

- Logradouro: {logradouro} + Logradouro: {`${tipoLogradouro} ${logradouro}`}

Bairro: {bairro} diff --git a/src/pages/cep/[...cep].tsx b/src/pages/cep/[...cep].tsx index 27099b5..b8401cb 100644 --- a/src/pages/cep/[...cep].tsx +++ b/src/pages/cep/[...cep].tsx @@ -18,7 +18,17 @@ export const getServerSideProps: GetServerSideProps = async (context: any) => { }; } - const response = await fetch(`${process.env.API_LINK}/cep/${cep}`); + const credentials = `${process.env.CLIENT_ID}:${process.env.CLIENT_SECRET}`; + const base64Credentials = btoa(credentials); + + const response = await fetch(`${process.env.API_LINK}/cep/${cep}`, { + headers: { + Authorization: `Basic ${base64Credentials}`, + }, + next: { + revalidate: 2592000, + }, + }); const post = await response.json(); return { @@ -38,9 +48,19 @@ const CepPage: FunctionComponent = ({ post, cep }) => { const pageTitle = post.cep ? `Informações do CEP ${post.cep}` : "CEP não encontrado"; - const pageDescription = post.cep - ? `Detalhes do CEP ${post.cep}: ${post.logradouro}, ${post.bairro}, ${post.cidade}, ${post.estado}.` - : "A busca pelo CEP não retornou resultados."; + const pageDescriptionParts = [ + post.cep && `Detalhes do CEP ${post.cep}`, + post.logradouro && `${post.tipoLogradouro} ${post.logradouro}`, + post.bairro?.nome && post.bairro.nome, + post.cidade?.nome && post.cidade.nome, + post.estado?.nome && post.estado?.nome, + post.estado?.uf && post.estado?.uf, + ].filter(Boolean); + + const pageDescription = + pageDescriptionParts.length > 0 + ? pageDescriptionParts.join(", ") + : "A busca pelo CEP não retornou resultados."; mixpanel.track("Cep Search", { cep: post?.cep, @@ -87,6 +107,7 @@ const CepPage: FunctionComponent = ({ post, cep }) => { estado={`${post.estado?.nome} - ${post.estado?.uf}`} latitude={post.latitude} longitude={post.longitude} + tipoLogradouro={post.tipoLogradouro} /> )}