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",
|
||||
"private": true,
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"description": "Laba webgunerako kudeaketa",
|
||||
"scripts": {
|
||||
"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"
|
||||
},
|
||||
"license": "MIT",
|
||||
"author": {
|
||||
"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": {
|
||||
"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
|
||||
API_URL=http://localhost:1337
|
||||
GATSBY_ROOT_URL=http://127.0.0.1:8000
|
||||
API_URL=http://127.0.0.1:1337
|
||||
STRAPI_GRAPHQL_TOKEN=307442ef6911b9692d6946bf6aac5d910795b56d92063e8a58ace14e31c8ac6ad7b64480ba591689abbad02758da9562e423e1ef1af8b9f303612ffb63f94f567060ea9f690d9d14bce676bdcf985a2a8c95643963ffd6f593490bb4b4ccae51572cbf315e7c823d0f368de2fe113b113986e9943df1a81e6e4228b82cc7cead
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
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/
|
||||
.cache/
|
||||
public
|
||||
.env
|
||||
|
||||
@@ -16,13 +16,12 @@ module.exports = {
|
||||
resolve: 'gatsby-source-strapi-graphql',
|
||||
options: {
|
||||
apiURL: process.env.API_URL,
|
||||
collectionTypes: ['sf-ekitaldia'],
|
||||
collectionTypes: [],
|
||||
singleTypes: [
|
||||
'hasiera',
|
||||
'kafetegia',
|
||||
'lege-oharra',
|
||||
'pribatutasun-politika',
|
||||
'sanferminak',
|
||||
],
|
||||
contentTypes: [],
|
||||
// Enable/disable cache.
|
||||
|
||||
@@ -17,37 +17,37 @@
|
||||
"prettier": "prettier . --write"
|
||||
},
|
||||
"dependencies": {
|
||||
"@strapi/plugin-graphql": "^4.1.12",
|
||||
"@types/styled-components": "^5.1.20",
|
||||
"babel-plugin-styled-components": "^2.0.2",
|
||||
"dayjs": "^1.11.9",
|
||||
"gatsby": "^4.5.2",
|
||||
"gatsby-plugin-image": "^2.5.1",
|
||||
"gatsby-plugin-manifest": "^4.5.1",
|
||||
"gatsby-plugin-offline": "^5.5.2",
|
||||
"gatsby-plugin-react-helmet": "^5.5.0",
|
||||
"gatsby-plugin-react-svg": "^3.1.0",
|
||||
"gatsby-plugin-sharp": "^4.5.1",
|
||||
"gatsby-plugin-sitemap": "^5.5.0",
|
||||
"gatsby-plugin-styled-components": "^5.5.0",
|
||||
"gatsby-plugin-webfonts": "^2.2.1",
|
||||
"gatsby-source-filesystem": "^4.5.1",
|
||||
"gatsby-source-strapi-graphql": "^4.6.2",
|
||||
"gatsby-transformer-sharp": "^4.5.0",
|
||||
"polished": "^4.1.3",
|
||||
"@strapi/plugin-graphql": "^4.15.5",
|
||||
"@types/styled-components": "^5.1.34",
|
||||
"babel-plugin-styled-components": "^2.1.4",
|
||||
"dayjs": "^1.11.10",
|
||||
"gatsby": "^5.12.11",
|
||||
"gatsby-plugin-image": "^3.12.3",
|
||||
"gatsby-plugin-manifest": "^5.12.3",
|
||||
"gatsby-plugin-offline": "^6.12.3",
|
||||
"gatsby-plugin-react-helmet": "^6.12.0",
|
||||
"gatsby-plugin-react-svg": "^3.3.0",
|
||||
"gatsby-plugin-sharp": "^5.12.3",
|
||||
"gatsby-plugin-sitemap": "^6.12.3",
|
||||
"gatsby-plugin-styled-components": "^6.12.0",
|
||||
"gatsby-plugin-webfonts": "^2.3.2",
|
||||
"gatsby-source-filesystem": "^5.12.1",
|
||||
"gatsby-source-strapi-graphql": "^6.1.2",
|
||||
"gatsby-transformer-sharp": "^5.12.3",
|
||||
"polished": "^4.2.2",
|
||||
"raw-loader": "^4.0.2",
|
||||
"react": "^17.0.1",
|
||||
"react-dom": "^17.0.1",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-helmet": "^6.1.0",
|
||||
"react-markdown": "^8.0.3",
|
||||
"react-responsive": "^9.0.0-beta.6",
|
||||
"react-markdown": "^8.0.7",
|
||||
"react-responsive": "^9.0.2",
|
||||
"remark-gfm": "^3.0.1",
|
||||
"styled-components": "^5.3.3"
|
||||
"styled-components": "^6.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react-helmet": "^6.1.5",
|
||||
"@types/react-helmet": "^6.1.11",
|
||||
"gatsby-source-rest-api": "^0.2.3",
|
||||
"prettier": "^2.5.1",
|
||||
"qs": "^6.10.3"
|
||||
"prettier": "^3.1.0",
|
||||
"qs": "^6.11.2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,9 +16,6 @@ export const DesktopNabigazioa: React.FC<Props> = ({ atala }) => {
|
||||
<Esteka aktiboa={atala === 'hasiera'}>
|
||||
<GainburuLink to="/">Laba gara</GainburuLink>
|
||||
</Esteka>
|
||||
<Esteka aktiboa={atala === 'sanferminak'}>
|
||||
<GainburuLink to="/sanferminak">Sanferminak</GainburuLink>
|
||||
</Esteka>
|
||||
<Esteka aktiboa={atala === 'kafetegia'}>
|
||||
<GainburuLink to="/kafetegia">Dastatu Laba</GainburuLink>
|
||||
</Esteka>
|
||||
|
||||
@@ -14,7 +14,7 @@ import { KontaktuDatuak } from './KontaktuDatuak';
|
||||
import Gezia from '../../assets/gezia.svg';
|
||||
import { GainburuLink } from './GainburuLink';
|
||||
|
||||
export type AtalaName = 'hasiera' | 'kafetegia' | 'sanferminak';
|
||||
export type AtalaName = 'hasiera' | 'kafetegia';
|
||||
|
||||
interface Props {
|
||||
izenburua?: string;
|
||||
@@ -233,10 +233,6 @@ const Izenburua = styled.h1`
|
||||
`;
|
||||
|
||||
function getAtalaBackground(atala?: AtalaName) {
|
||||
if (atala === 'sanferminak') {
|
||||
return colors.gorria;
|
||||
}
|
||||
|
||||
if (atala === 'hasiera') {
|
||||
return colors.morea;
|
||||
}
|
||||
@@ -249,7 +245,7 @@ function getAtalaBackground(atala?: AtalaName) {
|
||||
}
|
||||
|
||||
function getAtalaColor(atala?: AtalaName) {
|
||||
if (atala === 'hasiera' || atala === 'sanferminak') {
|
||||
if (atala === 'hasiera' ) {
|
||||
return colors.zuria;
|
||||
}
|
||||
|
||||
@@ -261,7 +257,7 @@ function getAtalaColor(atala?: AtalaName) {
|
||||
}
|
||||
|
||||
function getAtalaHoverColor(atala?: AtalaName) {
|
||||
if (atala === 'sanferminak' || atala === 'hasiera') {
|
||||
if (atala === 'hasiera') {
|
||||
return colors.horia;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,9 +25,6 @@ export const MugikorNabigazioa: React.FC = () => {
|
||||
<Esteka>
|
||||
<Link to="/">Laba gara</Link>
|
||||
</Esteka>
|
||||
<Esteka>
|
||||
<Link to="/sanferminak">Sanferminak</Link>
|
||||
</Esteka>
|
||||
<Esteka>
|
||||
<Link to="/kafetegia">Dastatu Laba</Link>
|
||||
</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",
|
||||
"version": "1.0.0",
|
||||
"description": "Laba sarerako webgunea",
|
||||
"private": true,
|
||||
"workspaces": [
|
||||
"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"
|
||||
},
|
||||
"description": "Laba sarerako webgunea",
|
||||
"keywords": [
|
||||
"laba",
|
||||
"webgunea",
|
||||
"labasarea",
|
||||
"laba.eus"
|
||||
],
|
||||
"author": "Laba Sarea",
|
||||
"license": "ISC",
|
||||
"homepage": "https://github.com/labasarea/laba-webgunea#readme",
|
||||
"bugs": {
|
||||
"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