Sanferminak kentzen ditu (#9)
* chore: Strapi bertsioa igotzen du * chore: Gatsby eguneratzen du * chore: build-a konpontzen du * feat: Sanferminak kentzen ditu * feat: rimraf sartzen du * chore: build-a ngrokekin lotzen du * chore: karta eguneratzen du * feat: karta eguneratzen du
This commit is contained in:
21
back/.strapi/client/app.js
Normal file
21
back/.strapi/client/app.js
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
/**
|
||||||
|
* This file was automatically generated by Strapi.
|
||||||
|
* Any modifications made will be discarded.
|
||||||
|
*/
|
||||||
|
import graphql from "@strapi/plugin-graphql/strapi-admin";
|
||||||
|
import i18N from "@strapi/plugin-i18n/strapi-admin";
|
||||||
|
import usersPermissions from "@strapi/plugin-users-permissions/strapi-admin";
|
||||||
|
import netlifyDeployments from "strapi-plugin-netlify-deployments/strapi-admin";
|
||||||
|
import { renderAdmin } from "@strapi/strapi/admin";
|
||||||
|
|
||||||
|
import customisations from "../../src/admin/app.js";
|
||||||
|
|
||||||
|
renderAdmin(document.getElementById("strapi"), {
|
||||||
|
customisations,
|
||||||
|
plugins: {
|
||||||
|
graphql: graphql,
|
||||||
|
i18n: i18N,
|
||||||
|
"users-permissions": usersPermissions,
|
||||||
|
"netlify-deployments": netlifyDeployments,
|
||||||
|
},
|
||||||
|
});
|
||||||
62
back/.strapi/client/index.html
Normal file
62
back/.strapi/client/index.html
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<!--
|
||||||
|
This file was automatically generated by Strapi.
|
||||||
|
Any modifications made will be discarded.
|
||||||
|
-->
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta
|
||||||
|
name="viewport"
|
||||||
|
content="width=device-width, initial-scale=1, viewport-fit=cover"
|
||||||
|
/>
|
||||||
|
<meta name="robots" content="noindex" />
|
||||||
|
<meta name="referrer" content="same-origin" />
|
||||||
|
<title>Strapi Admin</title>
|
||||||
|
<style>
|
||||||
|
html,
|
||||||
|
body,
|
||||||
|
#strapi {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="strapi"></div>
|
||||||
|
<noscript
|
||||||
|
><div class="strapi--root">
|
||||||
|
<div class="strapi--no-js">
|
||||||
|
<style type="text/css">
|
||||||
|
.strapi--root {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.strapi--no-js {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
text-align: center;
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<h1>JavaScript disabled</h1>
|
||||||
|
<p>
|
||||||
|
Please
|
||||||
|
<a href="https://www.enable-javascript.com/">enable JavaScript</a>
|
||||||
|
in your browser and reload the page to proceed.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div></noscript
|
||||||
|
>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Binary file not shown.
@@ -1,34 +1,34 @@
|
|||||||
{
|
{
|
||||||
"name": "back",
|
"name": "back",
|
||||||
"private": true,
|
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
|
"private": true,
|
||||||
"description": "Laba webgunerako kudeaketa",
|
"description": "Laba webgunerako kudeaketa",
|
||||||
"scripts": {
|
"license": "MIT",
|
||||||
"develop": "strapi develop",
|
|
||||||
"start": "strapi start",
|
|
||||||
"build": "strapi build",
|
|
||||||
"strapi": "strapi"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@strapi/plugin-graphql": "^4.11.3",
|
|
||||||
"@strapi/plugin-i18n": "4.11.3",
|
|
||||||
"@strapi/plugin-users-permissions": "4.11.3",
|
|
||||||
"@strapi/provider-upload-cloudinary": "^4.11.3",
|
|
||||||
"@strapi/strapi": "4.11.3",
|
|
||||||
"pg": "^8.11.1",
|
|
||||||
"pg-connection-string": "^2.6.1",
|
|
||||||
"sqlite3": "5.1.6",
|
|
||||||
"strapi-plugin-netlify-deployments": "^2.0.0"
|
|
||||||
},
|
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Laba Sarea"
|
"name": "Laba Sarea"
|
||||||
},
|
},
|
||||||
|
"scripts": {
|
||||||
|
"build": "strapi build",
|
||||||
|
"develop": "strapi develop",
|
||||||
|
"start": "strapi start",
|
||||||
|
"strapi": "strapi"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@strapi/plugin-graphql": "^4.15.5",
|
||||||
|
"@strapi/plugin-i18n": "4.15.5",
|
||||||
|
"@strapi/plugin-users-permissions": "4.15.5",
|
||||||
|
"@strapi/provider-upload-cloudinary": "^4.15.5",
|
||||||
|
"@strapi/strapi": "4.15.5",
|
||||||
|
"pg": "^8.11.3",
|
||||||
|
"pg-connection-string": "^2.6.2",
|
||||||
|
"react": "^18.0.0",
|
||||||
|
"react-dom": "^18.0.0",
|
||||||
|
"react-router-dom": "^5.2.0",
|
||||||
|
"sqlite3": "5.1.6",
|
||||||
|
"strapi-plugin-netlify-deployments": "^2.0.2",
|
||||||
|
"styled-components": "^5.2.1"
|
||||||
|
},
|
||||||
"strapi": {
|
"strapi": {
|
||||||
"uuid": "b0fa2552-2961-4886-8673-c2d7fe07b8a1"
|
"uuid": "b0fa2552-2961-4886-8673-c2d7fe07b8a1"
|
||||||
},
|
}
|
||||||
"engines": {
|
|
||||||
"node": ">=12.x.x <=16.x.x",
|
|
||||||
"npm": ">=6.0.0"
|
|
||||||
},
|
|
||||||
"license": "MIT"
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
{
|
|
||||||
"kind": "singleType",
|
|
||||||
"collectionName": "sanferminaks",
|
|
||||||
"info": {
|
|
||||||
"singularName": "sanferminak",
|
|
||||||
"pluralName": "sanferminaks",
|
|
||||||
"displayName": "Sanferminak"
|
|
||||||
},
|
|
||||||
"options": {
|
|
||||||
"draftAndPublish": true
|
|
||||||
},
|
|
||||||
"pluginOptions": {},
|
|
||||||
"attributes": {
|
|
||||||
"datu_orokorrak": {
|
|
||||||
"displayName": "Datu orokorrak",
|
|
||||||
"type": "component",
|
|
||||||
"repeatable": false,
|
|
||||||
"component": "orokorra.datu-orokorrak"
|
|
||||||
},
|
|
||||||
"edukia": {
|
|
||||||
"type": "richtext"
|
|
||||||
},
|
|
||||||
"sf_egunak": {
|
|
||||||
"type": "component",
|
|
||||||
"repeatable": true,
|
|
||||||
"component": "hasiera.sf-eguna"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* sanferminak controller
|
|
||||||
*/
|
|
||||||
|
|
||||||
const { createCoreController } = require('@strapi/strapi').factories;
|
|
||||||
|
|
||||||
module.exports = createCoreController('api::sanferminak.sanferminak');
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* sanferminak router
|
|
||||||
*/
|
|
||||||
|
|
||||||
const { createCoreRouter } = require('@strapi/strapi').factories;
|
|
||||||
|
|
||||||
module.exports = createCoreRouter('api::sanferminak.sanferminak');
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* sanferminak service
|
|
||||||
*/
|
|
||||||
|
|
||||||
const { createCoreService } = require('@strapi/strapi').factories;
|
|
||||||
|
|
||||||
module.exports = createCoreService('api::sanferminak.sanferminak');
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
"kind": "collectionType",
|
|
||||||
"collectionName": "sf_ekitaldias",
|
|
||||||
"info": {
|
|
||||||
"singularName": "sf-ekitaldia",
|
|
||||||
"pluralName": "sf-ekitaldias",
|
|
||||||
"displayName": "SF-ekitaldia",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"options": {
|
|
||||||
"draftAndPublish": true
|
|
||||||
},
|
|
||||||
"pluginOptions": {},
|
|
||||||
"attributes": {
|
|
||||||
"hitzordua": {
|
|
||||||
"type": "datetime"
|
|
||||||
},
|
|
||||||
"izenburua": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* sf-ekitaldia controller
|
|
||||||
*/
|
|
||||||
|
|
||||||
const { createCoreController } = require('@strapi/strapi').factories;
|
|
||||||
|
|
||||||
module.exports = createCoreController('api::sf-ekitaldia.sf-ekitaldia');
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* sf-ekitaldia router
|
|
||||||
*/
|
|
||||||
|
|
||||||
const { createCoreRouter } = require('@strapi/strapi').factories;
|
|
||||||
|
|
||||||
module.exports = createCoreRouter('api::sf-ekitaldia.sf-ekitaldia');
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* sf-ekitaldia service
|
|
||||||
*/
|
|
||||||
|
|
||||||
const { createCoreService } = require('@strapi/strapi').factories;
|
|
||||||
|
|
||||||
module.exports = createCoreService('api::sf-ekitaldia.sf-ekitaldia');
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
{
|
|
||||||
"collectionName": "components_hasiera_sf_egunas",
|
|
||||||
"info": {
|
|
||||||
"displayName": "SF-eguna",
|
|
||||||
"icon": "alien",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"options": {},
|
|
||||||
"attributes": {
|
|
||||||
"ekitaldi_nagusia": {
|
|
||||||
"type": "relation",
|
|
||||||
"relation": "oneToOne",
|
|
||||||
"target": "api::sf-ekitaldia.sf-ekitaldia"
|
|
||||||
},
|
|
||||||
"eguna": {
|
|
||||||
"type": "date"
|
|
||||||
},
|
|
||||||
"atzealde_irudia": {
|
|
||||||
"allowedTypes": [
|
|
||||||
"images"
|
|
||||||
],
|
|
||||||
"type": "media",
|
|
||||||
"multiple": false
|
|
||||||
},
|
|
||||||
"kartela": {
|
|
||||||
"allowedTypes": [
|
|
||||||
"images"
|
|
||||||
],
|
|
||||||
"type": "media",
|
|
||||||
"multiple": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
104
back/types/generated/components.d.ts
vendored
Normal file
104
back/types/generated/components.d.ts
vendored
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
import type { Schema, Attribute } from '@strapi/strapi';
|
||||||
|
|
||||||
|
export interface KafetegiaAlergenoa extends Schema.Component {
|
||||||
|
collectionName: 'components_kafetegia_alergenoas';
|
||||||
|
info: {
|
||||||
|
displayName: 'alergenoa';
|
||||||
|
icon: 'cat';
|
||||||
|
description: '';
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
esnekiak: Attribute.Boolean &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.DefaultTo<false>;
|
||||||
|
arrautzak: Attribute.Boolean &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.DefaultTo<false>;
|
||||||
|
glutena: Attribute.Boolean &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.DefaultTo<false>;
|
||||||
|
moluskuak: Attribute.Boolean &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.DefaultTo<false>;
|
||||||
|
krustazeoak: Attribute.Boolean &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.DefaultTo<false>;
|
||||||
|
arraina: Attribute.Boolean &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.DefaultTo<false>;
|
||||||
|
lupinuak: Attribute.Boolean &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.DefaultTo<false>;
|
||||||
|
fruituLehorrak: Attribute.Boolean &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.DefaultTo<false>;
|
||||||
|
kakahueteak: Attribute.Boolean &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.DefaultTo<false>;
|
||||||
|
sesamoa: Attribute.Boolean &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.DefaultTo<false>;
|
||||||
|
soja: Attribute.Boolean & Attribute.Required & Attribute.DefaultTo<false>;
|
||||||
|
sulfitoak: Attribute.Boolean &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.DefaultTo<false>;
|
||||||
|
apioa: Attribute.Boolean & Attribute.Required & Attribute.DefaultTo<false>;
|
||||||
|
ziapea: Attribute.Boolean & Attribute.Required & Attribute.DefaultTo<false>;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface KafetegiaEdaria extends Schema.Component {
|
||||||
|
collectionName: 'components_kafetegia_edarias';
|
||||||
|
info: {
|
||||||
|
displayName: 'produktua';
|
||||||
|
icon: 'coffee';
|
||||||
|
description: '';
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
beganoa: Attribute.Boolean &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.DefaultTo<false>;
|
||||||
|
ekologikoa: Attribute.Boolean &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.DefaultTo<false>;
|
||||||
|
prezioa: Attribute.Decimal & Attribute.Required & Attribute.DefaultTo<0>;
|
||||||
|
izena: Attribute.String & Attribute.Required;
|
||||||
|
alergenoak: Attribute.Component<'kafetegia.alergenoa'> & Attribute.Required;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface OrokorraDatuOrokorrak extends Schema.Component {
|
||||||
|
collectionName: 'components_orokorra_datu_orokorraks';
|
||||||
|
info: {
|
||||||
|
displayName: 'Datu orokorrak';
|
||||||
|
icon: 'house';
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
izenburua: Attribute.String;
|
||||||
|
deskribapena: Attribute.Text;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface OrokorraHelbidea extends Schema.Component {
|
||||||
|
collectionName: 'components_helbidea_helbideas';
|
||||||
|
info: {
|
||||||
|
displayName: 'helbidea';
|
||||||
|
icon: 'home';
|
||||||
|
description: '';
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
lehenLerroa: Attribute.String;
|
||||||
|
bigarrenLerroa: Attribute.String;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module '@strapi/types' {
|
||||||
|
export module Shared {
|
||||||
|
export interface Components {
|
||||||
|
'kafetegia.alergenoa': KafetegiaAlergenoa;
|
||||||
|
'kafetegia.edaria': KafetegiaEdaria;
|
||||||
|
'orokorra.datu-orokorrak': OrokorraDatuOrokorrak;
|
||||||
|
'orokorra.helbidea': OrokorraHelbidea;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
839
back/types/generated/contentTypes.d.ts
vendored
Normal file
839
back/types/generated/contentTypes.d.ts
vendored
Normal file
@@ -0,0 +1,839 @@
|
|||||||
|
import type { Schema, Attribute } from '@strapi/strapi';
|
||||||
|
|
||||||
|
export interface AdminPermission extends Schema.CollectionType {
|
||||||
|
collectionName: 'admin_permissions';
|
||||||
|
info: {
|
||||||
|
name: 'Permission';
|
||||||
|
description: '';
|
||||||
|
singularName: 'permission';
|
||||||
|
pluralName: 'permissions';
|
||||||
|
displayName: 'Permission';
|
||||||
|
};
|
||||||
|
pluginOptions: {
|
||||||
|
'content-manager': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
'content-type-builder': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
action: Attribute.String &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 1;
|
||||||
|
}>;
|
||||||
|
actionParameters: Attribute.JSON & Attribute.DefaultTo<{}>;
|
||||||
|
subject: Attribute.String &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 1;
|
||||||
|
}>;
|
||||||
|
properties: Attribute.JSON & Attribute.DefaultTo<{}>;
|
||||||
|
conditions: Attribute.JSON & Attribute.DefaultTo<[]>;
|
||||||
|
role: Attribute.Relation<'admin::permission', 'manyToOne', 'admin::role'>;
|
||||||
|
createdAt: Attribute.DateTime;
|
||||||
|
updatedAt: Attribute.DateTime;
|
||||||
|
createdBy: Attribute.Relation<
|
||||||
|
'admin::permission',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
updatedBy: Attribute.Relation<
|
||||||
|
'admin::permission',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AdminUser extends Schema.CollectionType {
|
||||||
|
collectionName: 'admin_users';
|
||||||
|
info: {
|
||||||
|
name: 'User';
|
||||||
|
description: '';
|
||||||
|
singularName: 'user';
|
||||||
|
pluralName: 'users';
|
||||||
|
displayName: 'User';
|
||||||
|
};
|
||||||
|
pluginOptions: {
|
||||||
|
'content-manager': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
'content-type-builder': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
firstname: Attribute.String &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 1;
|
||||||
|
}>;
|
||||||
|
lastname: Attribute.String &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 1;
|
||||||
|
}>;
|
||||||
|
username: Attribute.String;
|
||||||
|
email: Attribute.Email &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.Private &
|
||||||
|
Attribute.Unique &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 6;
|
||||||
|
}>;
|
||||||
|
password: Attribute.Password &
|
||||||
|
Attribute.Private &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 6;
|
||||||
|
}>;
|
||||||
|
resetPasswordToken: Attribute.String & Attribute.Private;
|
||||||
|
registrationToken: Attribute.String & Attribute.Private;
|
||||||
|
isActive: Attribute.Boolean &
|
||||||
|
Attribute.Private &
|
||||||
|
Attribute.DefaultTo<false>;
|
||||||
|
roles: Attribute.Relation<'admin::user', 'manyToMany', 'admin::role'> &
|
||||||
|
Attribute.Private;
|
||||||
|
blocked: Attribute.Boolean & Attribute.Private & Attribute.DefaultTo<false>;
|
||||||
|
preferedLanguage: Attribute.String;
|
||||||
|
createdAt: Attribute.DateTime;
|
||||||
|
updatedAt: Attribute.DateTime;
|
||||||
|
createdBy: Attribute.Relation<'admin::user', 'oneToOne', 'admin::user'> &
|
||||||
|
Attribute.Private;
|
||||||
|
updatedBy: Attribute.Relation<'admin::user', 'oneToOne', 'admin::user'> &
|
||||||
|
Attribute.Private;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AdminRole extends Schema.CollectionType {
|
||||||
|
collectionName: 'admin_roles';
|
||||||
|
info: {
|
||||||
|
name: 'Role';
|
||||||
|
description: '';
|
||||||
|
singularName: 'role';
|
||||||
|
pluralName: 'roles';
|
||||||
|
displayName: 'Role';
|
||||||
|
};
|
||||||
|
pluginOptions: {
|
||||||
|
'content-manager': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
'content-type-builder': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
name: Attribute.String &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.Unique &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 1;
|
||||||
|
}>;
|
||||||
|
code: Attribute.String &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.Unique &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 1;
|
||||||
|
}>;
|
||||||
|
description: Attribute.String;
|
||||||
|
users: Attribute.Relation<'admin::role', 'manyToMany', 'admin::user'>;
|
||||||
|
permissions: Attribute.Relation<
|
||||||
|
'admin::role',
|
||||||
|
'oneToMany',
|
||||||
|
'admin::permission'
|
||||||
|
>;
|
||||||
|
createdAt: Attribute.DateTime;
|
||||||
|
updatedAt: Attribute.DateTime;
|
||||||
|
createdBy: Attribute.Relation<'admin::role', 'oneToOne', 'admin::user'> &
|
||||||
|
Attribute.Private;
|
||||||
|
updatedBy: Attribute.Relation<'admin::role', 'oneToOne', 'admin::user'> &
|
||||||
|
Attribute.Private;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AdminApiToken extends Schema.CollectionType {
|
||||||
|
collectionName: 'strapi_api_tokens';
|
||||||
|
info: {
|
||||||
|
name: 'Api Token';
|
||||||
|
singularName: 'api-token';
|
||||||
|
pluralName: 'api-tokens';
|
||||||
|
displayName: 'Api Token';
|
||||||
|
description: '';
|
||||||
|
};
|
||||||
|
pluginOptions: {
|
||||||
|
'content-manager': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
'content-type-builder': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
name: Attribute.String &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.Unique &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 1;
|
||||||
|
}>;
|
||||||
|
description: Attribute.String &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 1;
|
||||||
|
}> &
|
||||||
|
Attribute.DefaultTo<''>;
|
||||||
|
type: Attribute.Enumeration<['read-only', 'full-access', 'custom']> &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.DefaultTo<'read-only'>;
|
||||||
|
accessKey: Attribute.String &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 1;
|
||||||
|
}>;
|
||||||
|
lastUsedAt: Attribute.DateTime;
|
||||||
|
permissions: Attribute.Relation<
|
||||||
|
'admin::api-token',
|
||||||
|
'oneToMany',
|
||||||
|
'admin::api-token-permission'
|
||||||
|
>;
|
||||||
|
expiresAt: Attribute.DateTime;
|
||||||
|
lifespan: Attribute.BigInteger;
|
||||||
|
createdAt: Attribute.DateTime;
|
||||||
|
updatedAt: Attribute.DateTime;
|
||||||
|
createdBy: Attribute.Relation<
|
||||||
|
'admin::api-token',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
updatedBy: Attribute.Relation<
|
||||||
|
'admin::api-token',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AdminApiTokenPermission extends Schema.CollectionType {
|
||||||
|
collectionName: 'strapi_api_token_permissions';
|
||||||
|
info: {
|
||||||
|
name: 'API Token Permission';
|
||||||
|
description: '';
|
||||||
|
singularName: 'api-token-permission';
|
||||||
|
pluralName: 'api-token-permissions';
|
||||||
|
displayName: 'API Token Permission';
|
||||||
|
};
|
||||||
|
pluginOptions: {
|
||||||
|
'content-manager': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
'content-type-builder': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
action: Attribute.String &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 1;
|
||||||
|
}>;
|
||||||
|
token: Attribute.Relation<
|
||||||
|
'admin::api-token-permission',
|
||||||
|
'manyToOne',
|
||||||
|
'admin::api-token'
|
||||||
|
>;
|
||||||
|
createdAt: Attribute.DateTime;
|
||||||
|
updatedAt: Attribute.DateTime;
|
||||||
|
createdBy: Attribute.Relation<
|
||||||
|
'admin::api-token-permission',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
updatedBy: Attribute.Relation<
|
||||||
|
'admin::api-token-permission',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AdminTransferToken extends Schema.CollectionType {
|
||||||
|
collectionName: 'strapi_transfer_tokens';
|
||||||
|
info: {
|
||||||
|
name: 'Transfer Token';
|
||||||
|
singularName: 'transfer-token';
|
||||||
|
pluralName: 'transfer-tokens';
|
||||||
|
displayName: 'Transfer Token';
|
||||||
|
description: '';
|
||||||
|
};
|
||||||
|
pluginOptions: {
|
||||||
|
'content-manager': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
'content-type-builder': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
name: Attribute.String &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.Unique &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 1;
|
||||||
|
}>;
|
||||||
|
description: Attribute.String &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 1;
|
||||||
|
}> &
|
||||||
|
Attribute.DefaultTo<''>;
|
||||||
|
accessKey: Attribute.String &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 1;
|
||||||
|
}>;
|
||||||
|
lastUsedAt: Attribute.DateTime;
|
||||||
|
permissions: Attribute.Relation<
|
||||||
|
'admin::transfer-token',
|
||||||
|
'oneToMany',
|
||||||
|
'admin::transfer-token-permission'
|
||||||
|
>;
|
||||||
|
expiresAt: Attribute.DateTime;
|
||||||
|
lifespan: Attribute.BigInteger;
|
||||||
|
createdAt: Attribute.DateTime;
|
||||||
|
updatedAt: Attribute.DateTime;
|
||||||
|
createdBy: Attribute.Relation<
|
||||||
|
'admin::transfer-token',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
updatedBy: Attribute.Relation<
|
||||||
|
'admin::transfer-token',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AdminTransferTokenPermission extends Schema.CollectionType {
|
||||||
|
collectionName: 'strapi_transfer_token_permissions';
|
||||||
|
info: {
|
||||||
|
name: 'Transfer Token Permission';
|
||||||
|
description: '';
|
||||||
|
singularName: 'transfer-token-permission';
|
||||||
|
pluralName: 'transfer-token-permissions';
|
||||||
|
displayName: 'Transfer Token Permission';
|
||||||
|
};
|
||||||
|
pluginOptions: {
|
||||||
|
'content-manager': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
'content-type-builder': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
action: Attribute.String &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 1;
|
||||||
|
}>;
|
||||||
|
token: Attribute.Relation<
|
||||||
|
'admin::transfer-token-permission',
|
||||||
|
'manyToOne',
|
||||||
|
'admin::transfer-token'
|
||||||
|
>;
|
||||||
|
createdAt: Attribute.DateTime;
|
||||||
|
updatedAt: Attribute.DateTime;
|
||||||
|
createdBy: Attribute.Relation<
|
||||||
|
'admin::transfer-token-permission',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
updatedBy: Attribute.Relation<
|
||||||
|
'admin::transfer-token-permission',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PluginUploadFile extends Schema.CollectionType {
|
||||||
|
collectionName: 'files';
|
||||||
|
info: {
|
||||||
|
singularName: 'file';
|
||||||
|
pluralName: 'files';
|
||||||
|
displayName: 'File';
|
||||||
|
description: '';
|
||||||
|
};
|
||||||
|
pluginOptions: {
|
||||||
|
'content-manager': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
'content-type-builder': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
name: Attribute.String & Attribute.Required;
|
||||||
|
alternativeText: Attribute.String;
|
||||||
|
caption: Attribute.String;
|
||||||
|
width: Attribute.Integer;
|
||||||
|
height: Attribute.Integer;
|
||||||
|
formats: Attribute.JSON;
|
||||||
|
hash: Attribute.String & Attribute.Required;
|
||||||
|
ext: Attribute.String;
|
||||||
|
mime: Attribute.String & Attribute.Required;
|
||||||
|
size: Attribute.Decimal & Attribute.Required;
|
||||||
|
url: Attribute.String & Attribute.Required;
|
||||||
|
previewUrl: Attribute.String;
|
||||||
|
provider: Attribute.String & Attribute.Required;
|
||||||
|
provider_metadata: Attribute.JSON;
|
||||||
|
related: Attribute.Relation<'plugin::upload.file', 'morphToMany'>;
|
||||||
|
folder: Attribute.Relation<
|
||||||
|
'plugin::upload.file',
|
||||||
|
'manyToOne',
|
||||||
|
'plugin::upload.folder'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
folderPath: Attribute.String &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.Private &
|
||||||
|
Attribute.SetMinMax<{
|
||||||
|
min: 1;
|
||||||
|
}>;
|
||||||
|
createdAt: Attribute.DateTime;
|
||||||
|
updatedAt: Attribute.DateTime;
|
||||||
|
createdBy: Attribute.Relation<
|
||||||
|
'plugin::upload.file',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
updatedBy: Attribute.Relation<
|
||||||
|
'plugin::upload.file',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PluginUploadFolder extends Schema.CollectionType {
|
||||||
|
collectionName: 'upload_folders';
|
||||||
|
info: {
|
||||||
|
singularName: 'folder';
|
||||||
|
pluralName: 'folders';
|
||||||
|
displayName: 'Folder';
|
||||||
|
};
|
||||||
|
pluginOptions: {
|
||||||
|
'content-manager': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
'content-type-builder': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
name: Attribute.String &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.SetMinMax<{
|
||||||
|
min: 1;
|
||||||
|
}>;
|
||||||
|
pathId: Attribute.Integer & Attribute.Required & Attribute.Unique;
|
||||||
|
parent: Attribute.Relation<
|
||||||
|
'plugin::upload.folder',
|
||||||
|
'manyToOne',
|
||||||
|
'plugin::upload.folder'
|
||||||
|
>;
|
||||||
|
children: Attribute.Relation<
|
||||||
|
'plugin::upload.folder',
|
||||||
|
'oneToMany',
|
||||||
|
'plugin::upload.folder'
|
||||||
|
>;
|
||||||
|
files: Attribute.Relation<
|
||||||
|
'plugin::upload.folder',
|
||||||
|
'oneToMany',
|
||||||
|
'plugin::upload.file'
|
||||||
|
>;
|
||||||
|
path: Attribute.String &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.SetMinMax<{
|
||||||
|
min: 1;
|
||||||
|
}>;
|
||||||
|
createdAt: Attribute.DateTime;
|
||||||
|
updatedAt: Attribute.DateTime;
|
||||||
|
createdBy: Attribute.Relation<
|
||||||
|
'plugin::upload.folder',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
updatedBy: Attribute.Relation<
|
||||||
|
'plugin::upload.folder',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PluginI18NLocale extends Schema.CollectionType {
|
||||||
|
collectionName: 'i18n_locale';
|
||||||
|
info: {
|
||||||
|
singularName: 'locale';
|
||||||
|
pluralName: 'locales';
|
||||||
|
collectionName: 'locales';
|
||||||
|
displayName: 'Locale';
|
||||||
|
description: '';
|
||||||
|
};
|
||||||
|
options: {
|
||||||
|
draftAndPublish: false;
|
||||||
|
};
|
||||||
|
pluginOptions: {
|
||||||
|
'content-manager': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
'content-type-builder': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
name: Attribute.String &
|
||||||
|
Attribute.SetMinMax<{
|
||||||
|
min: 1;
|
||||||
|
max: 50;
|
||||||
|
}>;
|
||||||
|
code: Attribute.String & Attribute.Unique;
|
||||||
|
createdAt: Attribute.DateTime;
|
||||||
|
updatedAt: Attribute.DateTime;
|
||||||
|
createdBy: Attribute.Relation<
|
||||||
|
'plugin::i18n.locale',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
updatedBy: Attribute.Relation<
|
||||||
|
'plugin::i18n.locale',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PluginUsersPermissionsPermission
|
||||||
|
extends Schema.CollectionType {
|
||||||
|
collectionName: 'up_permissions';
|
||||||
|
info: {
|
||||||
|
name: 'permission';
|
||||||
|
description: '';
|
||||||
|
singularName: 'permission';
|
||||||
|
pluralName: 'permissions';
|
||||||
|
displayName: 'Permission';
|
||||||
|
};
|
||||||
|
pluginOptions: {
|
||||||
|
'content-manager': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
'content-type-builder': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
action: Attribute.String & Attribute.Required;
|
||||||
|
role: Attribute.Relation<
|
||||||
|
'plugin::users-permissions.permission',
|
||||||
|
'manyToOne',
|
||||||
|
'plugin::users-permissions.role'
|
||||||
|
>;
|
||||||
|
createdAt: Attribute.DateTime;
|
||||||
|
updatedAt: Attribute.DateTime;
|
||||||
|
createdBy: Attribute.Relation<
|
||||||
|
'plugin::users-permissions.permission',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
updatedBy: Attribute.Relation<
|
||||||
|
'plugin::users-permissions.permission',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PluginUsersPermissionsRole extends Schema.CollectionType {
|
||||||
|
collectionName: 'up_roles';
|
||||||
|
info: {
|
||||||
|
name: 'role';
|
||||||
|
description: '';
|
||||||
|
singularName: 'role';
|
||||||
|
pluralName: 'roles';
|
||||||
|
displayName: 'Role';
|
||||||
|
};
|
||||||
|
pluginOptions: {
|
||||||
|
'content-manager': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
'content-type-builder': {
|
||||||
|
visible: false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
name: Attribute.String &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 3;
|
||||||
|
}>;
|
||||||
|
description: Attribute.String;
|
||||||
|
type: Attribute.String & Attribute.Unique;
|
||||||
|
permissions: Attribute.Relation<
|
||||||
|
'plugin::users-permissions.role',
|
||||||
|
'oneToMany',
|
||||||
|
'plugin::users-permissions.permission'
|
||||||
|
>;
|
||||||
|
users: Attribute.Relation<
|
||||||
|
'plugin::users-permissions.role',
|
||||||
|
'oneToMany',
|
||||||
|
'plugin::users-permissions.user'
|
||||||
|
>;
|
||||||
|
createdAt: Attribute.DateTime;
|
||||||
|
updatedAt: Attribute.DateTime;
|
||||||
|
createdBy: Attribute.Relation<
|
||||||
|
'plugin::users-permissions.role',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
updatedBy: Attribute.Relation<
|
||||||
|
'plugin::users-permissions.role',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PluginUsersPermissionsUser extends Schema.CollectionType {
|
||||||
|
collectionName: 'up_users';
|
||||||
|
info: {
|
||||||
|
name: 'user';
|
||||||
|
description: '';
|
||||||
|
singularName: 'user';
|
||||||
|
pluralName: 'users';
|
||||||
|
displayName: 'User';
|
||||||
|
};
|
||||||
|
options: {
|
||||||
|
draftAndPublish: false;
|
||||||
|
timestamps: true;
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
username: Attribute.String &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.Unique &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 3;
|
||||||
|
}>;
|
||||||
|
email: Attribute.Email &
|
||||||
|
Attribute.Required &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 6;
|
||||||
|
}>;
|
||||||
|
provider: Attribute.String;
|
||||||
|
password: Attribute.Password &
|
||||||
|
Attribute.Private &
|
||||||
|
Attribute.SetMinMaxLength<{
|
||||||
|
minLength: 6;
|
||||||
|
}>;
|
||||||
|
resetPasswordToken: Attribute.String & Attribute.Private;
|
||||||
|
confirmationToken: Attribute.String & Attribute.Private;
|
||||||
|
confirmed: Attribute.Boolean & Attribute.DefaultTo<false>;
|
||||||
|
blocked: Attribute.Boolean & Attribute.DefaultTo<false>;
|
||||||
|
role: Attribute.Relation<
|
||||||
|
'plugin::users-permissions.user',
|
||||||
|
'manyToOne',
|
||||||
|
'plugin::users-permissions.role'
|
||||||
|
>;
|
||||||
|
createdAt: Attribute.DateTime;
|
||||||
|
updatedAt: Attribute.DateTime;
|
||||||
|
createdBy: Attribute.Relation<
|
||||||
|
'plugin::users-permissions.user',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
updatedBy: Attribute.Relation<
|
||||||
|
'plugin::users-permissions.user',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ApiHasieraHasiera extends Schema.SingleType {
|
||||||
|
collectionName: 'hasierak';
|
||||||
|
info: {
|
||||||
|
singularName: 'hasiera';
|
||||||
|
pluralName: 'hasierak';
|
||||||
|
displayName: 'Hasiera';
|
||||||
|
description: '';
|
||||||
|
};
|
||||||
|
options: {
|
||||||
|
draftAndPublish: true;
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
deskribapena: Attribute.Text;
|
||||||
|
izenburua: Attribute.String;
|
||||||
|
edukia: Attribute.RichText;
|
||||||
|
createdAt: Attribute.DateTime;
|
||||||
|
updatedAt: Attribute.DateTime;
|
||||||
|
publishedAt: Attribute.DateTime;
|
||||||
|
createdBy: Attribute.Relation<
|
||||||
|
'api::hasiera.hasiera',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
updatedBy: Attribute.Relation<
|
||||||
|
'api::hasiera.hasiera',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ApiKafetegiaKafetegia extends Schema.SingleType {
|
||||||
|
collectionName: 'kafetegiak';
|
||||||
|
info: {
|
||||||
|
singularName: 'kafetegia';
|
||||||
|
pluralName: 'kafetegiak';
|
||||||
|
displayName: 'Kafetegia';
|
||||||
|
description: '';
|
||||||
|
};
|
||||||
|
options: {
|
||||||
|
draftAndPublish: true;
|
||||||
|
};
|
||||||
|
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>;
|
||||||
|
createdAt: Attribute.DateTime;
|
||||||
|
updatedAt: Attribute.DateTime;
|
||||||
|
publishedAt: Attribute.DateTime;
|
||||||
|
createdBy: Attribute.Relation<
|
||||||
|
'api::kafetegia.kafetegia',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
updatedBy: Attribute.Relation<
|
||||||
|
'api::kafetegia.kafetegia',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ApiLegeOharraLegeOharra extends Schema.SingleType {
|
||||||
|
collectionName: 'lege_oharrak';
|
||||||
|
info: {
|
||||||
|
singularName: 'lege-oharra';
|
||||||
|
pluralName: 'lege-oharrak';
|
||||||
|
displayName: 'Lege Oharra';
|
||||||
|
description: '';
|
||||||
|
};
|
||||||
|
options: {
|
||||||
|
draftAndPublish: true;
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
izenburua: Attribute.String & Attribute.Required;
|
||||||
|
edukia: Attribute.RichText & Attribute.Required;
|
||||||
|
createdAt: Attribute.DateTime;
|
||||||
|
updatedAt: Attribute.DateTime;
|
||||||
|
publishedAt: Attribute.DateTime;
|
||||||
|
createdBy: Attribute.Relation<
|
||||||
|
'api::lege-oharra.lege-oharra',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
updatedBy: Attribute.Relation<
|
||||||
|
'api::lege-oharra.lege-oharra',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ApiPribatutasunPolitikaPribatutasunPolitika
|
||||||
|
extends Schema.SingleType {
|
||||||
|
collectionName: 'pribatutasun_politikak';
|
||||||
|
info: {
|
||||||
|
singularName: 'pribatutasun-politika';
|
||||||
|
pluralName: 'pribatutasun-politikak';
|
||||||
|
displayName: 'Pribatutasun politika';
|
||||||
|
};
|
||||||
|
options: {
|
||||||
|
draftAndPublish: true;
|
||||||
|
};
|
||||||
|
attributes: {
|
||||||
|
izenburua: Attribute.String;
|
||||||
|
edukia: Attribute.RichText;
|
||||||
|
createdAt: Attribute.DateTime;
|
||||||
|
updatedAt: Attribute.DateTime;
|
||||||
|
publishedAt: Attribute.DateTime;
|
||||||
|
createdBy: Attribute.Relation<
|
||||||
|
'api::pribatutasun-politika.pribatutasun-politika',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
updatedBy: Attribute.Relation<
|
||||||
|
'api::pribatutasun-politika.pribatutasun-politika',
|
||||||
|
'oneToOne',
|
||||||
|
'admin::user'
|
||||||
|
> &
|
||||||
|
Attribute.Private;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module '@strapi/types' {
|
||||||
|
export module Shared {
|
||||||
|
export interface ContentTypes {
|
||||||
|
'admin::permission': AdminPermission;
|
||||||
|
'admin::user': AdminUser;
|
||||||
|
'admin::role': AdminRole;
|
||||||
|
'admin::api-token': AdminApiToken;
|
||||||
|
'admin::api-token-permission': AdminApiTokenPermission;
|
||||||
|
'admin::transfer-token': AdminTransferToken;
|
||||||
|
'admin::transfer-token-permission': AdminTransferTokenPermission;
|
||||||
|
'plugin::upload.file': PluginUploadFile;
|
||||||
|
'plugin::upload.folder': PluginUploadFolder;
|
||||||
|
'plugin::i18n.locale': PluginI18NLocale;
|
||||||
|
'plugin::users-permissions.permission': PluginUsersPermissionsPermission;
|
||||||
|
'plugin::users-permissions.role': PluginUsersPermissionsRole;
|
||||||
|
'plugin::users-permissions.user': PluginUsersPermissionsUser;
|
||||||
|
'api::hasiera.hasiera': ApiHasieraHasiera;
|
||||||
|
'api::kafetegia.kafetegia': ApiKafetegiaKafetegia;
|
||||||
|
'api::lege-oharra.lege-oharra': ApiLegeOharraLegeOharra;
|
||||||
|
'api::pribatutasun-politika.pribatutasun-politika': ApiPribatutasunPolitikaPribatutasunPolitika;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
GATSBY_ROOT_URL=http://localhost:8000
|
GATSBY_ROOT_URL=http://127.0.0.1:8000
|
||||||
API_URL=http://localhost:1337
|
API_URL=http://127.0.0.1:1337
|
||||||
STRAPI_GRAPHQL_TOKEN=307442ef6911b9692d6946bf6aac5d910795b56d92063e8a58ace14e31c8ac6ad7b64480ba591689abbad02758da9562e423e1ef1af8b9f303612ffb63f94f567060ea9f690d9d14bce676bdcf985a2a8c95643963ffd6f593490bb4b4ccae51572cbf315e7c823d0f368de2fe113b113986e9943df1a81e6e4228b82cc7cead
|
STRAPI_GRAPHQL_TOKEN=307442ef6911b9692d6946bf6aac5d910795b56d92063e8a58ace14e31c8ac6ad7b64480ba591689abbad02758da9562e423e1ef1af8b9f303612ffb63f94f567060ea9f690d9d14bce676bdcf985a2a8c95643963ffd6f593490bb4b4ccae51572cbf315e7c823d0f368de2fe113b113986e9943df1a81e6e4228b82cc7cead
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
GATSBY_ROOT_URL=https://laba-webgunea.netlify.app
|
GATSBY_ROOT_URL=https://laba-webgunea.netlify.app
|
||||||
API_URL=https://laba-webgunea.up.railway.app
|
API_URL=https://vervet-big-dassie.ngrok-free.app
|
||||||
|
|
||||||
|
|||||||
1
front/.gitignore
vendored
1
front/.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
.cache/
|
.cache/
|
||||||
public
|
public
|
||||||
|
.env
|
||||||
|
|||||||
@@ -16,13 +16,12 @@ module.exports = {
|
|||||||
resolve: 'gatsby-source-strapi-graphql',
|
resolve: 'gatsby-source-strapi-graphql',
|
||||||
options: {
|
options: {
|
||||||
apiURL: process.env.API_URL,
|
apiURL: process.env.API_URL,
|
||||||
collectionTypes: ['sf-ekitaldia'],
|
collectionTypes: [],
|
||||||
singleTypes: [
|
singleTypes: [
|
||||||
'hasiera',
|
'hasiera',
|
||||||
'kafetegia',
|
'kafetegia',
|
||||||
'lege-oharra',
|
'lege-oharra',
|
||||||
'pribatutasun-politika',
|
'pribatutasun-politika',
|
||||||
'sanferminak',
|
|
||||||
],
|
],
|
||||||
contentTypes: [],
|
contentTypes: [],
|
||||||
// Enable/disable cache.
|
// Enable/disable cache.
|
||||||
|
|||||||
@@ -17,37 +17,37 @@
|
|||||||
"prettier": "prettier . --write"
|
"prettier": "prettier . --write"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@strapi/plugin-graphql": "^4.1.12",
|
"@strapi/plugin-graphql": "^4.15.5",
|
||||||
"@types/styled-components": "^5.1.20",
|
"@types/styled-components": "^5.1.34",
|
||||||
"babel-plugin-styled-components": "^2.0.2",
|
"babel-plugin-styled-components": "^2.1.4",
|
||||||
"dayjs": "^1.11.9",
|
"dayjs": "^1.11.10",
|
||||||
"gatsby": "^4.5.2",
|
"gatsby": "^5.12.11",
|
||||||
"gatsby-plugin-image": "^2.5.1",
|
"gatsby-plugin-image": "^3.12.3",
|
||||||
"gatsby-plugin-manifest": "^4.5.1",
|
"gatsby-plugin-manifest": "^5.12.3",
|
||||||
"gatsby-plugin-offline": "^5.5.2",
|
"gatsby-plugin-offline": "^6.12.3",
|
||||||
"gatsby-plugin-react-helmet": "^5.5.0",
|
"gatsby-plugin-react-helmet": "^6.12.0",
|
||||||
"gatsby-plugin-react-svg": "^3.1.0",
|
"gatsby-plugin-react-svg": "^3.3.0",
|
||||||
"gatsby-plugin-sharp": "^4.5.1",
|
"gatsby-plugin-sharp": "^5.12.3",
|
||||||
"gatsby-plugin-sitemap": "^5.5.0",
|
"gatsby-plugin-sitemap": "^6.12.3",
|
||||||
"gatsby-plugin-styled-components": "^5.5.0",
|
"gatsby-plugin-styled-components": "^6.12.0",
|
||||||
"gatsby-plugin-webfonts": "^2.2.1",
|
"gatsby-plugin-webfonts": "^2.3.2",
|
||||||
"gatsby-source-filesystem": "^4.5.1",
|
"gatsby-source-filesystem": "^5.12.1",
|
||||||
"gatsby-source-strapi-graphql": "^4.6.2",
|
"gatsby-source-strapi-graphql": "^6.1.2",
|
||||||
"gatsby-transformer-sharp": "^4.5.0",
|
"gatsby-transformer-sharp": "^5.12.3",
|
||||||
"polished": "^4.1.3",
|
"polished": "^4.2.2",
|
||||||
"raw-loader": "^4.0.2",
|
"raw-loader": "^4.0.2",
|
||||||
"react": "^17.0.1",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^17.0.1",
|
"react-dom": "^18.2.0",
|
||||||
"react-helmet": "^6.1.0",
|
"react-helmet": "^6.1.0",
|
||||||
"react-markdown": "^8.0.3",
|
"react-markdown": "^8.0.7",
|
||||||
"react-responsive": "^9.0.0-beta.6",
|
"react-responsive": "^9.0.2",
|
||||||
"remark-gfm": "^3.0.1",
|
"remark-gfm": "^3.0.1",
|
||||||
"styled-components": "^5.3.3"
|
"styled-components": "^6.1.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/react-helmet": "^6.1.5",
|
"@types/react-helmet": "^6.1.11",
|
||||||
"gatsby-source-rest-api": "^0.2.3",
|
"gatsby-source-rest-api": "^0.2.3",
|
||||||
"prettier": "^2.5.1",
|
"prettier": "^3.1.0",
|
||||||
"qs": "^6.10.3"
|
"qs": "^6.11.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,9 +16,6 @@ export const DesktopNabigazioa: React.FC<Props> = ({ atala }) => {
|
|||||||
<Esteka aktiboa={atala === 'hasiera'}>
|
<Esteka aktiboa={atala === 'hasiera'}>
|
||||||
<GainburuLink to="/">Laba gara</GainburuLink>
|
<GainburuLink to="/">Laba gara</GainburuLink>
|
||||||
</Esteka>
|
</Esteka>
|
||||||
<Esteka aktiboa={atala === 'sanferminak'}>
|
|
||||||
<GainburuLink to="/sanferminak">Sanferminak</GainburuLink>
|
|
||||||
</Esteka>
|
|
||||||
<Esteka aktiboa={atala === 'kafetegia'}>
|
<Esteka aktiboa={atala === 'kafetegia'}>
|
||||||
<GainburuLink to="/kafetegia">Dastatu Laba</GainburuLink>
|
<GainburuLink to="/kafetegia">Dastatu Laba</GainburuLink>
|
||||||
</Esteka>
|
</Esteka>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import { KontaktuDatuak } from './KontaktuDatuak';
|
|||||||
import Gezia from '../../assets/gezia.svg';
|
import Gezia from '../../assets/gezia.svg';
|
||||||
import { GainburuLink } from './GainburuLink';
|
import { GainburuLink } from './GainburuLink';
|
||||||
|
|
||||||
export type AtalaName = 'hasiera' | 'kafetegia' | 'sanferminak';
|
export type AtalaName = 'hasiera' | 'kafetegia';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
izenburua?: string;
|
izenburua?: string;
|
||||||
@@ -233,10 +233,6 @@ const Izenburua = styled.h1`
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
function getAtalaBackground(atala?: AtalaName) {
|
function getAtalaBackground(atala?: AtalaName) {
|
||||||
if (atala === 'sanferminak') {
|
|
||||||
return colors.gorria;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (atala === 'hasiera') {
|
if (atala === 'hasiera') {
|
||||||
return colors.morea;
|
return colors.morea;
|
||||||
}
|
}
|
||||||
@@ -249,7 +245,7 @@ function getAtalaBackground(atala?: AtalaName) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getAtalaColor(atala?: AtalaName) {
|
function getAtalaColor(atala?: AtalaName) {
|
||||||
if (atala === 'hasiera' || atala === 'sanferminak') {
|
if (atala === 'hasiera' ) {
|
||||||
return colors.zuria;
|
return colors.zuria;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -261,7 +257,7 @@ function getAtalaColor(atala?: AtalaName) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getAtalaHoverColor(atala?: AtalaName) {
|
function getAtalaHoverColor(atala?: AtalaName) {
|
||||||
if (atala === 'sanferminak' || atala === 'hasiera') {
|
if (atala === 'hasiera') {
|
||||||
return colors.horia;
|
return colors.horia;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,9 +25,6 @@ export const MugikorNabigazioa: React.FC = () => {
|
|||||||
<Esteka>
|
<Esteka>
|
||||||
<Link to="/">Laba gara</Link>
|
<Link to="/">Laba gara</Link>
|
||||||
</Esteka>
|
</Esteka>
|
||||||
<Esteka>
|
|
||||||
<Link to="/sanferminak">Sanferminak</Link>
|
|
||||||
</Esteka>
|
|
||||||
<Esteka>
|
<Esteka>
|
||||||
<Link to="/kafetegia">Dastatu Laba</Link>
|
<Link to="/kafetegia">Dastatu Laba</Link>
|
||||||
</Esteka>
|
</Esteka>
|
||||||
|
|||||||
@@ -1,96 +0,0 @@
|
|||||||
import React from 'react';
|
|
||||||
import { datesUtils } from '../utils/dateUtils';
|
|
||||||
import { SFEguna } from '../pages/sanferminak';
|
|
||||||
import styled from 'styled-components';
|
|
||||||
import { rem } from 'polished';
|
|
||||||
import { font, fontWeight, size } from '../ui/theme';
|
|
||||||
import { graphql, useStaticQuery } from 'gatsby';
|
|
||||||
|
|
||||||
interface DataProps {
|
|
||||||
allStrapiSfEkitaldia: {
|
|
||||||
nodes: {
|
|
||||||
id: string;
|
|
||||||
hitzordua: string;
|
|
||||||
izenburua: string;
|
|
||||||
}[];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export const SFEgunaEdukia: React.FC<{ sfeguna: SFEguna }> = ({ sfeguna }) => {
|
|
||||||
const { eguna, ekitaldi_nagusia } = sfeguna;
|
|
||||||
|
|
||||||
const {
|
|
||||||
allStrapiSfEkitaldia: { nodes: egunak },
|
|
||||||
} = useStaticQuery<DataProps>(graphql`
|
|
||||||
{
|
|
||||||
allStrapiSfEkitaldia {
|
|
||||||
nodes {
|
|
||||||
hitzordua
|
|
||||||
id
|
|
||||||
izenburua
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`);
|
|
||||||
|
|
||||||
const besteEgunak = egunak.filter(
|
|
||||||
ekitaldia =>
|
|
||||||
datesUtils.areSameDay(new Date(ekitaldia.hitzordua), new Date(eguna)) &&
|
|
||||||
ekitaldi_nagusia.id !== ekitaldia.id,
|
|
||||||
);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<SFEgunWrapper>
|
|
||||||
<SFEgunaEguna>Uztailak {new Date(eguna).getDate()}.</SFEgunaEguna>
|
|
||||||
|
|
||||||
<SFEgunaNagusiaOrdua>
|
|
||||||
{datesUtils.getHour(new Date(ekitaldi_nagusia.hitzordua))}
|
|
||||||
</SFEgunaNagusiaOrdua>
|
|
||||||
|
|
||||||
<SFEgunaNagusiaIzenburua>
|
|
||||||
{ekitaldi_nagusia.izenburua}
|
|
||||||
</SFEgunaNagusiaIzenburua>
|
|
||||||
|
|
||||||
{besteEgunak.map(eguna => (
|
|
||||||
<BesteHitzordua key={eguna.id}>
|
|
||||||
{datesUtils.getHour(new Date(eguna.hitzordua))} {eguna.izenburua}
|
|
||||||
</BesteHitzordua>
|
|
||||||
))}
|
|
||||||
</SFEgunWrapper>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const BesteHitzordua = styled.p`
|
|
||||||
${font.base()};
|
|
||||||
font-weight: ${fontWeight.bold};
|
|
||||||
|
|
||||||
margin-top: ${rem(size.base)};
|
|
||||||
`;
|
|
||||||
|
|
||||||
const SFEgunaEguna = styled.p`
|
|
||||||
margin-bottom: ${rem(size.base)};
|
|
||||||
|
|
||||||
${font.large()};
|
|
||||||
`;
|
|
||||||
|
|
||||||
const SFEgunaNagusiaIzenburua = styled.h2`
|
|
||||||
flex-grow: 1;
|
|
||||||
|
|
||||||
${font.large()};
|
|
||||||
|
|
||||||
font-weight: ${fontWeight.bold};
|
|
||||||
text-align: center;
|
|
||||||
`;
|
|
||||||
|
|
||||||
const SFEgunaNagusiaOrdua = styled.p`
|
|
||||||
${font.base()};
|
|
||||||
|
|
||||||
font-weight: ${fontWeight.bold};
|
|
||||||
text-align: center;
|
|
||||||
`;
|
|
||||||
|
|
||||||
const SFEgunWrapper = styled.div`
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
`;
|
|
||||||
@@ -1,264 +0,0 @@
|
|||||||
import { graphql, navigate, PageProps, useStaticQuery } from 'gatsby';
|
|
||||||
import React, { useState } from 'react';
|
|
||||||
import { GlobalStyles } from '../ui/GlobalStyles';
|
|
||||||
|
|
||||||
import { Gainburua } from '../components/Gainburua';
|
|
||||||
import styled from 'styled-components';
|
|
||||||
import {
|
|
||||||
breakpoints,
|
|
||||||
colors,
|
|
||||||
font,
|
|
||||||
fontWeight,
|
|
||||||
media,
|
|
||||||
size,
|
|
||||||
} from '../ui/theme';
|
|
||||||
import { Container } from '../components/Container';
|
|
||||||
import { rem, rgba } from 'polished';
|
|
||||||
import ReactMarkdown from 'react-markdown';
|
|
||||||
import { Oina } from '../components/Oina';
|
|
||||||
import { SFEgunaEdukia } from '../components/SFEgunaEdukia';
|
|
||||||
import { datesUtils } from '../utils/dateUtils';
|
|
||||||
import { SEO } from '../components/SEO';
|
|
||||||
import { GatsbyImage, getImage, ImageDataLike } from 'gatsby-plugin-image';
|
|
||||||
import { Dialog } from '../components/Dialog';
|
|
||||||
import MediaQuery from 'react-responsive';
|
|
||||||
|
|
||||||
export interface SFEguna {
|
|
||||||
id: string;
|
|
||||||
eguna: string;
|
|
||||||
ekitaldi_nagusia: {
|
|
||||||
id: string;
|
|
||||||
hitzordua: string;
|
|
||||||
izenburua: string;
|
|
||||||
};
|
|
||||||
kartela?: { file: ImageDataLike };
|
|
||||||
atzealde_irudia?: { file: ImageDataLike };
|
|
||||||
}
|
|
||||||
|
|
||||||
interface DataProps {
|
|
||||||
strapiSanferminak: {
|
|
||||||
datu_orokorrak: {
|
|
||||||
deskribapena: string;
|
|
||||||
izenburua: string;
|
|
||||||
};
|
|
||||||
edukia?: string;
|
|
||||||
sf_egunak: SFEguna[];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
const IndexPage: React.VFC<PageProps> = ({ location }) => {
|
|
||||||
const { strapiSanferminak } = useStaticQuery<DataProps>(graphql`
|
|
||||||
{
|
|
||||||
strapiSanferminak {
|
|
||||||
datu_orokorrak {
|
|
||||||
izenburua
|
|
||||||
deskribapena
|
|
||||||
}
|
|
||||||
edukia
|
|
||||||
sf_egunak {
|
|
||||||
eguna
|
|
||||||
id
|
|
||||||
ekitaldi_nagusia {
|
|
||||||
id
|
|
||||||
hitzordua
|
|
||||||
izenburua
|
|
||||||
}
|
|
||||||
kartela {
|
|
||||||
alternativeText
|
|
||||||
file {
|
|
||||||
childImageSharp {
|
|
||||||
gatsbyImageData(layout: FULL_WIDTH, aspectRatio: 1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
atzealde_irudia {
|
|
||||||
alternativeText
|
|
||||||
file {
|
|
||||||
childImageSharp {
|
|
||||||
gatsbyImageData(width: 300, aspectRatio: 1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`);
|
|
||||||
|
|
||||||
const [openKartela, setOpenKartela] = useState<ImageDataLike>();
|
|
||||||
const kartelaImage = openKartela && getImage(openKartela);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<GlobalStyles />
|
|
||||||
|
|
||||||
<SEO
|
|
||||||
location={location}
|
|
||||||
title={strapiSanferminak.datu_orokorrak.izenburua}
|
|
||||||
description={strapiSanferminak.datu_orokorrak.izenburua}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<Gainburua
|
|
||||||
atala="sanferminak"
|
|
||||||
izenburua={strapiSanferminak.datu_orokorrak.izenburua}
|
|
||||||
deskribapena={strapiSanferminak.datu_orokorrak.deskribapena}
|
|
||||||
onClick={() => {
|
|
||||||
navigate('/sanferminak#edukia');
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<ContentWrapper id="edukia">
|
|
||||||
<Container>
|
|
||||||
{strapiSanferminak.edukia && (
|
|
||||||
<Deskribapena>{strapiSanferminak.edukia}</Deskribapena>
|
|
||||||
)}
|
|
||||||
|
|
||||||
{strapiSanferminak.sf_egunak &&
|
|
||||||
strapiSanferminak.sf_egunak.length > 0 && (
|
|
||||||
<SFEgunZerrenda>
|
|
||||||
{strapiSanferminak.sf_egunak.map(sfeguna => {
|
|
||||||
const image =
|
|
||||||
sfeguna.atzealde_irudia &&
|
|
||||||
getImage(sfeguna.atzealde_irudia?.file);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<SFEgunaElementua key={sfeguna.id}>
|
|
||||||
<MediaQuery minWidth={breakpoints.tablet}>
|
|
||||||
{image && (
|
|
||||||
<AtzealdeIrudia
|
|
||||||
alt="Atzealdeko irudia"
|
|
||||||
image={image}
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
</MediaQuery>
|
|
||||||
|
|
||||||
<EdukiaWrapper
|
|
||||||
aria-label={sfeguna.ekitaldi_nagusia.izenburua}
|
|
||||||
className={
|
|
||||||
datesUtils.isToday(new Date(sfeguna.eguna))
|
|
||||||
? 'active'
|
|
||||||
: ''
|
|
||||||
}
|
|
||||||
onClick={() => setOpenKartela(sfeguna.kartela?.file)}
|
|
||||||
>
|
|
||||||
<SFEgunaEdukia sfeguna={sfeguna} />
|
|
||||||
</EdukiaWrapper>
|
|
||||||
</SFEgunaElementua>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</SFEgunZerrenda>
|
|
||||||
)}
|
|
||||||
</Container>
|
|
||||||
</ContentWrapper>
|
|
||||||
|
|
||||||
<Oina />
|
|
||||||
|
|
||||||
<Dialog
|
|
||||||
open={Boolean(openKartela)}
|
|
||||||
onClose={() => setOpenKartela(undefined)}
|
|
||||||
>
|
|
||||||
{kartelaImage && <Kartela alt="Kartela" image={kartelaImage} />}
|
|
||||||
</Dialog>
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const AtzealdeIrudia = styled(GatsbyImage)`
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
|
|
||||||
z-index: -1;
|
|
||||||
`;
|
|
||||||
|
|
||||||
const Kartela = styled(GatsbyImage)`
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
`;
|
|
||||||
|
|
||||||
const EdukiaWrapper = styled.button`
|
|
||||||
display: block;
|
|
||||||
top: 0;
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
padding: ${rem(size.small)};
|
|
||||||
|
|
||||||
color: ${colors.zuria};
|
|
||||||
border: none;
|
|
||||||
|
|
||||||
background-color: ${colors.beltza};
|
|
||||||
transition: background-color 0.75s ease;
|
|
||||||
|
|
||||||
cursor: pointer;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background-color: ${rgba(colors.beltza, 0.8)};
|
|
||||||
}
|
|
||||||
|
|
||||||
&:focus {
|
|
||||||
outline: 4px solid ${colors.urdina};
|
|
||||||
}
|
|
||||||
|
|
||||||
${media.tablet`
|
|
||||||
position: absolute;
|
|
||||||
`}
|
|
||||||
|
|
||||||
&.active {
|
|
||||||
@keyframes mymove {
|
|
||||||
0% {
|
|
||||||
background-color: ${colors.beltza};
|
|
||||||
}
|
|
||||||
33% {
|
|
||||||
background-color: ${colors.gorria};
|
|
||||||
}
|
|
||||||
66% {
|
|
||||||
background-color: ${colors.beltza};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
animation: mymove 4s infinite;
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
|
|
||||||
const SFEgunaElementua = styled.li`
|
|
||||||
width: 100%;
|
|
||||||
|
|
||||||
color: ${colors.zuria};
|
|
||||||
|
|
||||||
${media.tablet`
|
|
||||||
position: relative;
|
|
||||||
aspect-ratio: 1/1;
|
|
||||||
margin-bottom: 0;
|
|
||||||
`}
|
|
||||||
`;
|
|
||||||
|
|
||||||
const SFEgunZerrenda = styled.ul`
|
|
||||||
display: grid;
|
|
||||||
grid-column-gap: ${rem(size.mini)};
|
|
||||||
grid-row-gap: ${rem(size.mini)};
|
|
||||||
|
|
||||||
${media.tablet`
|
|
||||||
grid-template-columns: repeat(2, 1fr);
|
|
||||||
`}
|
|
||||||
|
|
||||||
${media.desktop`
|
|
||||||
grid-template-columns: repeat(3, 1fr);
|
|
||||||
`}
|
|
||||||
`;
|
|
||||||
|
|
||||||
const Deskribapena = styled(ReactMarkdown)`
|
|
||||||
margin-bottom: ${rem(size.large)};
|
|
||||||
|
|
||||||
p:not(-last-child) {
|
|
||||||
margin-bottom: ${rem(size.base)};
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
|
|
||||||
const ContentWrapper = styled.div`
|
|
||||||
padding: ${size.huge}px 0;
|
|
||||||
font-weight: ${fontWeight.regular};
|
|
||||||
${font.large()};
|
|
||||||
`;
|
|
||||||
|
|
||||||
export default IndexPage;
|
|
||||||
44
package.json
44
package.json
@@ -1,33 +1,39 @@
|
|||||||
{
|
{
|
||||||
"name": "laba-webgunea",
|
"name": "laba-webgunea",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "Laba sarerako webgunea",
|
|
||||||
"private": true,
|
"private": true,
|
||||||
"workspaces": [
|
"description": "Laba sarerako webgunea",
|
||||||
"back",
|
|
||||||
"front",
|
|
||||||
"e2e"
|
|
||||||
],
|
|
||||||
"scripts": {
|
|
||||||
"front": "yarn workspace front",
|
|
||||||
"back": "yarn workspace back",
|
|
||||||
"e2e": "yarn workspace e2e",
|
|
||||||
"heroku-postbuild": "yarn back build"
|
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/labasarea/laba-webgunea.git"
|
|
||||||
},
|
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"laba",
|
"laba",
|
||||||
"webgunea",
|
"webgunea",
|
||||||
"labasarea",
|
"labasarea",
|
||||||
"laba.eus"
|
"laba.eus"
|
||||||
],
|
],
|
||||||
"author": "Laba Sarea",
|
"homepage": "https://github.com/labasarea/laba-webgunea#readme",
|
||||||
"license": "ISC",
|
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/labasarea/laba-webgunea/issues"
|
"url": "https://github.com/labasarea/laba-webgunea/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/labasarea/laba-webgunea#readme"
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/labasarea/laba-webgunea.git"
|
||||||
|
},
|
||||||
|
"license": "ISC",
|
||||||
|
"author": "Laba Sarea",
|
||||||
|
"workspaces": [
|
||||||
|
"back",
|
||||||
|
"front",
|
||||||
|
"e2e"
|
||||||
|
],
|
||||||
|
"scripts": {
|
||||||
|
"back": "yarn workspace back",
|
||||||
|
"clear-node-modules": "yarn rimraf node_modules back/node_modules front/node_modules e2e/node_modules",
|
||||||
|
"e2e": "yarn workspace e2e",
|
||||||
|
"front": "yarn workspace front"
|
||||||
|
},
|
||||||
|
"resolutions": {
|
||||||
|
"@graphql-tools/schema": "8.5.1"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"rimraf": "^5.0.5"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user