From 60a6aa7e0de01614a8a50ebfd1e34bd9adbfad9f Mon Sep 17 00:00:00 2001 From: Lucas Menezes Date: Fri, 2 Aug 2024 15:03:09 -0300 Subject: [PATCH] Update: widget container styles, footer links, and banner text --- components/app/Banner/Banner.module.css | 12 ++++--- components/app/Banner/index.tsx | 4 +-- components/app/Footer/Footer.module.css | 4 +-- components/app/Footer/index.tsx | 12 +++---- components/app/Search/Search.module.css | 5 ++- .../WidgetContainer.module.css | 1 + .../app/WidgetTrends/WidgetTrends.module.css | 2 +- locales/pt-BR.json | 12 +++---- pages/about.tsx | 12 ++++--- pages/api/trends/legal.ts | 36 ++++++++++--------- public/images/logos/pinterest.svg | 18 +++++++++- public/images/logos/reuters.svg | 9 ++++- public/sw.js.map | 2 +- 13 files changed, 82 insertions(+), 47 deletions(-) diff --git a/components/app/Banner/Banner.module.css b/components/app/Banner/Banner.module.css index 375ebb6..94ec2f2 100644 --- a/components/app/Banner/Banner.module.css +++ b/components/app/Banner/Banner.module.css @@ -3,11 +3,10 @@ padding: 3.5rem; border-radius: var(--radius-big); box-shadow: var(--box-shadow); - - margin: 3.5rem 1rem 0; + margin: 1rem 1rem 0; display: grid; grid-template-columns: 1fr 1fr; - grid-gap: 2rem; + grid-gap: 8rem; align-items: center; text-align: left; } @@ -18,7 +17,7 @@ } .container p { margin-bottom: 0.75rem; - font-size: var(--font-size); + font-size: 1.2rem; color: var(--color-text-black); } .container a { @@ -31,7 +30,7 @@ height: var(--size-large); padding: 0 2rem; border-radius: var(--radius-big); - width: auto; + width: 100%; font-size: var(--font-size); } .container a:hover, @@ -70,6 +69,9 @@ grid-gap: 0; text-align: center; } + .container p { + font-size: var(--font-size); + } .container a { height: var(--size-small); font-size: var(--font-size); diff --git a/components/app/Banner/index.tsx b/components/app/Banner/index.tsx index bb18fe4..a11fddc 100644 --- a/components/app/Banner/index.tsx +++ b/components/app/Banner/index.tsx @@ -9,10 +9,10 @@ export default function Banner() { return (
-

{data?.t?.banner[0] ?? 'The new way of search'}

+

{data?.t?.banner[0] ?? 'A new way to search on Web and AI'}

{data?.t?.banner[1] ?? - 'Decentralized search on AI and web search engines. Discover more. Help the planet.'} + 'Findto is an assistant for people to control web search algorithms and AIs. Discover more. Help the planet.'}

diff --git a/components/app/Footer/Footer.module.css b/components/app/Footer/Footer.module.css index 62238ca..a2a75e3 100644 --- a/components/app/Footer/Footer.module.css +++ b/components/app/Footer/Footer.module.css @@ -40,8 +40,8 @@ } .container ul li a svg { - width: 1.2rem; - height: 1.2rem; + width: 1rem; + height: 1rem; fill: var(--color-black-translucent-50); transition: var(--transition); } diff --git a/components/app/Footer/index.tsx b/components/app/Footer/index.tsx index 81698da..7867289 100644 --- a/components/app/Footer/index.tsx +++ b/components/app/Footer/index.tsx @@ -16,7 +16,7 @@ export default function AppFooter() { -

Findto | {data?.t?.slogan ?? 'Open Source AI Search'}

+

Findto | {data?.t?.slogan ?? 'Decentralized search on Web and AI'}

  • @@ -40,6 +40,11 @@ export default function AppFooter() { {data?.t?.terms ?? 'Terms'}
  • +
  • + + + +
  • -
  • - - - -
  • -

    Open Source AI Search

    +

    + Decentralized search

    on Web and AI +

    - Findto is an assistant for decentralized web search. Get control over AI and search - engines algorithms. Explore a healthy internet. + Findto is a decentralized search assistant. Get control over AI and Web search engines + algorithms. Explore a healthy internet.

@@ -31,7 +33,7 @@ export default function PageAbout() {
-

Get control over AI and search algorithms

+

Get control over search algorithms

Findto puts people on control of the algorithms. Quickly switch between diverse sources and find anything. More productive and accessible searches. @@ -59,7 +61,7 @@ export default function PageAbout() {

-

Decentralized and open source search

+

Decentralized and open source

The centralized internet — where monopoly wins — is unsustainable. Findto encourages a truly open search experience, where people choices and the planet diff --git a/pages/api/trends/legal.ts b/pages/api/trends/legal.ts index 7b07a3a..ffd3ed7 100644 --- a/pages/api/trends/legal.ts +++ b/pages/api/trends/legal.ts @@ -15,9 +15,17 @@ export default async function endpoint(req: NextApiRequest, res: NextApiResponse credits_url: 'https://www.gov.br/pt-br', data: [ { - title: 'Consultar restituição de imposto de renda DIRPF', + title: 'Consultar Valores a Receber', + url: 'https://www.gov.br/pt-br/servicos/consultar-e-solicitar-a-devolucao-de-valores-a-receber', + }, + { + title: 'Consultar Restituição do Imposto de Renda', url: 'https://www.gov.br/pt-br/servicos/consultar-restituicao-de-imposto-de-renda', }, + { + title: 'Realizar a Assinatura Eletrônica de Documentos', + url: 'https://www.gov.br/pt-br/servicos/assinatura-eletronica', + }, { title: 'Consultar CPF', url: 'https://www.gov.br/pt-br/servicos/consultar-cadastro-de-pessoas-fisicas', @@ -27,29 +35,25 @@ export default async function endpoint(req: NextApiRequest, res: NextApiResponse url: 'https://www.gov.br/pt-br/servicos/consultar-cadastro-nacional-de-pessoas-juridicas', }, { - title: 'Consultar dívidas e pendências fiscais', + title: 'Inscrever ou Atualizar CNPJ', + url: 'https://www.gov.br/pt-br/servicos/inscrever-ou-atualizar-cadastro-nacional-de-pessoas-juridicas', + }, + { + title: 'Consultar Dívidas e Pendências Fiscais', url: 'https://www.gov.br/pt-br/servicos/consultar-dividas-e-pendencias-fiscais', }, { - title: 'Realizar a Assinatura Eletrônica de documentos', - url: 'https://www.gov.br/pt-br/servicos/assinatura-eletronica', + title: 'Emitir Certidão de Regularidade Fiscal', + url: 'https://www.gov.br/pt-br/servicos/emitir-certidao-de-regularidade-fiscal', }, { title: 'Obter a Carteira de Trabalho', url: 'https://www.gov.br/pt-br/servicos/obter-a-carteira-de-trabalho', }, - { - title: 'Emitir certidão de regularidade fiscal', - url: 'https://www.gov.br/pt-br/servicos/emitir-certidao-de-regularidade-fiscal', - }, { title: 'Obter CPF', url: 'https://www.gov.br/pt-br/servicos/obter-cartao-de-cpf', }, - { - title: 'Inscrever ou atualizar CNPJ', - url: 'https://www.gov.br/pt-br/servicos/inscrever-ou-atualizar-cadastro-nacional-de-pessoas-juridicas', - }, { title: 'Esclarecer dúvidas sobre proteção de dados pessoais', url: 'https://www.gov.br/pt-br/servicos/esclarecer-duvidas-sobre-protecao-de-dados-pessoais', @@ -59,19 +63,19 @@ export default async function endpoint(req: NextApiRequest, res: NextApiResponse url: 'https://www.tse.jus.br/servicos-eleitorais/autoatendimento-eleitoral#/', }, { - title: 'Opinar sobre propostas legislativas na Câmara dos Deputados', + title: 'Câmara dos Deputados: opinar em propostas legislativas', url: 'https://www.camara.leg.br/enquetes/', }, { - title: 'Propor e apoiar leis no Senado', + title: 'Senado: propor e apoiar leis', url: 'https://www12.senado.leg.br/ecidadania/principalideia', }, { - title: 'Manifestar solicitação ao Governo', + title: 'Governo: manifestar solicitação', url: 'https://falabr.cgu.gov.br/', }, { - title: 'Como está votando cada parlamentar', + title: 'Ver Votos dos Parlamentares', url: 'https://quemfoiquem.org.br/', }, ], diff --git a/public/images/logos/pinterest.svg b/public/images/logos/pinterest.svg index ba7afb5..17a9be0 100644 --- a/public/images/logos/pinterest.svg +++ b/public/images/logos/pinterest.svg @@ -1 +1,17 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + diff --git a/public/images/logos/reuters.svg b/public/images/logos/reuters.svg index 1b5092f..8554a35 100644 --- a/public/images/logos/reuters.svg +++ b/public/images/logos/reuters.svg @@ -1 +1,8 @@ - \ No newline at end of file + + + + + + + + diff --git a/public/sw.js.map b/public/sw.js.map index 216336e..15c607e 100644 --- a/public/sw.js.map +++ b/public/sw.js.map @@ -1 +1 @@ -{"version":3,"file":"sw.js","sources":["../../../../private/var/folders/4p/h129x_r54zd2sbq9gczx40qr0000gn/T/6b937ffd663b7798ed73a5a8c1a7e19b/sw.js"],"sourcesContent":["import {registerRoute as workbox_routing_registerRoute} from '/Users/lucasmenezes/Developer/findto/node_modules/workbox-routing/registerRoute.mjs';\nimport {NetworkFirst as workbox_strategies_NetworkFirst} from '/Users/lucasmenezes/Developer/findto/node_modules/workbox-strategies/NetworkFirst.mjs';\nimport {NetworkOnly as workbox_strategies_NetworkOnly} from '/Users/lucasmenezes/Developer/findto/node_modules/workbox-strategies/NetworkOnly.mjs';\nimport {clientsClaim as workbox_core_clientsClaim} from '/Users/lucasmenezes/Developer/findto/node_modules/workbox-core/clientsClaim.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\nimportScripts(\n \n);\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n\nworkbox_routing_registerRoute(\"/\", new workbox_strategies_NetworkFirst({ \"cacheName\":\"start-url\", plugins: [{ cacheWillUpdate: async ({ request, response, event, state }) => { if (response && response.type === 'opaqueredirect') { return new Response(response.body, { status: 200, statusText: 'OK', headers: response.headers }) } return response } }] }), 'GET');\nworkbox_routing_registerRoute(/.*/i, new workbox_strategies_NetworkOnly({ \"cacheName\":\"dev\", plugins: [] }), 'GET');\n\n\n\n\n"],"names":["importScripts","self","skipWaiting","workbox_core_clientsClaim","workbox_routing_registerRoute","workbox_strategies_NetworkFirst","plugins","cacheWillUpdate","request","response","event","state","type","Response","body","status","statusText","headers","workbox_strategies_NetworkOnly"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAa,EAEZ,CAAA;EAQDC,CAAI,CAAA,CAAA,CAAA,CAACC,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAA;AAElBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAyB,EAAE,CAAA;AAI3BC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA6B,CAAC,CAAA,CAAA,CAAG,CAAE,CAAA,CAAA,CAAA,CAAA,CAAIC,oBAA+B,CAAC,CAAA;EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,EAAC,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,EAAE,CAAC,CAAA;GAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,EAAE,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAEC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAEC,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAEC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA;AAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA;EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIF,QAAQ,CAAIA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAACG,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,gBAAgB,CAAE,CAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAIC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAACJ,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAACK,IAAI,CAAE,CAAA,CAAA;EAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,EAAE,CAAG,CAAA,CAAA,CAAA;EAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,EAAE,CAAI,CAAA,CAAA,CAAA,CAAA;YAAEC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAER,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAACQ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAA;EAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOR,QAAQ,CAAA;EAAC,CAAA,CAAA,CAAA,CAAA,CAAA;KAAG,CAAA;AAAE,CAAA,CAAA,CAAC,CAAC,CAAA,CAAE,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA;AACxWL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA6B,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAE,CAAA,CAAA,CAAA,CAAA,CAAIc,mBAA8B,CAAC,CAAA;EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,EAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA;EAAEZ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,EAAE,CAAA,CAAA;EAAG,CAAC,CAAC,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA;;"} \ No newline at end of file +{"version":3,"file":"sw.js","sources":["../../../../private/var/folders/4p/h129x_r54zd2sbq9gczx40qr0000gn/T/af5dc02eafa839cb7e6d7ae7c8ee7488/sw.js"],"sourcesContent":["import {registerRoute as workbox_routing_registerRoute} from '/Users/lucasmenezes/Developer/findto/node_modules/workbox-routing/registerRoute.mjs';\nimport {NetworkFirst as workbox_strategies_NetworkFirst} from '/Users/lucasmenezes/Developer/findto/node_modules/workbox-strategies/NetworkFirst.mjs';\nimport {NetworkOnly as workbox_strategies_NetworkOnly} from '/Users/lucasmenezes/Developer/findto/node_modules/workbox-strategies/NetworkOnly.mjs';\nimport {clientsClaim as workbox_core_clientsClaim} from '/Users/lucasmenezes/Developer/findto/node_modules/workbox-core/clientsClaim.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\nimportScripts(\n \n);\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n\nworkbox_routing_registerRoute(\"/\", new workbox_strategies_NetworkFirst({ \"cacheName\":\"start-url\", plugins: [{ cacheWillUpdate: async ({ request, response, event, state }) => { if (response && response.type === 'opaqueredirect') { return new Response(response.body, { status: 200, statusText: 'OK', headers: response.headers }) } return response } }] }), 'GET');\nworkbox_routing_registerRoute(/.*/i, new workbox_strategies_NetworkOnly({ \"cacheName\":\"dev\", plugins: [] }), 'GET');\n\n\n\n\n"],"names":["importScripts","self","skipWaiting","workbox_core_clientsClaim","workbox_routing_registerRoute","workbox_strategies_NetworkFirst","plugins","cacheWillUpdate","request","response","event","state","type","Response","body","status","statusText","headers","workbox_strategies_NetworkOnly"],"mappings":"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"} \ No newline at end of file