From cbdfd68d6789c830c3f540f71ad89f915d660dcf Mon Sep 17 00:00:00 2001 From: Aitor Urrutia <3373382+Txarli@users.noreply.github.com> Date: Tue, 19 Dec 2023 19:15:31 +0100 Subject: [PATCH] feat: menua eguneratzen du (#10) * feat: menua eguneratzen du * ignore: komentarioa --- back/database/migrations/development.db | Bin 917504 -> 917504 bytes .../content-types/kafetegia/schema.json | 46 +--- back/src/components/kafetegia/izenburua.json | 15 ++ .../components/kafetegia/produktu-taldea.json | 19 ++ back/types/generated/components.d.ts | 26 ++ back/types/generated/contentTypes.d.ts | 11 +- front/.env.production | 1 + front/src/pages/kafetegia.tsx | 139 +++------- front/src/viewQueries/KafetegiaData.ts | 11 +- front/src/viewQueries/useKafetegiaData.ts | 252 +++--------------- 10 files changed, 159 insertions(+), 361 deletions(-) create mode 100644 back/src/components/kafetegia/izenburua.json create mode 100644 back/src/components/kafetegia/produktu-taldea.json diff --git a/back/database/migrations/development.db b/back/database/migrations/development.db index eb966c98f0f23413e7bd097029ed89b3bc770d6a..4c4349cc54409ab6df3377dd625c634d952ee906 100644 GIT binary patch delta 28989 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 TaRB#lKsam#faD#AjQsxvXtKE3 delta 21205 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 & + Attribute.Required; + }; +} + export interface OrokorraDatuOrokorrak extends Schema.Component { collectionName: 'components_orokorra_datu_orokorraks'; info: { @@ -97,6 +121,8 @@ declare module '@strapi/types' { export interface Components { 'kafetegia.alergenoa': KafetegiaAlergenoa; 'kafetegia.edaria': KafetegiaEdaria; + 'kafetegia.izenburua': KafetegiaIzenburua; + 'kafetegia.produktu-taldea': KafetegiaProduktuTaldea; 'orokorra.datu-orokorrak': OrokorraDatuOrokorrak; 'orokorra.helbidea': OrokorraHelbidea; } diff --git a/back/types/generated/contentTypes.d.ts b/back/types/generated/contentTypes.d.ts index b12b29c..8578712 100644 --- a/back/types/generated/contentTypes.d.ts +++ b/back/types/generated/contentTypes.d.ts @@ -724,14 +724,9 @@ export interface ApiKafetegiaKafetegia extends Schema.SingleType { attributes: { izenburua: Attribute.String & Attribute.Required; deskribapena: Attribute.Text & Attribute.Required; - edariBeroak: Attribute.Component<'kafetegia.edaria', true>; - infusioEkologikoak: Attribute.Component<'kafetegia.edaria', true>; - edariHotzak: Attribute.Component<'kafetegia.edaria', true>; - pikatzekoak: Attribute.Component<'kafetegia.edaria', true>; - gozoak: Attribute.Component<'kafetegia.edaria', true>; - anizkoJogurta: Attribute.Component<'kafetegia.edaria'>; - tostadak: Attribute.Component<'kafetegia.edaria', true>; - konboak: Attribute.Component<'kafetegia.edaria', true>; + menua: Attribute.DynamicZone< + ['kafetegia.produktu-taldea', 'kafetegia.izenburua'] + >; createdAt: Attribute.DateTime; updatedAt: Attribute.DateTime; publishedAt: Attribute.DateTime; diff --git a/front/.env.production b/front/.env.production index 33e60f9..1be2388 100644 --- a/front/.env.production +++ b/front/.env.production @@ -1,2 +1,3 @@ GATSBY_ROOT_URL=https://laba-webgunea.netlify.app API_URL=https://vervet-big-dassie.ngrok-free.app +STRAPI_GRAPHQL_TOKEN=307442ef6911b9692d6946bf6aac5d910795b56d92063e8a58ace14e31c8ac6ad7b64480ba591689abbad02758da9562e423e1ef1af8b9f303612ffb63f94f567060ea9f690d9d14bce676bdcf985a2a8c95643963ffd6f593490bb4b4ccae51572cbf315e7c823d0f368de2fe113b113986e9943df1a81e6e4228b82cc7cead \ No newline at end of file diff --git a/front/src/pages/kafetegia.tsx b/front/src/pages/kafetegia.tsx index 5aecb6f..35d3cdf 100644 --- a/front/src/pages/kafetegia.tsx +++ b/front/src/pages/kafetegia.tsx @@ -15,20 +15,14 @@ import { useKafetegiaData } from '../viewQueries/useKafetegiaData'; import { AlergenoLegenda } from '../components/AlergenoLegenda'; import { Oina } from '../components/Oina'; import { SEO } from '../components/SEO'; +import { produktuaFactory } from '../domain/factories/produktuaFactory'; const Kafetegia: React.VFC = ({ location }) => { - const { - izenburua, - deskribapena, - anizkoJogurta, - edariBeroak, - edariHotzak, - infusioEkologikoak, - pikatzekoak, - gozoak, - tostadak, - konboak, - } = useKafetegiaData(); + const { izenburua, deskribapena, menua } = useKafetegiaData(); + + // oraingoz menuak alergenorik ez duenez, ezkutatuko dugu + // TODO modu dinamikoan aldatu balio hau + const hasAlergenoak = false; return ( <> @@ -47,80 +41,47 @@ const Kafetegia: React.VFC = ({ location }) => { - - - - Edariak - - - - - - - - - - - + {menua.map(konponentea => { + if ( + konponentea.konponentea === + 'StrapiComponentKafetegiaProduktuTaldea' + ) { + return ( + <> + + + + + ); + } - - - - Jakiak - - - - - - - - - - - - - - - + if ( + konponentea.konponentea === 'StrapiComponentKafetegiaIzenburua' + ) { + return ( + + + {konponentea.izenburuBalioa} + + ); + } + })} - - - - - GOSARI KONBOAK - - - 11:00ak arte. Gehitu hauetako bat zure tostada, pintxo edo - bizkotxoari. - - - - + {hasAlergenoak && ( + + + + Alergenoak + - - - - - Alergenoak - - - - + + + )}

On egin!

@@ -133,18 +94,6 @@ const Kafetegia: React.VFC = ({ location }) => { ); }; -const KonboAzalpena = styled.p` - margin-bottom: ${size.base}px; - text-align: right; -`; - -const KonboWrapper = styled.div` - background-color: ${colors.horia}; - padding-top: ${size.base}px; - padding-bottom: ${size.base}px; - margin-bottom: ${size.large}px; -`; - const OnEgin = styled.div` text-align: center; ${font.gargantuan()}; diff --git a/front/src/viewQueries/KafetegiaData.ts b/front/src/viewQueries/KafetegiaData.ts index 3a19872..a62c3bc 100644 --- a/front/src/viewQueries/KafetegiaData.ts +++ b/front/src/viewQueries/KafetegiaData.ts @@ -1,14 +1,7 @@ -import { Produktua } from '../domain/models/Produktua'; +import { MenuKonponentea } from './useKafetegiaData'; export interface KafetegiaData { deskribapena: string; izenburua: string; - edariBeroak: Produktua[]; - infusioEkologikoak: Produktua[]; - edariHotzak: Produktua[]; - pikatzekoak: Produktua[]; - gozoak: Produktua[]; - anizkoJogurta: Produktua; - tostadak: Produktua[]; - konboak: Produktua[]; + menua: MenuKonponentea[]; } diff --git a/front/src/viewQueries/useKafetegiaData.ts b/front/src/viewQueries/useKafetegiaData.ts index fb34ce7..fa7268f 100644 --- a/front/src/viewQueries/useKafetegiaData.ts +++ b/front/src/viewQueries/useKafetegiaData.ts @@ -1,223 +1,64 @@ import { graphql, useStaticQuery } from 'gatsby'; import { ProduktuaDTO } from '../domain/dtos/ProduktuaDTO'; -import { produktuaFactory } from '../domain/factories/produktuaFactory'; import { KafetegiaData } from './KafetegiaData'; +export type MenuKonponentea = + | { + konponentea: 'StrapiComponentKafetegiaIzenburua'; + izenburuBalioa: string; + } + | { + konponentea: 'StrapiComponentKafetegiaProduktuTaldea'; + izenburua: string; + produktuak: ProduktuaDTO[]; + }; + interface DataProps { strapiKafetegia: { deskribapena: string; izenburua: string; - edariBeroak: ProduktuaDTO[]; - infusioEkologikoak: ProduktuaDTO[]; - edariHotzak: ProduktuaDTO[]; - pikatzekoak: ProduktuaDTO[]; - gozoak: ProduktuaDTO[]; - anizkoJogurta: ProduktuaDTO; - tostadak: ProduktuaDTO[]; - konboak: ProduktuaDTO[]; + menua: MenuKonponentea[]; }; } export function useKafetegiaData(): KafetegiaData { const { - strapiKafetegia: { - izenburua, - deskribapena, - anizkoJogurta, - edariBeroak, - edariHotzak, - infusioEkologikoak, - pikatzekoak, - gozoak, - tostadak, - konboak, - }, + strapiKafetegia: { izenburua, deskribapena, menua }, } = useStaticQuery(graphql` { strapiKafetegia { izenburua deskribapena - anizkoJogurta { - alergenoak { - apioa - arraina - arrautzak - esnekiak - fruituLehorrak - glutena - kakahueteak - krustazeoak - lupinuak - moluskuak - sesamoa - soja - sulfitoak - ziapea + menua { + konponentea: __typename + ... on StrapiComponentKafetegiaIzenburua { + izenburuBalioa + id } - beganoa - ekologikoa - izena - prezioa - } - edariBeroak { - id - ekologikoa - beganoa - izena - prezioa - alergenoak { - apioa - arraina - arrautzak - esnekiak - fruituLehorrak - glutena - kakahueteak - krustazeoak - lupinuak - moluskuak - sesamoa - soja - sulfitoak - ziapea - } - } - edariHotzak { - id - ekologikoa - beganoa - izena - prezioa - alergenoak { - apioa - arraina - arrautzak - esnekiak - fruituLehorrak - glutena - kakahueteak - krustazeoak - lupinuak - moluskuak - sesamoa - soja - sulfitoak - ziapea - } - } - infusioEkologikoak { - id - ekologikoa - beganoa - izena - prezioa - alergenoak { - apioa - arraina - arrautzak - esnekiak - fruituLehorrak - glutena - kakahueteak - krustazeoak - lupinuak - moluskuak - sesamoa - soja - sulfitoak - ziapea - } - } - pikatzekoak { - id - ekologikoa - beganoa - izena - prezioa - alergenoak { - apioa - arraina - arrautzak - esnekiak - fruituLehorrak - glutena - kakahueteak - krustazeoak - lupinuak - moluskuak - sesamoa - soja - sulfitoak - ziapea - } - } - gozoak { - id - ekologikoa - beganoa - izena - prezioa - alergenoak { - apioa - arraina - arrautzak - esnekiak - fruituLehorrak - glutena - kakahueteak - krustazeoak - lupinuak - moluskuak - sesamoa - soja - sulfitoak - ziapea - } - } - tostadak { - id - ekologikoa - beganoa - izena - prezioa - alergenoak { - apioa - arraina - arrautzak - esnekiak - fruituLehorrak - glutena - kakahueteak - krustazeoak - lupinuak - moluskuak - sesamoa - soja - sulfitoak - ziapea - } - } - konboak { - id - ekologikoa - beganoa - izena - prezioa - alergenoak { - apioa - arraina - arrautzak - esnekiak - fruituLehorrak - glutena - kakahueteak - krustazeoak - lupinuak - moluskuak - sesamoa - soja - sulfitoak - ziapea + ... on StrapiComponentKafetegiaProduktuTaldea { + izenburua + produktuak { + izena + prezioa + beganoa + ekologikoa + alergenoak { + apioa + arraina + arrautzak + esnekiak + fruituLehorrak + glutena + kakahueteak + krustazeoak + lupinuak + moluskuak + sesamoa + soja + sulfitoak + ziapea + } + } } } } @@ -227,13 +68,6 @@ export function useKafetegiaData(): KafetegiaData { return { izenburua, deskribapena, - anizkoJogurta: produktuaFactory(anizkoJogurta), - edariBeroak: edariBeroak.map(produktuaFactory), - edariHotzak: edariHotzak.map(produktuaFactory), - infusioEkologikoak: infusioEkologikoak.map(produktuaFactory), - pikatzekoak: pikatzekoak.map(produktuaFactory), - gozoak: gozoak.map(produktuaFactory), - tostadak: tostadak.map(produktuaFactory), - konboak: konboak.map(produktuaFactory), + menua, }; }