From c240509b0cdb6ff9310100fd590f430cf55d5b8e Mon Sep 17 00:00:00 2001 From: Felipe Campos Date: Thu, 7 Nov 2024 15:51:58 -0300 Subject: [PATCH 1/7] =?UTF-8?q?feat:=20estiliza=C3=A7=C3=A3o=20desktop=20e?= =?UTF-8?q?=20mobile=20feitas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/search/SearchResult.tsx | 13 ++++++++++-- static/sprites.svg | 1 + static/tailwind.css | 34 +++++++++++++++++++++++++++--- 3 files changed, 43 insertions(+), 5 deletions(-) diff --git a/components/search/SearchResult.tsx b/components/search/SearchResult.tsx index ed5822f..901d1ff 100644 --- a/components/search/SearchResult.tsx +++ b/components/search/SearchResult.tsx @@ -30,8 +30,17 @@ export interface Props { } function NotFound() { return ( -
- Not Found! +
+
+ + OPS... Não encontramos nenhum resultado para: +
+
+
  • Verifique se a palavra foi digitada corretamente;
  • +
  • Tente palavras menos específicas;
  • +
  • Tente palavras-chave diferentes;
  • +
  • Faça buscas relacionadas.
  • +
    ); } diff --git a/static/sprites.svg b/static/sprites.svg index dceb4eb..0c78206 100644 --- a/static/sprites.svg +++ b/static/sprites.svg @@ -40,4 +40,5 @@ + diff --git a/static/tailwind.css b/static/tailwind.css index 6115849..f338cd7 100644 --- a/static/tailwind.css +++ b/static/tailwind.css @@ -3808,9 +3808,15 @@ details.collapse summary::-webkit-details-marker { .mb-\[20px\] { margin-bottom: 20px; } +.mb-\[30px\] { + margin-bottom: 30px; +} .mb-\[34px\] { margin-bottom: 34px; } +.mb-\[40px\] { + margin-bottom: 40px; +} .ml-1 { margin-left: 0.25rem; } @@ -3853,9 +3859,15 @@ details.collapse summary::-webkit-details-marker { .mt-\[23px\] { margin-top: 23px; } +.mt-\[30px\] { + margin-top: 30px; +} .mt-\[5px\] { margin-top: 5px; } +.mt-\[87px\] { + margin-top: 87px; +} .mt-auto { margin-top: auto; } @@ -4101,6 +4113,9 @@ details.collapse summary::-webkit-details-marker { .w-\[522px\] { width: 522px; } +.w-\[526px\] { + width: 526px; +} .w-\[70\.12\%\] { width: 70.12%; } @@ -4590,9 +4605,6 @@ details.collapse summary::-webkit-details-marker { .rounded-md { border-radius: 0.375rem; } -.rounded-sm { - border-radius: 0.125rem; -} .rounded-b-\[5px\] { border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; @@ -5649,6 +5661,14 @@ details.collapse summary::-webkit-details-marker { } } +.marker\:text-\[\#BD87ED\] *::marker { + color: rgb(189 135 237 ); +} + +.marker\:text-\[\#BD87ED\]::marker { + color: rgb(189 135 237 ); +} + .first\:ml-4:first-child { margin-left: 1rem; } @@ -5981,6 +6001,10 @@ details.collapse summary::-webkit-details-marker { width: 26.93vw; } + .mobile\:w-\[333px\] { + width: 333px; + } + .mobile\:w-\[42\.66vw\] { width: 42.66vw; } @@ -6160,6 +6184,10 @@ details.collapse summary::-webkit-details-marker { font-size: 14px; } + .mobile\:text-\[20px\] { + font-size: 20px; + } + .mobile\:text-\[24px\] { font-size: 24px; } From 562a3441c1154ecae5585232d8e9f22af97005ed Mon Sep 17 00:00:00 2001 From: Felipe Campos Date: Fri, 8 Nov 2024 15:54:15 -0300 Subject: [PATCH 2/7] feat: barra de pesquisa adicionada --- components/search/SearchResult.tsx | 18 ++++++++++++++---- static/tailwind.css | 9 +++------ 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/components/search/SearchResult.tsx b/components/search/SearchResult.tsx index 901d1ff..1d7c601 100644 --- a/components/search/SearchResult.tsx +++ b/components/search/SearchResult.tsx @@ -3,6 +3,10 @@ import { mapProductToAnalyticsItem } from "apps/commerce/utils/productToAnalytic import ProductCard from "../../components/product/ProductCard.tsx"; import Filters from "../../components/search/Filters.tsx"; import Icon from "../../components/ui/Icon.tsx"; +import Searchbar, { + type SearchbarProps, +} from "../../components/search/Searchbar/Form.tsx"; +import ProductShelf from '../../sections/Product/ProductShelf.tsx' import { clx } from "../../sdk/clx.ts"; import { useId } from "../../sdk/useId.ts"; import { useOffer } from "../../sdk/useOffer.ts"; @@ -27,20 +31,26 @@ export interface Props { startingPage?: 0 | 1; /** @hidden */ partial?: "hideMore" | "hideLess"; + + searchbar: SearchbarProps; } -function NotFound() { +function NotFound({props, searchbar}: Props) { return (
    - OPS... Não encontramos nenhum resultado para: + OPS... Não encontramos nenhum resultado para: {props.searchParams} +
    +
    +
    -
    +
  • Verifique se a palavra foi digitada corretamente;
  • Tente palavras menos específicas;
  • Tente palavras-chave diferentes;
  • Faça buscas relacionadas.
  • +
    ); } @@ -308,7 +318,7 @@ function Result(props: SectionProps) { } function SearchResult({ page, ...props }: SectionProps) { if (!page) { - return ; + return ; } return ; } diff --git a/static/tailwind.css b/static/tailwind.css index f338cd7..b4375e2 100644 --- a/static/tailwind.css +++ b/static/tailwind.css @@ -3808,9 +3808,6 @@ details.collapse summary::-webkit-details-marker { .mb-\[20px\] { margin-bottom: 20px; } -.mb-\[30px\] { - margin-bottom: 30px; -} .mb-\[34px\] { margin-bottom: 34px; } @@ -3823,6 +3820,9 @@ details.collapse summary::-webkit-details-marker { .ml-2 { margin-left: 0.5rem; } +.ml-\[-120px\] { + margin-left: -120px; +} .ml-auto { margin-left: auto; } @@ -3859,9 +3859,6 @@ details.collapse summary::-webkit-details-marker { .mt-\[23px\] { margin-top: 23px; } -.mt-\[30px\] { - margin-top: 30px; -} .mt-\[5px\] { margin-top: 5px; } From 2c8c61071f80a621eba65d8e4ab8550465969cde Mon Sep 17 00:00:00 2001 From: Felipe Campos Date: Mon, 11 Nov 2024 14:30:26 -0300 Subject: [PATCH 3/7] =?UTF-8?q?feat:=20shelf=20adicionada=20no=20final=20d?= =?UTF-8?q?a=20p=C3=A1gina,=20mobile=20ajustado?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../blocks/pages-Search%2520Page-514254.json | 66 +++++++++++++------ components/search/SearchResult.tsx | 21 +++--- sections/Product/ProductShelf.tsx | 6 +- static/tailwind.css | 8 +++ 4 files changed, 73 insertions(+), 28 deletions(-) diff --git a/.deco/blocks/pages-Search%2520Page-514254.json b/.deco/blocks/pages-Search%2520Page-514254.json index a7a737f..3915f52 100644 --- a/.deco/blocks/pages-Search%2520Page-514254.json +++ b/.deco/blocks/pages-Search%2520Page-514254.json @@ -42,14 +42,50 @@ } }, { - "__resolveType": "website/sections/Rendering/Lazy.tsx", - "section": { - "__resolveType": "site/sections/Product/SearchResult.tsx", - "page": { - "__resolveType": "wake/loaders/productListingPage.ts", - "limit": 12, - "operation": "AND", - "sort": "NAME:ASC", + "__resolveType": "site/sections/Product/SearchResult.tsx", + "page": { + "__resolveType": "wake/loaders/productListingPage.ts", + "limit": 12, + "operation": "AND", + "sort": "NAME:ASC", + "filters": { + "attributes": { + "id": [], + "name": [], + "type": [], + "value": [] + }, + "brandId": [], + "categoryId": [], + "ean": [], + "productId": [], + "productVariantId": [], + "sameParentAs": [], + "sku": [], + "stocks": { + "dcId": [], + "dcName": [] + }, + "prices": {} + }, + "pageOffset": 0 + }, + "layout": { + "columns": { + "mobile": 2, + "desktop": 4 + }, + "variant": "aside", + "pagination": "show-more" + }, + "startingPage": 1, + "productShelf": { + "__resolveType": "site/sections/Product/ProductShelf.tsx", + "products": { + "__resolveType": "wake/loaders/productList.ts", + "first": 12, + "sortDirection": "ASC", + "sortKey": "DISCOUNT", "filters": { "attributes": { "id": [], @@ -69,18 +105,10 @@ "dcName": [] }, "prices": {} - }, - "pageOffset": 0 - }, - "layout": { - "columns": { - "mobile": 2, - "desktop": 4 - }, - "variant": "aside", - "pagination": "show-more" + } }, - "startingPage": 1 + "title": "Veja os lançamentos", + "cta": "VER TODOS" } }, { diff --git a/components/search/SearchResult.tsx b/components/search/SearchResult.tsx index 1d7c601..08d31d2 100644 --- a/components/search/SearchResult.tsx +++ b/components/search/SearchResult.tsx @@ -6,7 +6,8 @@ import Icon from "../../components/ui/Icon.tsx"; import Searchbar, { type SearchbarProps, } from "../../components/search/Searchbar/Form.tsx"; -import ProductShelf from '../../sections/Product/ProductShelf.tsx' +import { type Section as SectionType } from "@deco/deco/blocks"; +import { ShelfComponent } from '../../sections/Product/ProductShelf.tsx' import { clx } from "../../sdk/clx.ts"; import { useId } from "../../sdk/useId.ts"; import { useOffer } from "../../sdk/useOffer.ts"; @@ -33,24 +34,27 @@ export interface Props { partial?: "hideMore" | "hideLess"; searchbar: SearchbarProps; + + productShelf: SectionType; } -function NotFound({props, searchbar}: Props) { +function NotFound({searchbar, productShelf}: Props) { + return (
    - OPS... Não encontramos nenhum resultado para: {props.searchParams} + OPS... Não encontramos nenhum resultado para:
    -
    - +
    +
    -
    +
  • Verifique se a palavra foi digitada corretamente;
  • Tente palavras menos específicas;
  • Tente palavras-chave diferentes;
  • Faça buscas relacionadas.
  • - +
    ); } @@ -318,7 +322,7 @@ function Result(props: SectionProps) { } function SearchResult({ page, ...props }: SectionProps) { if (!page) { - return ; + return ; } return ; } @@ -329,3 +333,4 @@ export const loader = (props: Props, req: Request) => { }; }; export default SearchResult; + diff --git a/sections/Product/ProductShelf.tsx b/sections/Product/ProductShelf.tsx index 79a094e..3210edf 100644 --- a/sections/Product/ProductShelf.tsx +++ b/sections/Product/ProductShelf.tsx @@ -7,10 +7,14 @@ import Section, { import { useOffer } from "../../sdk/useOffer.ts"; import { useSendEvent } from "../../sdk/useSendEvent.ts"; import { type LoadingFallbackProps } from "@deco/deco"; +import { JSX } from "preact"; + +export type ShelfComponent = JSX.Element; + export interface Props extends SectionHeaderProps { products: Product[] | null; } -export default function ProductShelf({ products, title, cta }: Props) { +export default function ProductShelf({ products, title, cta }: Props): ShelfComponent { if (!products || products.length === 0) { return null; } diff --git a/static/tailwind.css b/static/tailwind.css index b4375e2..23d0c59 100644 --- a/static/tailwind.css +++ b/static/tailwind.css @@ -5938,6 +5938,10 @@ details.collapse summary::-webkit-details-marker { top: auto; } + .mobile\:ml-\[0px\] { + margin-left: 0px; + } + .mobile\:ml-\[35px\] { margin-left: 35px; } @@ -6006,6 +6010,10 @@ details.collapse summary::-webkit-details-marker { width: 42.66vw; } + .mobile\:w-\[89\.4\%\] { + width: 89.4%; + } + .mobile\:w-full { width: 100%; } From 06bf72fca7fd111cb405ff669c56241839d0253f Mon Sep 17 00:00:00 2001 From: Felipe Campos Date: Mon, 11 Nov 2024 16:20:42 -0300 Subject: [PATCH 4/7] =?UTF-8?q?feat:=20jun=C3=A7=C3=A3o=20da=20fun=C3=A7?= =?UTF-8?q?=C3=A3o=20notfound=20e=20page404?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/search/SearchResult.tsx | 66 ++++++++++++++++++++++-------- static/tailwind.css | 63 ++++++++++++++++++++++++++++ 2 files changed, 112 insertions(+), 17 deletions(-) diff --git a/components/search/SearchResult.tsx b/components/search/SearchResult.tsx index 08d31d2..b9ee682 100644 --- a/components/search/SearchResult.tsx +++ b/components/search/SearchResult.tsx @@ -26,7 +26,7 @@ export interface Layout { } export interface Props { /** @title Integration */ - page: ProductListingPage | null; + page?: ProductListingPage | null; layout?: Layout; /** @description 0 for ?page=0 as your first page */ startingPage?: 0 | 1; @@ -36,28 +36,56 @@ export interface Props { searchbar: SearchbarProps; productShelf: SectionType; -} -function NotFound({searchbar, productShelf}: Props) { + searchParams?: string | null +} +function NotFound({searchbar, productShelf, searchParams}: Props) { + console.log('adad', searchParams) return ( -
    -
    - - OPS... Não encontramos nenhum resultado para: + <> + { + searchParams ? ( +
    +
    + + OPS... Não encontramos nenhum resultado para: +
    +
    + +
    +
    +
  • Verifique se a palavra foi digitada corretamente;
  • +
  • Tente palavras menos específicas;
  • +
  • Tente palavras-chave diferentes;
  • +
  • Faça buscas relacionadas.
  • +
    -
    - + ) : ( +
    +

    404

    +
    +
    + Página não encontrada + A página que você procura não existe ou não está disponível
    -
    -
  • Verifique se a palavra foi digitada corretamente;
  • -
  • Tente palavras menos específicas;
  • -
  • Tente palavras-chave diferentes;
  • -
  • Faça buscas relacionadas.
  • +
    + Causas possíveis +
  • O conteúdo não está mais no ar;
  • +
  • A página mudou de lugar;
  • +
  • O servidor está fora do ar;
  • +
  • Você digitou o endereço errado
  • - + + Voltar para o início +
    - ); +
    + )} + + +) } + const useUrlRebased = (overrides: string | undefined, base: string) => { let url: string | undefined = undefined; if (overrides) { @@ -321,15 +349,19 @@ function Result(props: SectionProps) { ); } function SearchResult({ page, ...props }: SectionProps) { + console.log('texto:', props.searchParams) if (!page) { return ; } return ; } export const loader = (props: Props, req: Request) => { + const url = new URL(req.url) + const searchParams = url.search ?? null return { ...props, - url: req.url, + url: url.href, + searchParams }; }; export default SearchResult; diff --git a/static/tailwind.css b/static/tailwind.css index 23d0c59..cde9589 100644 --- a/static/tailwind.css +++ b/static/tailwind.css @@ -3802,6 +3802,9 @@ details.collapse summary::-webkit-details-marker { .mb-8 { margin-bottom: 2rem; } +.mb-\[16px\] { + margin-bottom: 16px; +} .mb-\[1px\] { margin-bottom: 1px; } @@ -4089,6 +4092,9 @@ details.collapse summary::-webkit-details-marker { .w-\[332px\] { width: 332px; } +.w-\[335px\] { + width: 335px; +} .w-\[35px\] { width: 35px; } @@ -4426,6 +4432,9 @@ details.collapse summary::-webkit-details-marker { .justify-between { justify-content: space-between; } +.justify-around { + justify-content: space-around; +} .justify-evenly { justify-content: space-evenly; } @@ -4642,6 +4651,9 @@ details.collapse summary::-webkit-details-marker { .border-2 { border-width: 2px; } +.border-\[1px\] { + border-width: 1px; +} .border-y { border-top-width: 1px; border-bottom-width: 1px; @@ -4670,6 +4682,10 @@ details.collapse summary::-webkit-details-marker { .border-none { border-style: none; } +.border-\[\#8F2AED\] { + --tw-border-opacity: 1; + border-color: rgb(143 42 237 / var(--tw-border-opacity)); +} .border-\[\#C9CFCF\] { --tw-border-opacity: 1; border-color: rgb(201 207 207 / var(--tw-border-opacity)); @@ -4825,6 +4841,9 @@ details.collapse summary::-webkit-details-marker { .bg-gradient-to-t { background-image: linear-gradient(to top, var(--tw-gradient-stops)); } +.bg-none { + background-image: none; +} .from-\[\#1F1F1F80\] { --tw-gradient-from: #1F1F1F80 var(--tw-gradient-from-position); --tw-gradient-to: rgb(31 31 31 / 0) var(--tw-gradient-to-position); @@ -4996,6 +5015,10 @@ details.collapse summary::-webkit-details-marker { padding-top: 10px; padding-bottom: 10px; } +.py-\[120px\] { + padding-top: 120px; + padding-bottom: 120px; +} .py-\[40px\] { padding-top: 40px; padding-bottom: 40px; @@ -5140,6 +5163,9 @@ details.collapse summary::-webkit-details-marker { .text-\[18px\] { font-size: 18px; } +.text-\[200px\] { + font-size: 200px; +} .text-\[20px\] { font-size: 20px; } @@ -5751,6 +5777,11 @@ details.collapse summary::-webkit-details-marker { background-color: rgb(26 26 26 / var(--tw-bg-opacity)); } +.hover\:bg-\[\#8F2AED\]:hover { + --tw-bg-opacity: 1; + background-color: rgb(143 42 237 / var(--tw-bg-opacity)); +} + .hover\:bg-base-200:hover { --tw-bg-opacity: 1; background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); @@ -5780,6 +5811,11 @@ details.collapse summary::-webkit-details-marker { color: rgb(143 42 237 / var(--tw-text-opacity)); } +.hover\:text-\[\#FFF\]:hover { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + .hover\:text-accent-content:hover { --tw-text-opacity: 1; color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); @@ -5896,6 +5932,33 @@ details.collapse summary::-webkit-details-marker { background-color: rgb(13 23 23 / var(--tw-bg-opacity)); } +@media (max-width: 768px) { + + .phone\:ml-\[20px\] { + margin-left: 20px; + } + + .phone\:w-\[335px\] { + width: 335px; + } + + .phone\:flex-col { + flex-direction: column; + } + + .phone\:text-\[127px\] { + font-size: 127px; + } + + .phone\:text-\[14px\] { + font-size: 14px; + } + + .phone\:text-\[20px\] { + font-size: 20px; + } +} + @media (max-width: 1025px) { .mobile\:bottom-10 { From 937eb86f1342e5cc34b988713b6a661a0d4237f0 Mon Sep 17 00:00:00 2001 From: Felipe Campos Date: Mon, 11 Nov 2024 16:50:51 -0300 Subject: [PATCH 5/7] =?UTF-8?q?feat:=20jun=C3=A7=C3=A3o=20da=20fun=C3=A7?= =?UTF-8?q?=C3=A3o=20notfound=20e=20page404?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/search/SearchResult.tsx | 3 +-- sections/Product/ProductShelf.tsx | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/components/search/SearchResult.tsx b/components/search/SearchResult.tsx index b9ee682..2892420 100644 --- a/components/search/SearchResult.tsx +++ b/components/search/SearchResult.tsx @@ -40,7 +40,6 @@ export interface Props { searchParams?: string | null } function NotFound({searchbar, productShelf, searchParams}: Props) { - console.log('adad', searchParams) return ( <> { @@ -81,7 +80,7 @@ function NotFound({searchbar, productShelf, searchParams}: Props) {
    )} - + { productShelf && } ) } diff --git a/sections/Product/ProductShelf.tsx b/sections/Product/ProductShelf.tsx index 3210edf..db16073 100644 --- a/sections/Product/ProductShelf.tsx +++ b/sections/Product/ProductShelf.tsx @@ -14,7 +14,7 @@ export type ShelfComponent = JSX.Element; export interface Props extends SectionHeaderProps { products: Product[] | null; } -export default function ProductShelf({ products, title, cta }: Props): ShelfComponent { +export default function ProductShelf({ products, title, cta }: Props): ShelfComponent | null { if (!products || products.length === 0) { return null; } From 40c7eb586d03506eb200461decdf4fe9b50847f5 Mon Sep 17 00:00:00 2001 From: Felipe Campos Date: Tue, 12 Nov 2024 09:45:46 -0300 Subject: [PATCH 6/7] feat: shelf ajustada --- .../blocks/pages-Category%2520Page-69217.json | 33 ++++++++++++++++++- .deco/blocks/site.json | 5 ++- components/search/SearchResult.tsx | 3 +- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/.deco/blocks/pages-Category%2520Page-69217.json b/.deco/blocks/pages-Category%2520Page-69217.json index 6a5b05c..090be9c 100644 --- a/.deco/blocks/pages-Category%2520Page-69217.json +++ b/.deco/blocks/pages-Category%2520Page-69217.json @@ -56,7 +56,38 @@ "variant": "aside", "pagination": "show-more" }, - "startingPage": 1 + "startingPage": 1, + "productShelf": { + "__resolveType": "site/sections/Product/ProductShelf.tsx", + "products": { + "__resolveType": "wake/loaders/productList.ts", + "first": 12, + "sortDirection": "ASC", + "sortKey": "DISCOUNT", + "filters": { + "attributes": { + "id": [], + "name": [], + "type": [], + "value": [] + }, + "brandId": [], + "categoryId": [], + "ean": [], + "productId": [], + "productVariantId": [], + "sameParentAs": [], + "sku": [], + "stocks": { + "dcId": [], + "dcName": [] + }, + "prices": {} + } + }, + "title": "Veja por Lançamentos", + "cta": "VER TODOS" + } } }, { diff --git a/.deco/blocks/site.json b/.deco/blocks/site.json index 2534789..2c6b52e 100644 --- a/.deco/blocks/site.json +++ b/.deco/blocks/site.json @@ -57,7 +57,10 @@ "includeScriptsToHead": { "includes": [] }, - "enabled": true + "enabled": true, + "includeScriptsToBody": { + "includes": [] + } }, "flavor": { "framework": "htmx" diff --git a/components/search/SearchResult.tsx b/components/search/SearchResult.tsx index 2892420..5243764 100644 --- a/components/search/SearchResult.tsx +++ b/components/search/SearchResult.tsx @@ -80,7 +80,7 @@ function NotFound({searchbar, productShelf, searchParams}: Props) {
    )} - { productShelf && } + ) } @@ -348,7 +348,6 @@ function Result(props: SectionProps) { ); } function SearchResult({ page, ...props }: SectionProps) { - console.log('texto:', props.searchParams) if (!page) { return ; } From fb0d68cbf89b07649c9644de528a0cf4dae7e830 Mon Sep 17 00:00:00 2001 From: Felipe Campos Date: Tue, 12 Nov 2024 15:59:12 -0300 Subject: [PATCH 7/7] merge done, conflicts solved --- ...%25C3%25BAvidas%2520Frequentes-546016.json | 12 +- .../pages-My%2520New%2520Page-506121.json | 133 ++++++++++++++ .deco/blocks/pages-Politicas-593699.json | 81 +++++++-- .deco/blocks/pages-Quem%2520Somos-551079.json | 98 +++++++++++ .deco/blocks/pages-home-c4bcbfb771e9.json | 8 + .deco/blocks/site.json | 5 + .github/workflows/deco-deploy.yaml | 51 ++++++ components/footer/MenuDesktopFooter.tsx | 18 +- components/footer/MenuMobileFooter.tsx | 6 +- components/search/SearchResult.tsx | 130 +++++++++----- components/ui/Drawer.tsx | 2 +- fresh.gen.ts | 2 + islands/AccordionItem.tsx | 26 +-- islands/ButtonMenuInstitucionalMobile.tsx | 5 +- islands/Popup.tsx | 43 +++++ manifest.gen.ts | 118 +++++++------ sections/Duvidas/duvidas.tsx | 2 +- sections/FaleConosco/FaleConosco.tsx | 73 ++++++++ sections/LGPD/PopupLGPD.tsx | 11 ++ sections/Newsletter/Newsletter.tsx | 7 +- sections/Product/ProductShelf.tsx | 4 +- sections/Quem Somos/quemSomos.tsx | 36 ++++ static/tailwind.css | 166 ++++++++++++++++++ 23 files changed, 890 insertions(+), 147 deletions(-) create mode 100644 .deco/blocks/pages-My%2520New%2520Page-506121.json create mode 100644 .deco/blocks/pages-Quem%2520Somos-551079.json create mode 100644 .github/workflows/deco-deploy.yaml create mode 100644 islands/Popup.tsx create mode 100644 sections/FaleConosco/FaleConosco.tsx create mode 100644 sections/LGPD/PopupLGPD.tsx create mode 100644 sections/Quem Somos/quemSomos.tsx diff --git a/.deco/blocks/pages-D%25C3%25BAvidas%2520Frequentes-546016.json b/.deco/blocks/pages-D%25C3%25BAvidas%2520Frequentes-546016.json index 68a5333..b68d6de 100644 --- a/.deco/blocks/pages-D%25C3%25BAvidas%2520Frequentes-546016.json +++ b/.deco/blocks/pages-D%25C3%25BAvidas%2520Frequentes-546016.json @@ -64,7 +64,7 @@ "route": "/quem-somos" }, { - "label": "Políticas de privacidade", + "label": "Políticas de Privacidade", "route": "/politicas-de-privacidade" }, { @@ -83,7 +83,7 @@ }, { "route": "/troca-e-devolucao", - "label": "Troca e devolução" + "label": "Troca e Devolução" } ] }, @@ -120,6 +120,14 @@ "section": { "__resolveType": "site/sections/Footer/Footer.tsx" } + }, + { + "__resolveType": "website/sections/Rendering/Lazy.tsx", + "section": { + "__resolveType": "site/sections/LGPD/PopupLGPD.tsx", + "text": "

    Para sua maior segurança, atualizamos as Políticas de Privacidade e Termos de Uso do site.
    Ao continuar navegando, entendemos que você está ciente e de acordo com elas.

    ", + "btnText": "CONCORDAR E FECHAR" + } } ], "seo": { diff --git a/.deco/blocks/pages-My%2520New%2520Page-506121.json b/.deco/blocks/pages-My%2520New%2520Page-506121.json new file mode 100644 index 0000000..8f42b26 --- /dev/null +++ b/.deco/blocks/pages-My%2520New%2520Page-506121.json @@ -0,0 +1,133 @@ +{ + "name": "Fale Consco", + "path": "/fale-conosco", + "sections": [ + { + "__resolveType": "Header" + }, + { + "__resolveType": "site/sections/BreadCrumb/Breadcrumb.tsx", + "nome_da_pagina": "Fale Conosco", + "pageTitle": "Fale Conosco" + }, + { + "__resolveType": "site/sections/MenuInstitucional/MenuInstitucional.tsx", + "links_institucionais": [ + { + "rota": "/quem-somos", + "etiqueta": "Quem Somos" + }, + { + "etiqueta": "Políticas de Privacidade", + "rota": "/politicas-de-privacidade" + }, + { + "rota": "/politica-de-frete", + "etiqueta": "Política de Frete" + } + ], + "titulo_institucional": "Institucionais", + "titulo_suporte": "Ajuda e Suporte", + "links_ajudas": [ + { + "rota": "/duvidas-frequentes", + "etiqueta": "Dúvidas" + }, + { + "rota": "/fale-conosco", + "etiqueta": "Fale Conosco" + }, + { + "rota": "/troca-e-devolucao", + "etiqueta": "Troca e Devolução" + } + ], + "institutionalTitle": "Institucionais", + "supportTitle": "Ajuda e Suporte", + "institutionalLinks": [ + { + "route": "/quem-somos", + "label": "Quem Somos" + }, + { + "route": "/politicas-de-privacidade", + "label": "Políticas de Privacidade" + }, + { + "route": "/politica-de-frete", + "label": "Política de Frete" + } + ], + "helpLinks": [ + { + "route": "/duvidas-frequentes", + "label": "Dúvidas" + }, + { + "route": "/fale-conosco", + "label": "Fale Conosco" + }, + { + "route": "/troca-e-devolucao", + "label": "Troca e Devolução" + } + ] + }, + { + "__resolveType": "site/sections/MenuInstitucional/MenuInstitucionalMobile.tsx", + "links": [ + { + "rota": "/quem-somos", + "etiqueta": "Quem Somos", + "route": "/quem-somos", + "label": "Quem Somos" + }, + { + "rota": "/politicas-de-privacidade", + "etiqueta": "Políticas de Privacidade", + "route": "/politicas-de-privacidade", + "label": "Políticas de Privacidade" + }, + { + "rota": "/política-de-frete", + "etiqueta": "Política de Frete", + "route": "/politica-de-frete", + "label": "Política de Frete" + }, + { + "rota": "/duvidas-frequentes", + "etiqueta": "Dúvidas", + "route": "/duvidas-frequentes", + "label": "Dúvidas" + }, + { + "rota": "/fale-conosco", + "etiqueta": "Fale Conosco", + "route": "/fale-conosco", + "label": "Fale Conosco" + }, + { + "rota": "/troca-e-devolucao", + "etiqueta": "Troca e Devolução", + "route": "/troca-e-devolucao", + "label": "Troca e Devolução" + } + ] + }, + { + "__resolveType": "site/sections/FaleConosco/FaleConosco.tsx", + "titulo": "Fale Conosco", + "subTitulo": "Ainda em dúvida sobre algo? Mande uma mensagem! Responderemos o quanto antes." + }, + { + "__resolveType": "website/sections/Rendering/Lazy.tsx", + "section": { + "__resolveType": "Footer" + } + } + ], + "seo": { + "__resolveType": "website/sections/Seo/SeoV2.tsx" + }, + "__resolveType": "website/pages/Page.tsx" +} \ No newline at end of file diff --git a/.deco/blocks/pages-Politicas-593699.json b/.deco/blocks/pages-Politicas-593699.json index 1952bee..2659528 100644 --- a/.deco/blocks/pages-Politicas-593699.json +++ b/.deco/blocks/pages-Politicas-593699.json @@ -46,6 +46,36 @@ "etiqueta": "Troca e devolução", "rota": "/troca-e-devolucao" } + ], + "institutionalTitle": "Institucionais", + "supportTitle": "Ajuda e Suporte", + "institutionalLinks": [ + { + "label": "Quem somos", + "route": "/quem-somos" + }, + { + "route": "/politicas-de-privacidade", + "label": "Políticas de privacidade" + }, + { + "route": "/politicas-de-frete", + "label": "Políticas de Frete" + } + ], + "helpLinks": [ + { + "label": "Dúvidas", + "route": "/duvidas-frequentes" + }, + { + "route": "/fale-conosco", + "label": "Fale Conosco" + }, + { + "route": "/troca-e-devolucao", + "label": "Troca e Devolução" + } ] }, { @@ -53,24 +83,36 @@ "links": [ { "etiqueta": "Quem somos", - "rota": "/quem-somos" + "rota": "/quem-somos", + "route": "/quem-somos", + "label": "Quem somos" }, { - "etiqueta": "Políticas de privacidade" + "etiqueta": "Políticas de privacidade", + "route": "/politicas-de-privacidade", + "label": "Políticas de Privacidade" }, { "etiqueta": "Política de frete", - "rota": "https://www.google.com" + "rota": "https://www.google.com", + "route": "/politicas-de-frete", + "label": "Políticas de Frete" }, { "etiqueta": "Dúvidas", - "rota": "/duvidas-frequentes" + "rota": "/duvidas-frequentes", + "route": "/duvidas-frequentes", + "label": "Dúvidas" }, { - "etiqueta": "Fale conosco" + "etiqueta": "Fale conosco", + "label": "Fale Conosco", + "route": "/fale-conosco" }, { - "etiqueta": "Troca e Devolução" + "etiqueta": "Troca e Devolução", + "route": "/troca-e-devolucao", + "label": "Troca e Devolução" } ] }, @@ -101,29 +143,44 @@ { "titulo": "Políticas de Privacidade", "subtitulo": "Lorem Ipsum", - "paragrafos": "

    Lorem ipsum dolor sit amet consectetur. Integer nisi tristique quis sit ornare orci massa viverra tellus. Sed libero aenean vitae pellentesque eget. Risus ultrices fames sit arcu tempus mi id vivamus. Erat elementum erat id fermentum sed nibh in maecenas. In sed duis pulvinar nam ac porta lectus. Purus risus blandit montes lacus et nibh feugiat tristique laoreet. Lacus ut ultricies donec fermentum montes viverra. Donec fames consectetur id adipiscing turpis volutpat convallis consectetur. Dictum lectus sit iaculis nam mattis. Faucibus volutpat amet donec ut. Cras dictumst blandit ullamcorper sapien risus quam.

    Luctus sit cursus ipsum aliquam eu scelerisque. Nunc morbi amet id proin vitae ut. Dolor nibh tristique blandit cursus tincidunt. Aliquam aliquam massa sit platea pellentesque. Augue quam et amet sit vel elementum egestas enim sed. Ullamcorper diam luctus gravida nunc purus. Ligula non elit in erat duis condimentum urna diam adipiscing. Vestibulum tempor viverra viverra id sociis lacus ut ac. Ornare vitae ut egestas praesent mi consectetur. Mauris ultricies sed neque fermentum mollis dolor aliquet mi. Ullamcorper varius feugiat a urna. Natoque adipiscing nam adipiscing volutpat sed mauris adipiscing sollicitudin gravida. Odio pellentesque curabitur ornare sit. Tristique mollis condimentum euismod bibendum gravida amet.

    Elementum odio velit semper duis quis tempor praesent consequat pharetra. Blandit nec felis ut elit tempus arcu nibh mauris. Sed leo fermentum nisl lectus varius consectetur. Non odio consequat vitae accumsan ac nisl vitae et volutpat. Sed maecenas fames lobortis diam vitae mus in nunc. Egestas odio donec lacus nam sit tempor. Sed diam viverra libero fringilla. Nibh enim sit diam id. Id sed risus pulvinar tellus quis fringilla. Scelerisque augue aliquam senectus turpis elit ut habitasse.

    " + "paragrafos": "

    Lorem ipsum dolor sit amet consectetur. Integer nisi tristique quis sit ornare orci massa viverra tellus. Sed libero aenean vitae pellentesque eget. Risus ultrices fames sit arcu tempus mi id vivamus. Erat elementum erat id fermentum sed nibh in maecenas. In sed duis pulvinar nam ac porta lectus. Purus risus blandit montes lacus et nibh feugiat tristique laoreet. Lacus ut ultricies donec fermentum montes viverra. Donec fames consectetur id adipiscing turpis volutpat convallis consectetur. Dictum lectus sit iaculis nam mattis. Faucibus volutpat amet donec ut. Cras dictumst blandit ullamcorper sapien risus quam.

    Luctus sit cursus ipsum aliquam eu scelerisque. Nunc morbi amet id proin vitae ut. Dolor nibh tristique blandit cursus tincidunt. Aliquam aliquam massa sit platea pellentesque. Augue quam et amet sit vel elementum egestas enim sed. Ullamcorper diam luctus gravida nunc purus. Ligula non elit in erat duis condimentum urna diam adipiscing. Vestibulum tempor viverra viverra id sociis lacus ut ac. Ornare vitae ut egestas praesent mi consectetur. Mauris ultricies sed neque fermentum mollis dolor aliquet mi. Ullamcorper varius feugiat a urna. Natoque adipiscing nam adipiscing volutpat sed mauris adipiscing sollicitudin gravida. Odio pellentesque curabitur ornare sit. Tristique mollis condimentum euismod bibendum gravida amet.

    Elementum odio velit semper duis quis tempor praesent consequat pharetra. Blandit nec felis ut elit tempus arcu nibh mauris. Sed leo fermentum nisl lectus varius consectetur. Non odio consequat vitae accumsan ac nisl vitae et volutpat. Sed maecenas fames lobortis diam vitae mus in nunc. Egestas odio donec lacus nam sit tempor. Sed diam viverra libero fringilla. Nibh enim sit diam id. Id sed risus pulvinar tellus quis fringilla. Scelerisque augue aliquam senectus turpis elit ut habitasse.

    ", + "paragraph": "
    • Lorem ipsum dolor sit amet consectetur. Integer nisi tristique quis sit ornare orci massa viverra tellus. Sed libero aenean vitae pellentesque eget. Risus ultrices fames sit arcu tempus mi id vivamus. Erat elementum erat id fermentum sed nibh in maecenas. In sed duis pulvinar nam ac porta lectus.

    • Purus risus blandit montes lacus et nibh feugiat tristique laoreet. Lacus ut ultricies donec fermentum montes viverra. Donec fames consectetur id adipiscing turpis volutpat convallis consectetur. Dictum lectus sit iaculis nam mattis. Faucibus volutpat amet donec ut. Cras dictumst blandit ullamcorper sapien risus quam.

    • Luctus sit cursus ipsum aliquam eu scelerisque. Nunc morbi amet id proin vitae ut. Dolor nibh tristique blandit cursus tincidunt. Aliquam aliquam massa sit platea pellentesque. Augue quam et amet sit vel elementum egestas enim sed. Ullamcorper diam luctus gravida nunc purus. Ligula non elit in erat duis condimentum urna diam adipiscing.

    • Arcu laoreet et tempus sed ac faucibus massa ultricies tellus. Vestibulum tempor viverra viverra id sociis lacus ut ac. Ornare vitae ut egestas praesent mi consectetur. Mauris ultricies sed neque fermentum mollis dolor aliquet mi. Ullamcorper varius feugiat a urna. Natoque adipiscing nam adipiscing volutpat sed mauris adipiscing sollicitudin gravida. Odio pellentesque curabitur ornare sit. Tristique mollis condimentum euismod bibendum gravida amet.

    • Elementum odio velit semper duis quis tempor praesent consequat pharetra. Blandit nec felis ut elit tempus arcu nibh mauris. Sed leo fermentum nisl lectus varius consectetur. Non odio consequat vitae accumsan ac nisl vitae et volutpat. Sed maecenas fames lobortis diam vitae mus in nunc. Egestas odio donec lacus nam sit tempor. Sed diam viverra libero fringilla. Nibh enim sit diam id. Id sed risus pulvinar tellus quis fringilla. Scelerisque augue aliquam senectus turpis elit ut habitasse.

    ", + "title": "Políticas de Privacidade", + "subTitle": "Lorem ipsum" }, { "titulo": "Endereço de IP:", "subtitulo": "Lorem ipsum dolor sit amet consectetur.", - "paragrafos": "
    • Lorem ipsum dolor sit amet consectetur. Aliquam sem nec at faucibus interdum. Libero varius pellentesque ipsum maecenas egestas amet. Auctor mi aliquet hendrerit massa purus tellus pharetra. Et suspendisse laoreet penatibus eget eu augue diam gravida. In dictumst aliquam donec dolor eu sem amet tellus.

    • Et faucibus lorem tincidunt nunc nec mattis aliquet. In urna risus turpis lacinia aliquam posuere. Pretium auctor felis sem sed sed maecenas ridiculus diam.

    • Consequat tincidunt libero magna mus non nulla dui. Ornare arcu nulla gravida tempus purus. Varius scelerisque rhoncus mauris adipiscing aliquet quis purus eget.

    • Auctor vulputate eu suspendisse morbi proin orci. Sit senectus duis ultrices ultrices massa mi eros nunc tortor. Sed ultricies commodo mauris massa vel elit amet.

    • Egestas sed dui aliquam id lectus ac orci. Convallis purus sit convallis justo quis lorem amet. Ac interdum tincidunt tellus lorem facilisis et et odio. Viverra consequat tellus enim tellus mattis suspendisse molestie. Interdum vel tempus lorem ut id posuere. Sagittis viverra dolor posuere nisl nisi eget neque.

    " + "paragrafos": "
    • Lorem ipsum dolor sit amet consectetur. Aliquam sem nec at faucibus interdum. Libero varius pellentesque ipsum maecenas egestas amet. Auctor mi aliquet hendrerit massa purus tellus pharetra. Et suspendisse laoreet penatibus eget eu augue diam gravida. In dictumst aliquam donec dolor eu sem amet tellus.

    • Et faucibus lorem tincidunt nunc nec mattis aliquet. In urna risus turpis lacinia aliquam posuere. Pretium auctor felis sem sed sed maecenas ridiculus diam.

    • Consequat tincidunt libero magna mus non nulla dui. Ornare arcu nulla gravida tempus purus. Varius scelerisque rhoncus mauris adipiscing aliquet quis purus eget.

    • Auctor vulputate eu suspendisse morbi proin orci. Sit senectus duis ultrices ultrices massa mi eros nunc tortor. Sed ultricies commodo mauris massa vel elit amet.

    • Egestas sed dui aliquam id lectus ac orci. Convallis purus sit convallis justo quis lorem amet. Ac interdum tincidunt tellus lorem facilisis et et odio. Viverra consequat tellus enim tellus mattis suspendisse molestie. Interdum vel tempus lorem ut id posuere. Sagittis viverra dolor posuere nisl nisi eget neque.

    ", + "paragraph": "

    Lorem ipsum dolor sit amet consectetur. Aliquam sem nec at faucibus interdum. Libero varius pellentesque ipsum maecenas egestas amet. Auctor mi aliquet hendrerit massa purus tellus pharetra. Et suspendisse laoreet penatibus eget eu augue diam gravida. In dictumst aliquam donec dolor eu sem amet tellus.
    Et faucibus lorem tincidunt nunc nec mattis aliquet. In urna risus turpis lacinia aliquam posuere. Pretium auctor felis sem sed sed maecenas ridiculus diam.
    Consequat tincidunt libero magna mus non nulla dui. Ornare arcu nulla gravida tempus purus. Varius scelerisque rhoncus mauris adipiscing aliquet quis purus eget.
    Auctor vulputate eu suspendisse morbi proin orci. Sit senectus duis ultrices ultrices massa mi eros nunc tortor. Sed ultricies commodo mauris massa vel elit amet.
    Egestas sed dui aliquam id lectus ac orci. Convallis purus sit convallis justo quis lorem amet. Ac interdum tincidunt tellus lorem facilisis et et odio. Viverra consequat tellus enim tellus mattis suspendisse molestie. Interdum vel tempus lorem ut id posuere. Sagittis viverra dolor posuere nisl nisi eget neque.

    ", + "title": "Endereço de IP:", + "subTitle": "Lorem ipsum dolor sit amet consectetur." }, { "titulo": "Cookies:", "subtitulo": "Lorem ipsum dolor sit amet consectetur.", - "paragrafos": "
    1. Lorem ipsum dolor sit amet consectetur. Aliquam sem nec at faucibus interdum. Libero varius pellentesque ipsum maecenas egestas amet. Auctor mi aliquet hendrerit massa purus tellus pharetra. Et suspendisse laoreet penatibus eget eu augue diam gravida. In dictumst aliquam donec dolor eu sem amet tellus.

    2. Et faucibus lorem tincidunt nunc nec mattis aliquet. In urna risus turpis lacinia aliquam posuere. Pretium auctor felis sem sed sed maecenas ridiculus diam.

    3. Consequat tincidunt libero magna mus non nulla dui. Ornare arcu nulla gravida tempus purus. Varius scelerisque rhoncus mauris adipiscing aliquet quis purus eget.

    4. Auctor vulputate eu suspendisse morbi proin orci. Sit senectus duis ultrices ultrices massa mi eros nunc tortor. Sed ultricies commodo mauris massa vel elit amet.

    5. Egestas sed dui aliquam id lectus ac orci. Convallis purus sit convallis justo quis lorem amet. Ac interdum tincidunt tellus lorem facilisis et et odio. Viverra consequat tellus enim tellus mattis suspendisse molestie. Interdum vel tempus lorem ut id posuere. Sagittis viverra dolor posuere nisl nisi eget neque.

    " + "paragrafos": "
    1. Lorem ipsum dolor sit amet consectetur. Aliquam sem nec at faucibus interdum. Libero varius pellentesque ipsum maecenas egestas amet. Auctor mi aliquet hendrerit massa purus tellus pharetra. Et suspendisse laoreet penatibus eget eu augue diam gravida. In dictumst aliquam donec dolor eu sem amet tellus.

    2. Et faucibus lorem tincidunt nunc nec mattis aliquet. In urna risus turpis lacinia aliquam posuere. Pretium auctor felis sem sed sed maecenas ridiculus diam.

    3. Consequat tincidunt libero magna mus non nulla dui. Ornare arcu nulla gravida tempus purus. Varius scelerisque rhoncus mauris adipiscing aliquet quis purus eget.

    4. Auctor vulputate eu suspendisse morbi proin orci. Sit senectus duis ultrices ultrices massa mi eros nunc tortor. Sed ultricies commodo mauris massa vel elit amet.

    5. Egestas sed dui aliquam id lectus ac orci. Convallis purus sit convallis justo quis lorem amet. Ac interdum tincidunt tellus lorem facilisis et et odio. Viverra consequat tellus enim tellus mattis suspendisse molestie. Interdum vel tempus lorem ut id posuere. Sagittis viverra dolor posuere nisl nisi eget neque.

    ", + "title": "Cookies:", + "subTitle": "Lorem ipsum dolor sit amet consectetur.", + "paragraph": "
    1. Lorem ipsum dolor sit amet consectetur. Aliquam sem nec at faucibus interdum. Libero varius pellentesque ipsum maecenas egestas amet. Auctor mi aliquet hendrerit massa purus tellus pharetra. Et suspendisse laoreet penatibus eget eu augue diam gravida. In dictumst aliquam donec dolor eu sem amet tellus.

    2. Et faucibus lorem tincidunt nunc nec mattis aliquet. In urna risus turpis lacinia aliquam posuere. Pretium auctor felis sem sed sed maecenas ridiculus diam.

    3. Consequat tincidunt libero magna mus non nulla dui. Ornare arcu nulla gravida tempus purus. Varius scelerisque rhoncus mauris adipiscing aliquet quis purus eget.

    4. Auctor vulputate eu suspendisse morbi proin orci. Sit senectus duis ultrices ultrices massa mi eros nunc tortor. Sed ultricies commodo mauris massa vel elit amet.

    5. Egestas sed dui aliquam id lectus ac orci. Convallis purus sit convallis justo quis lorem amet. Ac interdum tincidunt tellus lorem facilisis et et odio. Viverra consequat tellus enim tellus mattis suspendisse molestie. Interdum vel tempus lorem ut id posuere. Sagittis viverra dolor posuere nisl nisi eget neque.

    " }, { "titulo": "Obtenção e uso das informações", - "paragrafos": "

    Lorem ipsum dolor sit amet consectetur. Bibendum tellus iaculis volutpat fringilla proin tincidunt nulla libero mattis. Enim suscipit sed sem eu in. Volutpat adipiscing vulputate vestibulum elementum. Ultrices massa ac quam elit pretium tempus nec cursus. Nunc pellentesque lacus sit vulputate tellus massa sit tempor viverra. Arcu rhoncus dictum tristique purus. A feugiat non cursus nunc interdum ultrices nibh suspendisse. Diam et facilisis faucibus tristique nunc. Suspendisse urna vulputate et lectus commodo facilisi magna amet. Convallis tempor habitant pulvinar elementum nec sit tempor massa etiam.

    " + "paragrafos": "

    Lorem ipsum dolor sit amet consectetur. Bibendum tellus iaculis volutpat fringilla proin tincidunt nulla libero mattis. Enim suscipit sed sem eu in. Volutpat adipiscing vulputate vestibulum elementum. Ultrices massa ac quam elit pretium tempus nec cursus. Nunc pellentesque lacus sit vulputate tellus massa sit tempor viverra. Arcu rhoncus dictum tristique purus. A feugiat non cursus nunc interdum ultrices nibh suspendisse. Diam et facilisis faucibus tristique nunc. Suspendisse urna vulputate et lectus commodo facilisi magna amet. Convallis tempor habitant pulvinar elementum nec sit tempor massa etiam.

    ", + "paragraph": "

    Lorem ipsum dolor sit amet consectetur. Bibendum tellus iaculis volutpat fringilla proin tincidunt nulla libero mattis. Enim suscipit sed sem eu in. Volutpat adipiscing vulputate vestibulum elementum. Ultrices massa ac quam elit pretium tempus nec cursus. Nunc pellentesque lacus sit vulputate tellus massa sit tempor viverra. Arcu rhoncus dictum tristique purus. A feugiat non cursus nunc interdum ultrices nibh suspendisse. Diam et facilisis faucibus tristique nunc. Suspendisse urna vulputate et lectus commodo facilisi magna amet. Convallis tempor habitant pulvinar elementum nec sit tempor massa etiam.

    ", + "title": "Obtenção e uso das informações" }, { "titulo": "Envio de comunicados e mensagens publicitárias", - "paragrafos": "

    Lorem ipsum dolor sit amet consectetur. Bibendum tellus iaculis volutpat fringilla proin tincidunt nulla libero mattis. Enim suscipit sed sem eu in. Volutpat adipiscing vulputate vestibulum elementum. Ultrices massa ac quam elit pretium tempus nec cursus. Nunc pellentesque lacus sit vulputate tellus massa sit tempor viverra. Arcu rhoncus dictum tristique purus. A feugiat non cursus nunc interdum ultrices nibh suspendisse. Diam et facilisis faucibus tristique nunc. Suspendisse urna vulputate et lectus commodo facilisi magna amet. Convallis tempor habitant pulvinar elementum nec sit tempor massa etiam.

    " + "paragrafos": "

    Lorem ipsum dolor sit amet consectetur. Bibendum tellus iaculis volutpat fringilla proin tincidunt nulla libero mattis. Enim suscipit sed sem eu in. Volutpat adipiscing vulputate vestibulum elementum. Ultrices massa ac quam elit pretium tempus nec cursus. Nunc pellentesque lacus sit vulputate tellus massa sit tempor viverra. Arcu rhoncus dictum tristique purus. A feugiat non cursus nunc interdum ultrices nibh suspendisse. Diam et facilisis faucibus tristique nunc. Suspendisse urna vulputate et lectus commodo facilisi magna amet. Convallis tempor habitant pulvinar elementum nec sit tempor massa etiam.

    ", + "paragraph": "

    Lorem ipsum dolor sit amet consectetur. Bibendum tellus iaculis volutpat fringilla proin tincidunt nulla libero mattis. Enim suscipit sed sem eu in. Volutpat adipiscing vulputate vestibulum elementum. Ultrices massa ac quam elit pretium tempus nec cursus. Nunc pellentesque lacus sit vulputate tellus massa sit tempor viverra. Arcu rhoncus dictum tristique purus. A feugiat non cursus nunc interdum ultrices nibh suspendisse. Diam et facilisis faucibus tristique nunc. Suspendisse urna vulputate et lectus commodo facilisi magna amet. Convallis tempor habitant pulvinar elementum nec sit tempor massa etiam.

    ", + "title": "Envio de comunicados e mensagens publicitárias" }, { "titulo": "Modificações de nossa política de privacidade ", - "paragrafos": "

    Lorem ipsum dolor sit amet consectetur. Bibendum tellus iaculis volutpat fringilla proin tincidunt nulla libero mattis. Enim suscipit sed sem eu in. Volutpat adipiscing vulputate vestibulum elementum. Ultrices massa ac quam elit pretium tempus nec cursus. Nunc pellentesque lacus sit vulputate tellus massa sit tempor viverra. Arcu rhoncus dictum tristique purus. A feugiat non cursus nunc interdum ultrices nibh suspendisse. Diam et facilisis faucibus tristique nunc. Suspendisse urna vulputate et lectus commodo facilisi magna amet. Convallis tempor habitant pulvinar elementum nec sit tempor massa etiam.

    " + "paragrafos": "

    Lorem ipsum dolor sit amet consectetur. Bibendum tellus iaculis volutpat fringilla proin tincidunt nulla libero mattis. Enim suscipit sed sem eu in. Volutpat adipiscing vulputate vestibulum elementum. Ultrices massa ac quam elit pretium tempus nec cursus. Nunc pellentesque lacus sit vulputate tellus massa sit tempor viverra. Arcu rhoncus dictum tristique purus. A feugiat non cursus nunc interdum ultrices nibh suspendisse. Diam et facilisis faucibus tristique nunc. Suspendisse urna vulputate et lectus commodo facilisi magna amet. Convallis tempor habitant pulvinar elementum nec sit tempor massa etiam.

    ", + "paragraph": "

    Lorem ipsum dolor sit amet consectetur. Bibendum tellus iaculis volutpat fringilla proin tincidunt nulla libero mattis. Enim suscipit sed sem eu in. Volutpat adipiscing vulputate vestibulum elementum. Ultrices massa ac quam elit pretium tempus nec cursus. Nunc pellentesque lacus sit vulputate tellus massa sit tempor viverra. Arcu rhoncus dictum tristique purus. A feugiat non cursus nunc interdum ultrices nibh suspendisse. Diam et facilisis faucibus tristique nunc. Suspendisse urna vulputate et lectus commodo facilisi magna amet. Convallis tempor habitant pulvinar elementum nec sit tempor massa etiam.

    ", + "title": "Modificações de nossa política de privacidade " } ] }, diff --git a/.deco/blocks/pages-Quem%2520Somos-551079.json b/.deco/blocks/pages-Quem%2520Somos-551079.json new file mode 100644 index 0000000..6a9ed2b --- /dev/null +++ b/.deco/blocks/pages-Quem%2520Somos-551079.json @@ -0,0 +1,98 @@ +{ + "name": "Quem Somos", + "path": "/quem-somos", + "sections": [ + { + "__resolveType": "website/sections/Rendering/Lazy.tsx", + "section": { + "__resolveType": "Header" + } + }, + { + "__resolveType": "site/sections/BreadCrumb/Breadcrumb.tsx", + "pageTitle": "Quem Somos" + }, + { + "__resolveType": "site/sections/MenuInstitucional/MenuInstitucional.tsx", + "institutionalTitle": "Institucionais", + "supportTitle": "Ajuda e Suporte", + "institutionalLinks": [ + { + "route": "/quem-somos", + "label": "Quem Somos" + }, + { + "route": "/politicas-de-privacidade", + "label": "Políticas de Privacidade" + }, + { + "route": "/politica-de-frete", + "label": "Política de Frete" + } + ], + "helpLinks": [ + { + "route": "/duvidas-frequentes", + "label": "Dúvidas" + }, + { + "route": "/fale-conosco", + "label": "Fale Conosco" + }, + { + "route": "/troca-e-devolucao", + "label": "Troca e Devolução" + } + ] + }, + { + "__resolveType": "site/sections/MenuInstitucional/MenuInstitucionalMobile.tsx", + "links": [ + { + "route": "/quem-somos", + "label": "Quem Somos" + }, + { + "route": "/politicas-de-privacidade", + "label": "Políticas de Privacidade" + }, + { + "route": "/politica-de-frete", + "label": "Política de Frete" + }, + { + "route": "/duvidas-frequentes", + "label": "Dúvidas " + }, + { + "route": "/fale-conosco", + "label": "Fale Conosco" + } + ] + }, + { + "__resolveType": "site/sections/Quem Somos/quemSomos.tsx", + "item": [ + { + "title": "Quem Somos", + "paragraph": "

    Lorem ipsum dolor sit amet consectetur. Integer nisi tristique quis sit ornare orci massa viverra tellus. Sed libero aenean vitae pellentesque eget. Risus ultrices fames sit arcu tempus mi id vivamus. Erat elementum erat id fermentum sed nibh in maecenas. In sed duis pulvinar nam ac porta lectus. Purus risus blandit montes lacus et nibh feugiat tristique laoreet. Lacus ut ultricies donec fermentum montes viverra. Donec fames consectetur id adipiscing turpis volutpat convallis consectetur. Dictum lectus sit iaculis nam mattis. Faucibus volutpat amet donec ut. Cras dictumst blandit ullamcorper sapien risus quam.

    Luctus sit cursus ipsum aliquam eu scelerisque. Nunc morbi amet id proin vitae ut. Dolor nibh tristique blandit cursus tincidunt. Aliquam aliquam massa sit platea pellentesque. Augue quam et amet sit vel elementum egestas enim sed. Ullamcorper diam luctus gravida nunc purus. Ligula non elit in erat duis condimentum urna diam adipiscing.

    Arcu laoreet et tempus sed ac faucibus massa ultricies tellus. Vestibulum tempor viverra viverra id sociis lacus ut ac. Ornare vitae ut egestas praesent mi consectetur. Mauris ultricies sed neque fermentum mollis dolor aliquet mi. Ullamcorper varius feugiat a urna. Natoque adipiscing nam adipiscing volutpat sed mauris adipiscing sollicitudin gravida. Odio pellentesque curabitur ornare sit. Tristique mollis condimentum euismod bibendum gravida amet.

    Elementum odio velit semper duis quis tempor praesent consequat pharetra. Blandit nec felis ut elit tempus arcu nibh mauris. Sed leo fermentum nisl lectus varius consectetur. Non odio consequat vitae accumsan ac nisl vitae et volutpat. Sed maecenas fames lobortis diam vitae mus in nunc. Egestas odio donec lacus nam sit tempor. Sed diam viverra libero fringilla. Nibh enim sit diam id. Id sed risus pulvinar tellus quis fringilla. Scelerisque augue aliquam senectus turpis elit ut habitasse.

    ", + "subTitle": "Conheça um pouco da nossa história" + }, + { + "subTitle": "Preço e estimativas para frete nacional", + "paragraph": "

    Lorem ipsum dolor sit amet consectetur. Bibendum tellus iaculis volutpat fringilla proin tincidunt nulla libero mattis. Enim suscipit sed sem eu in. Volutpat adipiscing vulputate vestibulum elementum. Ultrices massa ac quam elit pretium tempus nec cursus. Nunc pellentesque lacus sit vulputate tellus massa sit tempor viverra. Arcu rhoncus dictum tristique purus. A feugiat non cursus nunc interdum ultrices nibh suspendisse. Diam et facilisis faucibus tristique nunc. Suspendisse urna vulputate et lectus commodo facilisi magna amet. Convallis tempor habitant pulvinar elementum nec sit tempor massa etiam.

    " + } + ] + }, + { + "__resolveType": "website/sections/Rendering/Lazy.tsx", + "section": { + "__resolveType": "site/sections/Footer/Footer.tsx" + } + } + ], + "seo": { + "__resolveType": "website/sections/Seo/SeoV2.tsx" + }, + "__resolveType": "website/pages/Page.tsx" +} \ No newline at end of file diff --git a/.deco/blocks/pages-home-c4bcbfb771e9.json b/.deco/blocks/pages-home-c4bcbfb771e9.json index 21cb593..d866d95 100644 --- a/.deco/blocks/pages-home-c4bcbfb771e9.json +++ b/.deco/blocks/pages-home-c4bcbfb771e9.json @@ -854,6 +854,14 @@ "section": { "__resolveType": "Footer" } + }, + { + "__resolveType": "website/sections/Rendering/Lazy.tsx", + "section": { + "__resolveType": "site/sections/LGPD/PopupLGPD.tsx", + "text": "

    Para sua maior segurança, atualizamos as Políticas de Privacidade e Termos de Uso do site.
    Ao continuar navegando, entendemos que você está ciente e de acordo com elas.

    ", + "btnText": "CONCORDAR E FECHAR" + } } ], "__resolveType": "website/pages/Page.tsx", diff --git a/.deco/blocks/site.json b/.deco/blocks/site.json index 2c6b52e..090794c 100644 --- a/.deco/blocks/site.json +++ b/.deco/blocks/site.json @@ -27,6 +27,11 @@ }, { "__resolveType": "site/sections/Session.tsx" + }, + { + "__resolveType": "site/sections/LGPD/PopupLGPD.tsx", + "text": "

    Para sua maior segurança, atualizamos as Políticas de Privacidade e Termos de Uso do site.
    Ao continuar navegando, entendemos que você está ciente e de acordo com elas.

    ", + "btnText": "CONCORDAR E FECHAR" } ], "routes": [ diff --git a/.github/workflows/deco-deploy.yaml b/.github/workflows/deco-deploy.yaml new file mode 100644 index 0000000..e043335 --- /dev/null +++ b/.github/workflows/deco-deploy.yaml @@ -0,0 +1,51 @@ +name: Deploy +on: + push: + branches: [main] + pull_request: + branches: [main] +jobs: + deploy: + name: Deploy + runs-on: ubuntu-latest + + permissions: + id-token: write # Needed for auth with Deno Deploy + contents: read # Needed to clone the repository + + steps: + - name: Clone repository + uses: actions/checkout@v3 + + - name: Install Deno + uses: denoland/setup-deno@v1 + with: + deno-version: v2.x + + - uses: actions/cache@v3 + with: + path: | + ~/.deno + ~/.cache/deno + key: ${{ runner.os }}-deno-${{ hashFiles('deno.lock', '**/deps.ts', 'deno.json', 'import_map.json') }} + + - name: Build step + shell: bash + run: "deno run -A dev.ts build" + + - name: Clean unnecessary files + shell: bash + run: | + rm -rf node_modules + rm -rf .git + rm -rf .gitattributes + rm -rf CHANGELOG.md + rm -rf README.md + rm -rf .vscode + + - name: Upload to Deno Deploy + uses: denoland/deployctl@v1 + with: + project: "deco-sites-${{ github.event.repository.name }}" + entrypoint: "./main.ts" + exclude: "node_modules" diff --git a/components/footer/MenuDesktopFooter.tsx b/components/footer/MenuDesktopFooter.tsx index 2211774..6206ed3 100644 --- a/components/footer/MenuDesktopFooter.tsx +++ b/components/footer/MenuDesktopFooter.tsx @@ -35,16 +35,18 @@ export default function MenuDesktopFooter(

    {title}

      {items.map(({ title, href }) => { - const newTitle = title.includes("strong") ? title : title.replace(/<\/?p>/g, "") ; + const newTitle = title.includes("strong") + ? title + : title.replace(/<\/?p>/g, ""); return (
    • - -
    • - ) + + + ); })}
    diff --git a/components/footer/MenuMobileFooter.tsx b/components/footer/MenuMobileFooter.tsx index 6472592..3173926 100644 --- a/components/footer/MenuMobileFooter.tsx +++ b/components/footer/MenuMobileFooter.tsx @@ -15,7 +15,9 @@ export default function MenuMobileFooter( diff --git a/components/search/SearchResult.tsx b/components/search/SearchResult.tsx index 5243764..537e69e 100644 --- a/components/search/SearchResult.tsx +++ b/components/search/SearchResult.tsx @@ -7,7 +7,7 @@ import Searchbar, { type SearchbarProps, } from "../../components/search/Searchbar/Form.tsx"; import { type Section as SectionType } from "@deco/deco/blocks"; -import { ShelfComponent } from '../../sections/Product/ProductShelf.tsx' +import { ShelfComponent } from "../../sections/Product/ProductShelf.tsx"; import { clx } from "../../sdk/clx.ts"; import { useId } from "../../sdk/useId.ts"; import { useOffer } from "../../sdk/useOffer.ts"; @@ -37,52 +37,87 @@ export interface Props { productShelf: SectionType; - searchParams?: string | null + searchParams?: string | null; } -function NotFound({searchbar, productShelf, searchParams}: Props) { +function NotFound({ searchbar, productShelf, searchParams }: Props) { return ( <> - { - searchParams ? ( -
    -
    - - OPS... Não encontramos nenhum resultado para: -
    -
    - -
    -
    -
  • Verifique se a palavra foi digitada corretamente;
  • -
  • Tente palavras menos específicas;
  • -
  • Tente palavras-chave diferentes;
  • -
  • Faça buscas relacionadas.
  • -
    -
    - ) : ( -
    - )} - + {searchParams + ? ( +
    +
    + + + OPS... Não encontramos nenhum resultado para: + +
    +
    + +
    +
    +
  • + Verifique se a palavra foi digitada corretamente; +
  • +
  • + Tente palavras menos específicas; +
  • +
  • + Tente palavras-chave diferentes; +
  • +
  • Faça buscas relacionadas.
  • +
    +
    + ) + : ( +
    +
    +

    + 404 +

    +
    +
    +
    + + Página não encontrada + + + A página que você procura não existe ou não está disponível + +
    +
    + + Causas possíveis + +
  • + O conteúdo não está mais no ar; +
  • +
  • + A página mudou de lugar; +
  • +
  • + O servidor está fora do ar; +
  • +
  • + Você digitou o endereço errado +
  • +
    + + Voltar para o início + +
    +
    + )} + -) + ); } const useUrlRebased = (overrides: string | undefined, base: string) => { @@ -349,18 +384,17 @@ function Result(props: SectionProps) { } function SearchResult({ page, ...props }: SectionProps) { if (!page) { - return ; + return ; } return ; } export const loader = (props: Props, req: Request) => { - const url = new URL(req.url) - const searchParams = url.search ?? null + const url = new URL(req.url); + const searchParams = url.search ?? null; return { ...props, url: url.href, - searchParams + searchParams, }; }; export default SearchResult; - diff --git a/components/ui/Drawer.tsx b/components/ui/Drawer.tsx index 2b2869c..f8d8657 100644 --- a/components/ui/Drawer.tsx +++ b/components/ui/Drawer.tsx @@ -64,7 +64,7 @@ function Aside({ title, drawer, children, hasLogged = true }: { title?: string; drawer: string; children: ComponentChildren; - hasLogged: boolean; + hasLogged?: boolean; }) { return (
    {questionNumber} -
    - - {question} - - {image && ( - {alt - )} -
    + + {question} +
    {isOpen ? "-" : "+"} @@ -61,6 +52,15 @@ export default function AccordionItem({ className="font-medium text-[14px] leading-[21px] text-[#162116] mobile:ml-[35px]" dangerouslySetInnerHTML={{ __html: anwser }} /> + {image && ( + {alt + )}
    )}
    diff --git a/islands/ButtonMenuInstitucionalMobile.tsx b/islands/ButtonMenuInstitucionalMobile.tsx index 3dedc57..d4f42b8 100644 --- a/islands/ButtonMenuInstitucionalMobile.tsx +++ b/islands/ButtonMenuInstitucionalMobile.tsx @@ -30,7 +30,10 @@ export default function ButtonMenuInstitucionalMobile({ {label}{" "} { + const hasAccepted = JSON.parse( + localStorage.getItem("lgpdAccepted") || "false", + ); + setIsVisible(!hasAccepted); + }, []); + + const handleAccept = () => { + localStorage.setItem("lgpdAccepted", JSON.stringify(true)); + setIsVisible(false); + }; + + if (!isVisible) return null; + + return ( +
    +
    +
    +

    + +

    +
    + ); +} diff --git a/manifest.gen.ts b/manifest.gen.ts index cae95f0..a0272aa 100644 --- a/manifest.gen.ts +++ b/manifest.gen.ts @@ -23,34 +23,37 @@ import * as $$$$$$6 from "./sections/Content/Hero.tsx"; import * as $$$$$$7 from "./sections/Content/Intro.tsx"; import * as $$$$$$8 from "./sections/Content/Logos.tsx"; import * as $$$$$$9 from "./sections/Duvidas/duvidas.tsx"; -import * as $$$$$$10 from "./sections/Footer/Footer.tsx"; -import * as $$$$$$11 from "./sections/Header/Header.tsx"; -import * as $$$$$$12 from "./sections/Home/AboutUs.tsx"; -import * as $$$$$$13 from "./sections/Home/BannerSlider.tsx"; -import * as $$$$$$14 from "./sections/Home/BenefitBar.tsx"; -import * as $$$$$$15 from "./sections/Home/FavoritesSlider.tsx"; -import * as $$$$$$16 from "./sections/Home/ShelfWithBanner.tsx"; -import * as $$$$$$17 from "./sections/Images/Banner.tsx"; -import * as $$$$$$18 from "./sections/Images/Carousel.tsx"; -import * as $$$$$$19 from "./sections/Images/ImageGallery.tsx"; -import * as $$$$$$20 from "./sections/Images/ShoppableBanner.tsx"; -import * as $$$$$$21 from "./sections/Links/LinkTree.tsx"; -import * as $$$$$$22 from "./sections/MenuInstitucional/MenuInstitucional.tsx"; -import * as $$$$$$23 from "./sections/MenuInstitucional/MenuInstitucionalMobile.tsx"; -import * as $$$$$$24 from "./sections/Miscellaneous/CampaignTimer.tsx"; -import * as $$$$$$25 from "./sections/Miscellaneous/CookieConsent.tsx"; -import * as $$$$$$26 from "./sections/Newsletter/Newsletter.tsx"; -import * as $$$$$$27 from "./sections/Politicas/Politicas.tsx"; -import * as $$$$$$28 from "./sections/Product/ProductDetails.tsx"; -import * as $$$$$$29 from "./sections/Product/ProductShelf.tsx"; -import * as $$$$$$30 from "./sections/Product/ProductShelfTabbed.tsx"; -import * as $$$$$$31 from "./sections/Product/SearchResult.tsx"; -import * as $$$$$$32 from "./sections/Product/ShelfWithImage.tsx"; -import * as $$$$$$33 from "./sections/Product/Wishlist.tsx"; -import * as $$$$$$34 from "./sections/Session.tsx"; -import * as $$$$$$35 from "./sections/Social/InstagramPosts.tsx"; -import * as $$$$$$36 from "./sections/Social/WhatsApp.tsx"; -import * as $$$$$$37 from "./sections/Theme/Theme.tsx"; +import * as $$$$$$10 from "./sections/FaleConosco/FaleConosco.tsx"; +import * as $$$$$$11 from "./sections/Footer/Footer.tsx"; +import * as $$$$$$12 from "./sections/Header/Header.tsx"; +import * as $$$$$$13 from "./sections/Home/AboutUs.tsx"; +import * as $$$$$$14 from "./sections/Home/BannerSlider.tsx"; +import * as $$$$$$15 from "./sections/Home/BenefitBar.tsx"; +import * as $$$$$$16 from "./sections/Home/FavoritesSlider.tsx"; +import * as $$$$$$17 from "./sections/Home/ShelfWithBanner.tsx"; +import * as $$$$$$18 from "./sections/Images/Banner.tsx"; +import * as $$$$$$19 from "./sections/Images/Carousel.tsx"; +import * as $$$$$$20 from "./sections/Images/ImageGallery.tsx"; +import * as $$$$$$21 from "./sections/Images/ShoppableBanner.tsx"; +import * as $$$$$$22 from "./sections/LGPD/PopupLGPD.tsx"; +import * as $$$$$$23 from "./sections/Links/LinkTree.tsx"; +import * as $$$$$$24 from "./sections/MenuInstitucional/MenuInstitucional.tsx"; +import * as $$$$$$25 from "./sections/MenuInstitucional/MenuInstitucionalMobile.tsx"; +import * as $$$$$$26 from "./sections/Miscellaneous/CampaignTimer.tsx"; +import * as $$$$$$27 from "./sections/Miscellaneous/CookieConsent.tsx"; +import * as $$$$$$28 from "./sections/Newsletter/Newsletter.tsx"; +import * as $$$$$$29 from "./sections/Politicas/Politicas.tsx"; +import * as $$$$$$30 from "./sections/Product/ProductDetails.tsx"; +import * as $$$$$$31 from "./sections/Product/ProductShelf.tsx"; +import * as $$$$$$32 from "./sections/Product/ProductShelfTabbed.tsx"; +import * as $$$$$$33 from "./sections/Product/SearchResult.tsx"; +import * as $$$$$$34 from "./sections/Product/ShelfWithImage.tsx"; +import * as $$$$$$35 from "./sections/Product/Wishlist.tsx"; +import * as $$$$$$36 from "./sections/Quem Somos/quemSomos.tsx"; +import * as $$$$$$37 from "./sections/Session.tsx"; +import * as $$$$$$38 from "./sections/Social/InstagramPosts.tsx"; +import * as $$$$$$39 from "./sections/Social/WhatsApp.tsx"; +import * as $$$$$$40 from "./sections/Theme/Theme.tsx"; const manifest = { "loaders": { @@ -71,34 +74,37 @@ const manifest = { "site/sections/Content/Intro.tsx": $$$$$$7, "site/sections/Content/Logos.tsx": $$$$$$8, "site/sections/Duvidas/duvidas.tsx": $$$$$$9, - "site/sections/Footer/Footer.tsx": $$$$$$10, - "site/sections/Header/Header.tsx": $$$$$$11, - "site/sections/Home/AboutUs.tsx": $$$$$$12, - "site/sections/Home/BannerSlider.tsx": $$$$$$13, - "site/sections/Home/BenefitBar.tsx": $$$$$$14, - "site/sections/Home/FavoritesSlider.tsx": $$$$$$15, - "site/sections/Home/ShelfWithBanner.tsx": $$$$$$16, - "site/sections/Images/Banner.tsx": $$$$$$17, - "site/sections/Images/Carousel.tsx": $$$$$$18, - "site/sections/Images/ImageGallery.tsx": $$$$$$19, - "site/sections/Images/ShoppableBanner.tsx": $$$$$$20, - "site/sections/Links/LinkTree.tsx": $$$$$$21, - "site/sections/MenuInstitucional/MenuInstitucional.tsx": $$$$$$22, - "site/sections/MenuInstitucional/MenuInstitucionalMobile.tsx": $$$$$$23, - "site/sections/Miscellaneous/CampaignTimer.tsx": $$$$$$24, - "site/sections/Miscellaneous/CookieConsent.tsx": $$$$$$25, - "site/sections/Newsletter/Newsletter.tsx": $$$$$$26, - "site/sections/Politicas/Politicas.tsx": $$$$$$27, - "site/sections/Product/ProductDetails.tsx": $$$$$$28, - "site/sections/Product/ProductShelf.tsx": $$$$$$29, - "site/sections/Product/ProductShelfTabbed.tsx": $$$$$$30, - "site/sections/Product/SearchResult.tsx": $$$$$$31, - "site/sections/Product/ShelfWithImage.tsx": $$$$$$32, - "site/sections/Product/Wishlist.tsx": $$$$$$33, - "site/sections/Session.tsx": $$$$$$34, - "site/sections/Social/InstagramPosts.tsx": $$$$$$35, - "site/sections/Social/WhatsApp.tsx": $$$$$$36, - "site/sections/Theme/Theme.tsx": $$$$$$37, + "site/sections/FaleConosco/FaleConosco.tsx": $$$$$$10, + "site/sections/Footer/Footer.tsx": $$$$$$11, + "site/sections/Header/Header.tsx": $$$$$$12, + "site/sections/Home/AboutUs.tsx": $$$$$$13, + "site/sections/Home/BannerSlider.tsx": $$$$$$14, + "site/sections/Home/BenefitBar.tsx": $$$$$$15, + "site/sections/Home/FavoritesSlider.tsx": $$$$$$16, + "site/sections/Home/ShelfWithBanner.tsx": $$$$$$17, + "site/sections/Images/Banner.tsx": $$$$$$18, + "site/sections/Images/Carousel.tsx": $$$$$$19, + "site/sections/Images/ImageGallery.tsx": $$$$$$20, + "site/sections/Images/ShoppableBanner.tsx": $$$$$$21, + "site/sections/LGPD/PopupLGPD.tsx": $$$$$$22, + "site/sections/Links/LinkTree.tsx": $$$$$$23, + "site/sections/MenuInstitucional/MenuInstitucional.tsx": $$$$$$24, + "site/sections/MenuInstitucional/MenuInstitucionalMobile.tsx": $$$$$$25, + "site/sections/Miscellaneous/CampaignTimer.tsx": $$$$$$26, + "site/sections/Miscellaneous/CookieConsent.tsx": $$$$$$27, + "site/sections/Newsletter/Newsletter.tsx": $$$$$$28, + "site/sections/Politicas/Politicas.tsx": $$$$$$29, + "site/sections/Product/ProductDetails.tsx": $$$$$$30, + "site/sections/Product/ProductShelf.tsx": $$$$$$31, + "site/sections/Product/ProductShelfTabbed.tsx": $$$$$$32, + "site/sections/Product/SearchResult.tsx": $$$$$$33, + "site/sections/Product/ShelfWithImage.tsx": $$$$$$34, + "site/sections/Product/Wishlist.tsx": $$$$$$35, + "site/sections/Quem Somos/quemSomos.tsx": $$$$$$36, + "site/sections/Session.tsx": $$$$$$37, + "site/sections/Social/InstagramPosts.tsx": $$$$$$38, + "site/sections/Social/WhatsApp.tsx": $$$$$$39, + "site/sections/Theme/Theme.tsx": $$$$$$40, }, "actions": { "site/actions/minicart/submit.ts": $$$$$$$$$0, diff --git a/sections/Duvidas/duvidas.tsx b/sections/Duvidas/duvidas.tsx index 7768560..8776f7c 100644 --- a/sections/Duvidas/duvidas.tsx +++ b/sections/Duvidas/duvidas.tsx @@ -27,7 +27,7 @@ export default function Duvidas({ subTitleDown, }: ItemsDuvidasProps) { return ( -
    +
    +
    +

    + {titulo} +

    +

    + {subTitulo} +

    +
    +
    +
    +
    + + +
    +
    + + +
    +
    +
    + + +
    +
    + +