Graphql erabiltzen du (#5)
* feat: graphql erabiltzen du * node bertsioa jeisten du * feat: netlify deployments sartzen du * feat: token-a sortzen du * chore: Gatsbyren aldagaiak berreskuratzen ditu * fix: query-a konpontzen du
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
HOST=0.0.0.0
|
HOST=0.0.0.0
|
||||||
PORT=1337
|
PORT=1337
|
||||||
DATABASE_FILENAME=database/migrations/development.db
|
DATABASE_FILENAME=database/migrations/development.db
|
||||||
|
NETLIFY_DEPLOYMENTS_PLUGIN_ACCESS_TOKEN="<netlify access token>"
|
||||||
|
|||||||
29
back/config/plugins.js
Normal file
29
back/config/plugins.js
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
module.exports = {
|
||||||
|
graphql: {
|
||||||
|
config: {
|
||||||
|
endpoint: "/graphql",
|
||||||
|
shadowCRUD: true,
|
||||||
|
playgroundAlways: false,
|
||||||
|
depthLimit: 7,
|
||||||
|
amountLimit: 100,
|
||||||
|
apolloServer: {
|
||||||
|
introspection: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"netlify-deployments": {
|
||||||
|
enabled: true,
|
||||||
|
config: {
|
||||||
|
accessToken: process.env.NETLIFY_DEPLOYMENTS_PLUGIN_ACCESS_TOKEN,
|
||||||
|
sites: [
|
||||||
|
{
|
||||||
|
name: "laba-webgunea",
|
||||||
|
id: "3e9ed70d-2f4b-4152-9aaf-1129570d01b4",
|
||||||
|
buildHook:
|
||||||
|
"https://api.netlify.com/build_hooks/61e338c09f4ef3bf644f86db",
|
||||||
|
branch: "main", // optional
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
Binary file not shown.
@@ -9,14 +9,15 @@
|
|||||||
"build": "strapi build",
|
"build": "strapi build",
|
||||||
"strapi": "strapi"
|
"strapi": "strapi"
|
||||||
},
|
},
|
||||||
"devDependencies": {},
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@strapi/plugin-graphql": "^4.11.2",
|
||||||
"@strapi/plugin-i18n": "4.11.2",
|
"@strapi/plugin-i18n": "4.11.2",
|
||||||
"@strapi/plugin-users-permissions": "4.11.2",
|
"@strapi/plugin-users-permissions": "4.11.2",
|
||||||
"@strapi/strapi": "4.11.2",
|
"@strapi/strapi": "4.11.2",
|
||||||
"pg": "^8.11.0",
|
"pg": "^8.11.0",
|
||||||
"pg-connection-string": "^2.6.0",
|
"pg-connection-string": "^2.6.0",
|
||||||
"sqlite3": "5.1.6"
|
"sqlite3": "5.1.6",
|
||||||
|
"strapi-plugin-netlify-deployments": "^2.0.0"
|
||||||
},
|
},
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Laba Sarea"
|
"name": "Laba Sarea"
|
||||||
|
|||||||
@@ -2,43 +2,6 @@ require('dotenv').config({
|
|||||||
path: `.env.${process.env.NODE_ENV}`,
|
path: `.env.${process.env.NODE_ENV}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
const qs = require('qs');
|
|
||||||
const query = qs.stringify(
|
|
||||||
{
|
|
||||||
populate: {
|
|
||||||
edariBeroak: {
|
|
||||||
populate: ['alergenoak'],
|
|
||||||
},
|
|
||||||
infusioEkologikoak: {
|
|
||||||
populate: ['alergenoak'],
|
|
||||||
},
|
|
||||||
edariHotzak: {
|
|
||||||
populate: ['alergenoak'],
|
|
||||||
},
|
|
||||||
pikatzekoak: {
|
|
||||||
populate: ['alergenoak'],
|
|
||||||
},
|
|
||||||
gozoak: {
|
|
||||||
populate: ['alergenoak'],
|
|
||||||
},
|
|
||||||
anizkoJogurta: {
|
|
||||||
populate: ['alergenoak'],
|
|
||||||
},
|
|
||||||
tostadak: {
|
|
||||||
populate: ['alergenoak'],
|
|
||||||
},
|
|
||||||
konboak: {
|
|
||||||
populate: ['alergenoak'],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
encodeValuesOnly: true,
|
|
||||||
},
|
|
||||||
);
|
|
||||||
|
|
||||||
const apiUrl = process.env.API_URL || 'http://localhost:1337/api';
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
plugins: [
|
plugins: [
|
||||||
'gatsby-plugin-react-helmet',
|
'gatsby-plugin-react-helmet',
|
||||||
@@ -50,35 +13,28 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
resolve: 'gatsby-source-custom-api',
|
resolve: 'gatsby-source-strapi-graphql',
|
||||||
options: {
|
options: {
|
||||||
rootKey: 'kafetegia',
|
apiURL: 'http://localhost:1337',
|
||||||
url: `${apiUrl}/kafetegia?${query}`,
|
collectionTypes: [],
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
resolve: 'gatsby-source-strapi',
|
|
||||||
options: {
|
|
||||||
apiURL: apiUrl,
|
|
||||||
singleTypes: [
|
singleTypes: [
|
||||||
'hasiera',
|
'hasiera',
|
||||||
{
|
'kafetegia',
|
||||||
name: 'kafetegia',
|
|
||||||
queryParams: {
|
|
||||||
populate: '*',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'lege-oharra',
|
'lege-oharra',
|
||||||
'pribatutasun-politika',
|
'pribatutasun-politika',
|
||||||
],
|
],
|
||||||
queryLimit: 1000,
|
contentTypes: [],
|
||||||
|
// Enable/disable cache.
|
||||||
|
cache: false,
|
||||||
|
token:
|
||||||
|
'307442ef6911b9692d6946bf6aac5d910795b56d92063e8a58ace14e31c8ac6ad7b64480ba591689abbad02758da9562e423e1ef1af8b9f303612ffb63f94f567060ea9f690d9d14bce676bdcf985a2a8c95643963ffd6f593490bb4b4ccae51572cbf315e7c823d0f368de2fe113b113986e9943df1a81e6e4228b82cc7cead',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'gatsby-transformer-sharp',
|
'gatsby-transformer-sharp',
|
||||||
'gatsby-plugin-sharp',
|
'gatsby-plugin-sharp',
|
||||||
'gatsby-plugin-styled-components',
|
'gatsby-plugin-styled-components',
|
||||||
{
|
{
|
||||||
resolve: `gatsby-plugin-manifest`,
|
resolve: 'gatsby-plugin-manifest',
|
||||||
options: {
|
options: {
|
||||||
name: 'Laba',
|
name: 'Laba',
|
||||||
short_name: 'Laba',
|
short_name: 'Laba',
|
||||||
@@ -90,7 +46,6 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
'gatsby-plugin-offline',
|
'gatsby-plugin-offline',
|
||||||
// 'gatsby-plugin-sitemap',
|
|
||||||
{
|
{
|
||||||
resolve: 'gatsby-plugin-react-svg',
|
resolve: 'gatsby-plugin-react-svg',
|
||||||
options: {
|
options: {
|
||||||
@@ -100,7 +55,7 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
resolve: `gatsby-plugin-webfonts`,
|
resolve: 'gatsby-plugin-webfonts',
|
||||||
options: {
|
options: {
|
||||||
fonts: {
|
fonts: {
|
||||||
google: [
|
google: [
|
||||||
|
|||||||
@@ -30,9 +30,8 @@
|
|||||||
"gatsby-plugin-sitemap": "^5.5.0",
|
"gatsby-plugin-sitemap": "^5.5.0",
|
||||||
"gatsby-plugin-styled-components": "^5.5.0",
|
"gatsby-plugin-styled-components": "^5.5.0",
|
||||||
"gatsby-plugin-webfonts": "^2.2.1",
|
"gatsby-plugin-webfonts": "^2.2.1",
|
||||||
"gatsby-source-custom-api": "^2.3.5",
|
|
||||||
"gatsby-source-filesystem": "^4.5.1",
|
"gatsby-source-filesystem": "^4.5.1",
|
||||||
"gatsby-source-strapi": "^1.0.2",
|
"gatsby-source-strapi-graphql": "^4.6.2",
|
||||||
"gatsby-transformer-sharp": "^4.5.0",
|
"gatsby-transformer-sharp": "^4.5.0",
|
||||||
"polished": "^4.1.3",
|
"polished": "^4.1.3",
|
||||||
"raw-loader": "^4.0.2",
|
"raw-loader": "^4.0.2",
|
||||||
|
|||||||
@@ -14,13 +14,9 @@ import { Oina } from '../components/Oina';
|
|||||||
|
|
||||||
interface DataProps {
|
interface DataProps {
|
||||||
strapiHasiera: {
|
strapiHasiera: {
|
||||||
data: {
|
deskribapena: string;
|
||||||
attributes: {
|
izenburua: string;
|
||||||
deskribapena: string;
|
bazkidetza: string;
|
||||||
izenburua: string;
|
|
||||||
bazkidetza: string;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -28,13 +24,9 @@ const IndexPage: React.VFC<PageProps> = () => {
|
|||||||
const { strapiHasiera } = useStaticQuery<DataProps>(graphql`
|
const { strapiHasiera } = useStaticQuery<DataProps>(graphql`
|
||||||
{
|
{
|
||||||
strapiHasiera {
|
strapiHasiera {
|
||||||
data {
|
deskribapena
|
||||||
attributes {
|
izenburua
|
||||||
deskribapena
|
bazkidetza
|
||||||
izenburua
|
|
||||||
bazkidetza
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`);
|
`);
|
||||||
@@ -42,21 +34,18 @@ const IndexPage: React.VFC<PageProps> = () => {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Helmet
|
<Helmet
|
||||||
title={`${strapiHasiera.data.attributes.izenburua} | Laba`}
|
title={`${strapiHasiera.izenburua} | Laba`}
|
||||||
htmlAttributes={{ lang: 'eu' }}
|
htmlAttributes={{ lang: 'eu' }}
|
||||||
>
|
>
|
||||||
<meta
|
<meta name="description" content={strapiHasiera.deskribapena} />
|
||||||
name="description"
|
|
||||||
content={strapiHasiera.data.attributes.deskribapena}
|
|
||||||
/>
|
|
||||||
</Helmet>
|
</Helmet>
|
||||||
|
|
||||||
<GlobalStyles />
|
<GlobalStyles />
|
||||||
|
|
||||||
<Gainburua
|
<Gainburua
|
||||||
atala="hasiera"
|
atala="hasiera"
|
||||||
izenburua={strapiHasiera.data.attributes.izenburua}
|
izenburua={strapiHasiera.izenburua}
|
||||||
deskribapena={strapiHasiera.data.attributes.deskribapena}
|
deskribapena={strapiHasiera.deskribapena}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
window.location.replace('/#labazkidetza');
|
window.location.replace('/#labazkidetza');
|
||||||
}}
|
}}
|
||||||
@@ -64,9 +53,7 @@ const IndexPage: React.VFC<PageProps> = () => {
|
|||||||
|
|
||||||
<ContentWrapper id="labazkidetza">
|
<ContentWrapper id="labazkidetza">
|
||||||
<Container>
|
<Container>
|
||||||
<Deskribapena>
|
<Deskribapena>{strapiHasiera.bazkidetza}</Deskribapena>
|
||||||
{strapiHasiera.data.attributes.bazkidetza}
|
|
||||||
</Deskribapena>
|
|
||||||
|
|
||||||
<IzanLabaWrapper>
|
<IzanLabaWrapper>
|
||||||
<Botoia href="https://forms.gle/wV41CVkRX1JtHsAu9">
|
<Botoia href="https://forms.gle/wV41CVkRX1JtHsAu9">
|
||||||
|
|||||||
@@ -13,12 +13,8 @@ import { Oina } from '../components/Oina';
|
|||||||
|
|
||||||
interface DataProps {
|
interface DataProps {
|
||||||
strapiLegeOharra: {
|
strapiLegeOharra: {
|
||||||
data: {
|
izenburua: string;
|
||||||
attributes: {
|
edukia: string;
|
||||||
izenburua: string;
|
|
||||||
edukia: string;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,12 +22,8 @@ const LegeOharra: React.VFC<PageProps> = () => {
|
|||||||
const { strapiLegeOharra } = useStaticQuery<DataProps>(graphql`
|
const { strapiLegeOharra } = useStaticQuery<DataProps>(graphql`
|
||||||
{
|
{
|
||||||
strapiLegeOharra {
|
strapiLegeOharra {
|
||||||
data {
|
izenburua
|
||||||
attributes {
|
edukia
|
||||||
izenburua
|
|
||||||
edukia
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`);
|
`);
|
||||||
@@ -39,7 +31,7 @@ const LegeOharra: React.VFC<PageProps> = () => {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Helmet
|
<Helmet
|
||||||
title={`${strapiLegeOharra.data.attributes.izenburua} | Laba`}
|
title={`${strapiLegeOharra.izenburua} | Laba`}
|
||||||
htmlAttributes={{ lang: 'eu' }}
|
htmlAttributes={{ lang: 'eu' }}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@@ -49,7 +41,7 @@ const LegeOharra: React.VFC<PageProps> = () => {
|
|||||||
|
|
||||||
<Container>
|
<Container>
|
||||||
<Atala>
|
<Atala>
|
||||||
<Edukia>{strapiLegeOharra.data.attributes.edukia}</Edukia>
|
<Edukia>{strapiLegeOharra.edukia}</Edukia>
|
||||||
</Atala>
|
</Atala>
|
||||||
</Container>
|
</Container>
|
||||||
|
|
||||||
|
|||||||
@@ -14,12 +14,8 @@ import { Oina } from '../components/Oina';
|
|||||||
|
|
||||||
interface DataProps {
|
interface DataProps {
|
||||||
strapiPribatutasunPolitika: {
|
strapiPribatutasunPolitika: {
|
||||||
data: {
|
izenburua: string;
|
||||||
attributes: {
|
edukia: string;
|
||||||
izenburua: string;
|
|
||||||
edukia: string;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,12 +23,8 @@ const PribatutasunPolitika: React.VFC<PageProps> = () => {
|
|||||||
const { strapiPribatutasunPolitika } = useStaticQuery<DataProps>(graphql`
|
const { strapiPribatutasunPolitika } = useStaticQuery<DataProps>(graphql`
|
||||||
{
|
{
|
||||||
strapiPribatutasunPolitika {
|
strapiPribatutasunPolitika {
|
||||||
data {
|
izenburua
|
||||||
attributes {
|
edukia
|
||||||
izenburua
|
|
||||||
edukia
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`);
|
`);
|
||||||
@@ -40,7 +32,7 @@ const PribatutasunPolitika: React.VFC<PageProps> = () => {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Helmet
|
<Helmet
|
||||||
title={`${strapiPribatutasunPolitika.data.attributes.izenburua} | Laba`}
|
title={`${strapiPribatutasunPolitika.izenburua} | Laba`}
|
||||||
htmlAttributes={{ lang: 'eu' }}
|
htmlAttributes={{ lang: 'eu' }}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@@ -50,7 +42,7 @@ const PribatutasunPolitika: React.VFC<PageProps> = () => {
|
|||||||
|
|
||||||
<Container>
|
<Container>
|
||||||
<Atala>
|
<Atala>
|
||||||
<Edukia>{strapiPribatutasunPolitika.data.attributes.edukia}</Edukia>
|
<Edukia>{strapiPribatutasunPolitika.edukia}</Edukia>
|
||||||
</Atala>
|
</Atala>
|
||||||
</Container>
|
</Container>
|
||||||
|
|
||||||
|
|||||||
@@ -4,233 +4,220 @@ import { produktuaFactory } from '../domain/factories/produktuaFactory';
|
|||||||
import { KafetegiaData } from './KafetegiaData';
|
import { KafetegiaData } from './KafetegiaData';
|
||||||
|
|
||||||
interface DataProps {
|
interface DataProps {
|
||||||
kafetegia: {
|
strapiKafetegia: {
|
||||||
data: {
|
deskribapena: string;
|
||||||
attributes: {
|
izenburua: string;
|
||||||
deskribapena: string;
|
edariBeroak: ProduktuaDTO[];
|
||||||
izenburua: string;
|
infusioEkologikoak: ProduktuaDTO[];
|
||||||
edariBeroak: ProduktuaDTO[];
|
edariHotzak: ProduktuaDTO[];
|
||||||
infusioEkologikoak: ProduktuaDTO[];
|
pikatzekoak: ProduktuaDTO[];
|
||||||
edariHotzak: ProduktuaDTO[];
|
gozoak: ProduktuaDTO[];
|
||||||
pikatzekoak: ProduktuaDTO[];
|
anizkoJogurta: ProduktuaDTO;
|
||||||
gozoak: ProduktuaDTO[];
|
tostadak: ProduktuaDTO[];
|
||||||
anizkoJogurta: ProduktuaDTO;
|
konboak: ProduktuaDTO[];
|
||||||
tostadak: ProduktuaDTO[];
|
|
||||||
konboak: ProduktuaDTO[];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export function useKafetegiaData(): KafetegiaData {
|
export function useKafetegiaData(): KafetegiaData {
|
||||||
const {
|
const {
|
||||||
kafetegia: {
|
strapiKafetegia: {
|
||||||
data: {
|
izenburua,
|
||||||
attributes: {
|
deskribapena,
|
||||||
izenburua,
|
anizkoJogurta,
|
||||||
deskribapena,
|
edariBeroak,
|
||||||
anizkoJogurta,
|
edariHotzak,
|
||||||
edariBeroak,
|
infusioEkologikoak,
|
||||||
edariHotzak,
|
pikatzekoak,
|
||||||
infusioEkologikoak,
|
gozoak,
|
||||||
pikatzekoak,
|
tostadak,
|
||||||
gozoak,
|
konboak,
|
||||||
tostadak,
|
|
||||||
konboak,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
} = useStaticQuery<DataProps>(graphql`
|
} = useStaticQuery<DataProps>(graphql`
|
||||||
{
|
{
|
||||||
kafetegia {
|
strapiKafetegia {
|
||||||
data {
|
izenburua
|
||||||
attributes {
|
deskribapena
|
||||||
izenburua
|
anizkoJogurta {
|
||||||
deskribapena
|
alergenoak {
|
||||||
anizkoJogurta {
|
apioa
|
||||||
alergenoak {
|
arraina
|
||||||
apioa
|
arrautzak
|
||||||
arraina
|
esnekiak
|
||||||
arrautzak
|
fruituLehorrak
|
||||||
esnekiak
|
glutena
|
||||||
fruituLehorrak
|
kakahueteak
|
||||||
glutena
|
krustazeoak
|
||||||
kakahueteak
|
lupinuak
|
||||||
krustazeoak
|
moluskuak
|
||||||
lupinuak
|
sesamoa
|
||||||
moluskuak
|
soja
|
||||||
sesamoa
|
sulfitoak
|
||||||
soja
|
ziapea
|
||||||
sulfitoak
|
}
|
||||||
ziapea
|
beganoa
|
||||||
}
|
ekologikoa
|
||||||
beganoa
|
izena
|
||||||
ekologikoa
|
prezioa
|
||||||
izena
|
}
|
||||||
prezioa
|
edariBeroak {
|
||||||
id__normalized
|
id
|
||||||
}
|
ekologikoa
|
||||||
edariBeroak {
|
beganoa
|
||||||
id
|
izena
|
||||||
ekologikoa
|
prezioa
|
||||||
beganoa
|
alergenoak {
|
||||||
izena
|
apioa
|
||||||
prezioa
|
arraina
|
||||||
alergenoak {
|
arrautzak
|
||||||
apioa
|
esnekiak
|
||||||
arraina
|
fruituLehorrak
|
||||||
arrautzak
|
glutena
|
||||||
esnekiak
|
kakahueteak
|
||||||
fruituLehorrak
|
krustazeoak
|
||||||
glutena
|
lupinuak
|
||||||
kakahueteak
|
moluskuak
|
||||||
krustazeoak
|
sesamoa
|
||||||
lupinuak
|
soja
|
||||||
moluskuak
|
sulfitoak
|
||||||
sesamoa
|
ziapea
|
||||||
soja
|
}
|
||||||
sulfitoak
|
}
|
||||||
ziapea
|
edariHotzak {
|
||||||
}
|
id
|
||||||
}
|
ekologikoa
|
||||||
edariHotzak {
|
beganoa
|
||||||
id
|
izena
|
||||||
ekologikoa
|
prezioa
|
||||||
beganoa
|
alergenoak {
|
||||||
izena
|
apioa
|
||||||
prezioa
|
arraina
|
||||||
alergenoak {
|
arrautzak
|
||||||
apioa
|
esnekiak
|
||||||
arraina
|
fruituLehorrak
|
||||||
arrautzak
|
glutena
|
||||||
esnekiak
|
kakahueteak
|
||||||
fruituLehorrak
|
krustazeoak
|
||||||
glutena
|
lupinuak
|
||||||
kakahueteak
|
moluskuak
|
||||||
krustazeoak
|
sesamoa
|
||||||
lupinuak
|
soja
|
||||||
moluskuak
|
sulfitoak
|
||||||
sesamoa
|
ziapea
|
||||||
soja
|
}
|
||||||
sulfitoak
|
}
|
||||||
ziapea
|
infusioEkologikoak {
|
||||||
}
|
id
|
||||||
}
|
ekologikoa
|
||||||
infusioEkologikoak {
|
beganoa
|
||||||
id
|
izena
|
||||||
ekologikoa
|
prezioa
|
||||||
beganoa
|
alergenoak {
|
||||||
izena
|
apioa
|
||||||
prezioa
|
arraina
|
||||||
alergenoak {
|
arrautzak
|
||||||
apioa
|
esnekiak
|
||||||
arraina
|
fruituLehorrak
|
||||||
arrautzak
|
glutena
|
||||||
esnekiak
|
kakahueteak
|
||||||
fruituLehorrak
|
krustazeoak
|
||||||
glutena
|
lupinuak
|
||||||
kakahueteak
|
moluskuak
|
||||||
krustazeoak
|
sesamoa
|
||||||
lupinuak
|
soja
|
||||||
moluskuak
|
sulfitoak
|
||||||
sesamoa
|
ziapea
|
||||||
soja
|
}
|
||||||
sulfitoak
|
}
|
||||||
ziapea
|
pikatzekoak {
|
||||||
}
|
id
|
||||||
}
|
ekologikoa
|
||||||
pikatzekoak {
|
beganoa
|
||||||
id
|
izena
|
||||||
ekologikoa
|
prezioa
|
||||||
beganoa
|
alergenoak {
|
||||||
izena
|
apioa
|
||||||
prezioa
|
arraina
|
||||||
alergenoak {
|
arrautzak
|
||||||
apioa
|
esnekiak
|
||||||
arraina
|
fruituLehorrak
|
||||||
arrautzak
|
glutena
|
||||||
esnekiak
|
kakahueteak
|
||||||
fruituLehorrak
|
krustazeoak
|
||||||
glutena
|
lupinuak
|
||||||
kakahueteak
|
moluskuak
|
||||||
krustazeoak
|
sesamoa
|
||||||
lupinuak
|
soja
|
||||||
moluskuak
|
sulfitoak
|
||||||
sesamoa
|
ziapea
|
||||||
soja
|
}
|
||||||
sulfitoak
|
}
|
||||||
ziapea
|
gozoak {
|
||||||
}
|
id
|
||||||
}
|
ekologikoa
|
||||||
gozoak {
|
beganoa
|
||||||
id
|
izena
|
||||||
ekologikoa
|
prezioa
|
||||||
beganoa
|
alergenoak {
|
||||||
izena
|
apioa
|
||||||
prezioa
|
arraina
|
||||||
alergenoak {
|
arrautzak
|
||||||
apioa
|
esnekiak
|
||||||
arraina
|
fruituLehorrak
|
||||||
arrautzak
|
glutena
|
||||||
esnekiak
|
kakahueteak
|
||||||
fruituLehorrak
|
krustazeoak
|
||||||
glutena
|
lupinuak
|
||||||
kakahueteak
|
moluskuak
|
||||||
krustazeoak
|
sesamoa
|
||||||
lupinuak
|
soja
|
||||||
moluskuak
|
sulfitoak
|
||||||
sesamoa
|
ziapea
|
||||||
soja
|
}
|
||||||
sulfitoak
|
}
|
||||||
ziapea
|
tostadak {
|
||||||
}
|
id
|
||||||
}
|
ekologikoa
|
||||||
tostadak {
|
beganoa
|
||||||
id
|
izena
|
||||||
ekologikoa
|
prezioa
|
||||||
beganoa
|
alergenoak {
|
||||||
izena
|
apioa
|
||||||
prezioa
|
arraina
|
||||||
alergenoak {
|
arrautzak
|
||||||
apioa
|
esnekiak
|
||||||
arraina
|
fruituLehorrak
|
||||||
arrautzak
|
glutena
|
||||||
esnekiak
|
kakahueteak
|
||||||
fruituLehorrak
|
krustazeoak
|
||||||
glutena
|
lupinuak
|
||||||
kakahueteak
|
moluskuak
|
||||||
krustazeoak
|
sesamoa
|
||||||
lupinuak
|
soja
|
||||||
moluskuak
|
sulfitoak
|
||||||
sesamoa
|
ziapea
|
||||||
soja
|
}
|
||||||
sulfitoak
|
}
|
||||||
ziapea
|
konboak {
|
||||||
}
|
id
|
||||||
}
|
ekologikoa
|
||||||
konboak {
|
beganoa
|
||||||
id
|
izena
|
||||||
ekologikoa
|
prezioa
|
||||||
beganoa
|
alergenoak {
|
||||||
izena
|
apioa
|
||||||
prezioa
|
arraina
|
||||||
alergenoak {
|
arrautzak
|
||||||
apioa
|
esnekiak
|
||||||
arraina
|
fruituLehorrak
|
||||||
arrautzak
|
glutena
|
||||||
esnekiak
|
kakahueteak
|
||||||
fruituLehorrak
|
krustazeoak
|
||||||
glutena
|
lupinuak
|
||||||
kakahueteak
|
moluskuak
|
||||||
krustazeoak
|
sesamoa
|
||||||
lupinuak
|
soja
|
||||||
moluskuak
|
sulfitoak
|
||||||
sesamoa
|
ziapea
|
||||||
soja
|
|
||||||
sulfitoak
|
|
||||||
ziapea
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user