Feature/sf agenda sortzen du (#6)

* feat: laba-gara atala sortzen du

* feat: Strapi bertsioa igotzen du eta sf-ekitaldia sortzen du

* feat: ekitaldi nagusiak erakusten ditu

* feat: beste hitzorduak erakusten ditu

* feat: ordena aldatzen du

* fix: nabigazioa konpontzen du

* fix: font-weight aldatzen du

* refactor: datu modeloak aldatzen ditu

* feat: hoverrak aldatzen ditu

* feat: estilo hobekuntzak sartzen ditu

* feat: favicon aldatzen du

* mugikor nabigazioa konpontzen du
This commit is contained in:
Aitor Urrutia
2023-07-01 17:27:30 +02:00
committed by GitHub
parent 51a07d2052
commit b7a7424b5a
30 changed files with 1021 additions and 88 deletions

View File

@@ -10,12 +10,12 @@
"strapi": "strapi"
},
"dependencies": {
"@strapi/plugin-graphql": "^4.11.2",
"@strapi/plugin-i18n": "4.11.2",
"@strapi/plugin-users-permissions": "4.11.2",
"@strapi/strapi": "4.11.2",
"pg": "^8.11.0",
"pg-connection-string": "^2.6.0",
"@strapi/plugin-graphql": "^4.11.3",
"@strapi/plugin-i18n": "4.11.3",
"@strapi/plugin-users-permissions": "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"
},

View File

@@ -18,9 +18,9 @@
"izenburua": {
"type": "string"
},
"bazkidetza": {
"edukia": {
"type": "richtext",
"required": true
"required": false
}
}
}

View File

@@ -0,0 +1,29 @@
{
"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"
}
}
}

View File

@@ -0,0 +1,9 @@
'use strict';
/**
* sanferminak controller
*/
const { createCoreController } = require('@strapi/strapi').factories;
module.exports = createCoreController('api::sanferminak.sanferminak');

View File

@@ -0,0 +1,9 @@
'use strict';
/**
* sanferminak router
*/
const { createCoreRouter } = require('@strapi/strapi').factories;
module.exports = createCoreRouter('api::sanferminak.sanferminak');

View File

@@ -0,0 +1,9 @@
'use strict';
/**
* sanferminak service
*/
const { createCoreService } = require('@strapi/strapi').factories;
module.exports = createCoreService('api::sanferminak.sanferminak');

View File

@@ -0,0 +1,22 @@
{
"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"
}
}
}

View File

@@ -0,0 +1,9 @@
'use strict';
/**
* sf-ekitaldia controller
*/
const { createCoreController } = require('@strapi/strapi').factories;
module.exports = createCoreController('api::sf-ekitaldia.sf-ekitaldia');

View File

@@ -0,0 +1,9 @@
'use strict';
/**
* sf-ekitaldia router
*/
const { createCoreRouter } = require('@strapi/strapi').factories;
module.exports = createCoreRouter('api::sf-ekitaldia.sf-ekitaldia');

View File

@@ -0,0 +1,9 @@
'use strict';
/**
* sf-ekitaldia service
*/
const { createCoreService } = require('@strapi/strapi').factories;
module.exports = createCoreService('api::sf-ekitaldia.sf-ekitaldia');

View File

@@ -0,0 +1,19 @@
{
"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"
}
}
}

View File

@@ -0,0 +1,16 @@
{
"collectionName": "components_orokorra_datu_orokorraks",
"info": {
"displayName": "Datu orokorrak",
"icon": "house"
},
"options": {},
"attributes": {
"izenburua": {
"type": "string"
},
"deskribapena": {
"type": "text"
}
}
}

View File

@@ -16,12 +16,13 @@ module.exports = {
resolve: 'gatsby-source-strapi-graphql',
options: {
apiURL: process.env.API_URL,
collectionTypes: [],
collectionTypes: ['sf-ekitaldia'],
singleTypes: [
'hasiera',
'kafetegia',
'lege-oharra',
'pribatutasun-politika',
'sanferminak',
],
contentTypes: [],
// Enable/disable cache.
@@ -41,7 +42,7 @@ module.exports = {
background_color: `#ffffff`,
theme_color: `#ffffff`,
display: `standalone`,
icon: `src/images/logo.png`,
icon: `src/assets/favicon.svg`,
},
},
'gatsby-plugin-offline',
@@ -60,7 +61,7 @@ module.exports = {
google: [
{
family: 'Almarai',
variants: ['300', '800'],
variants: ['300', '700'],
},
],
},

View File

@@ -20,6 +20,7 @@
"@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",

View File

@@ -0,0 +1,20 @@
<svg id="Capa_1" data-name="Capa 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 99.87 89.87">
<defs>
<style>
.cls-1 {
fill: #FD3647;
}
</style>
</defs>
<path class="cls-1"
d="M3.75,89.87A3.76,3.76,0,0,1,0,86.73,8.61,8.61,0,0,1,0,84.9c.14-2.52.3-5,.46-7.56q.33-5.52.68-11c.14-2.29.27-4.59.41-6.89l.57-9.2c.13-2.28.27-4.56.4-6.83l.57-9.27c.14-2.2.27-4.39.4-6.59q.3-4.78.58-9.57c.14-2.3.27-4.59.41-6.89C4.64,8.52,4.78,6,5,3.44A3.74,3.74,0,0,1,9,0c1.36.13,2.7.37,4,.57L22.39,2l9.29,1.41,9.24,1.39,9.35,1.42L58.6,7.5a7.29,7.29,0,0,1,1.3.33L97.12,21.2a3.8,3.8,0,0,1,2.73,3.34,4.21,4.21,0,0,1-.09,1.27q-2.15,10.71-4.32,21.42T91.1,68.77c-.29,1.46-.59,2.91-.88,4.37a4.07,4.07,0,0,0-.07.85q.21,4.29.44,8.6c0,1,.12,2,.15,3a3.81,3.81,0,0,1-4,4.09C82.34,89.74,6,89.88,3.75,89.87Zm83.17-4c-.06-1.26-.13-2.42-.18-3.57-.14-2.85-.29-5.7-.42-8.54a4.43,4.43,0,0,1,.07-1q1.94-9.69,3.91-19.39Q93,39.92,95.74,26.45c.1-.51.19-1,.29-1.54l-.62-.25L58.66,11.45a4.35,4.35,0,0,0-.71-.18l-5.67-.86-13.34-2L24.82,6.25,10.7,4.1,8.76,3.82Q6.26,45,3.76,86.05Z" />
<path class="cls-1"
d="M47.26,78.56v1.37H43.32c-.13-.41-.19-19.51,0-20.63h4v6.93a3.17,3.17,0,0,0,.31-.24,5.43,5.43,0,0,1,4.37-1.47,6,6,0,0,1,5.42,4,9.85,9.85,0,0,1,0,7.79,6,6,0,0,1-4.39,3.8,5.63,5.63,0,0,1-5.47-1.44A1.51,1.51,0,0,0,47.26,78.56Zm6.75-6A6.18,6.18,0,0,0,53.6,70a3.16,3.16,0,0,0-3.3-2,3.07,3.07,0,0,0-2.86,2.28,7.31,7.31,0,0,0,0,4.27,3.08,3.08,0,0,0,2.93,2.27,3.15,3.15,0,0,0,3.22-2A5.65,5.65,0,0,0,54,72.53Z" />
<path class="cls-1"
d="M69.12,78.62A5.53,5.53,0,0,1,66.49,80a7.41,7.41,0,0,1-3.74,0,4.33,4.33,0,0,1-3.16-5.29,4,4,0,0,1,1.94-2.62,9.78,9.78,0,0,1,3.27-1.13l3.42-.65c.16,0,.31-.08.45-.12A1.75,1.75,0,0,0,67.19,68a4.78,4.78,0,0,0-1.51,0A2.06,2.06,0,0,0,64,69.34c-.06.14-.12.29-.21.53L60,69.16a2.58,2.58,0,0,1,.12-.48,6.12,6.12,0,0,1,4.54-4,8.8,8.8,0,0,1,4.47.1,4.55,4.55,0,0,1,3.57,4.53c0,2,0,4.07,0,6.11,0,.18,0,.36,0,.55,0,.68.24.88.93.93l.27,0v2.92A4.39,4.39,0,0,1,69.12,78.62ZM68.72,73l-3,.61a3.33,3.33,0,0,0-.64.16,4.74,4.74,0,0,0-1,.47,1.57,1.57,0,0,0,.28,2.67,3.54,3.54,0,0,0,4-1.06,2.43,2.43,0,0,0,.38-1C68.76,74.29,68.72,73.7,68.72,73Z" />
<path class="cls-1"
d="M40.9,77a3.07,3.07,0,0,1,.05.38c0,.85,0,1.71,0,2.62-1.82.21-3.54.35-4.82-1.33A5.52,5.52,0,0,1,33.51,80a7.21,7.21,0,0,1-4.09-.16,4.32,4.32,0,0,1-2.78-5.35,4,4,0,0,1,2-2.48,9.63,9.63,0,0,1,3.21-1.1l3.42-.65.45-.11A1.75,1.75,0,0,0,34.2,68a4.78,4.78,0,0,0-1.51,0A2.06,2.06,0,0,0,31,69.34c-.06.14-.12.29-.21.53L27,69.17a3.91,3.91,0,0,1,.12-.49,6.12,6.12,0,0,1,4.54-4,8.68,8.68,0,0,1,4.41.09,4.57,4.57,0,0,1,3.64,4.67c0,2,0,3.91,0,5.86v.43C39.71,76.72,39.88,76.9,40.9,77ZM35.73,73c-1.28.27-2.47.51-3.65.79a2.68,2.68,0,0,0-1,.46,1.57,1.57,0,0,0,.33,2.7,3.59,3.59,0,0,0,3.83-1,2.56,2.56,0,0,0,.45-1.11A14.07,14.07,0,0,0,35.73,73Z" />
<path class="cls-1" d="M11.5,59.3h4.18v17h9.49v3.66H11.54C11.41,79.52,11.37,60.16,11.5,59.3Z" />
<path class="cls-1"
d="M80.59,80H76a3.06,3.06,0,0,1-.07-.4c0-1.42,0-2.85,0-4.27a2.35,2.35,0,0,1,4.69-.07c0,1.48,0,3,0,4.45A1.35,1.35,0,0,1,80.59,80Z" />
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -1,4 +1,5 @@
<svg width="37" height="31" viewBox="0 0 37 31" fill="none"
xmlns="http://www.w3.org/2000/svg">
<path d="M0.249298 18.36L25.3407 18.36L17.0741 26.58L21.1571 30.64L32.32 19.54L36.3829 15.48L32.32 11.42L21.1571 0.320013L17.0741 4.39001L25.3407 12.61L0.249298 12.61L0.249298 18.36Z" fill="#191919"/>
<svg width="37" height="31" viewBox="0 0 37 31" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M0.249298 18.36L25.3407 18.36L17.0741 26.58L21.1571 30.64L32.32 19.54L36.3829 15.48L32.32 11.42L21.1571 0.320013L17.0741 4.39001L25.3407 12.61L0.249298 12.61L0.249298 18.36Z"
fill="currentColor" />
</svg>

Before

Width:  |  Height:  |  Size: 312 B

After

Width:  |  Height:  |  Size: 329 B

View File

@@ -1,18 +1,24 @@
import React from 'react';
import { Link } from 'gatsby';
import styled from 'styled-components';
import styled, { css } from 'styled-components';
import { rem } from 'polished';
import { size } from '../../ui/theme';
import { AtalaName } from './Gainburua';
export const DesktopNabigazioa: React.FC<{
atala?: 'hasiera' | 'kafetegia';
}> = ({ atala }) => {
interface Props {
atala?: AtalaName;
}
export const DesktopNabigazioa: React.FC<Props> = ({ atala }) => {
return (
<Nabigazioa>
<EstekaZerrenda>
<Esteka aktiboa={atala === 'hasiera'}>
<Link to="/">Laba gara</Link>
</Esteka>
<Esteka aktiboa={atala === 'sanferminak'}>
<Link to="/sanferminak">Sanferminak</Link>
</Esteka>
<Esteka aktiboa={atala === 'kafetegia'}>
<Link to="/kafetegia">Dastatu Laba</Link>
</Esteka>
@@ -36,9 +42,18 @@ export const EstekaZerrenda = styled.ul`
export const Esteka = styled.li<{ aktiboa?: boolean }>`
padding: ${rem(size.small)};
color: var(--color);
${({ aktiboa }) =>
aktiboa &&
`
aktiboa
? css`
border-bottom: 3px solid var(--color);
`
: css`
transition: color 0.4s ease;
&:hover {
color: var(--hover-color);
}
`}
`;

View File

@@ -14,10 +14,12 @@ import MediaQuery from 'react-responsive';
import { KontaktuDatuak } from './KontaktuDatuak';
import Gezia from '../../assets/gezia.svg';
export type AtalaName = 'hasiera' | 'kafetegia' | 'sanferminak';
interface Props {
izenburua?: string;
deskribapena?: string;
atala?: 'hasiera' | 'kafetegia';
atala?: AtalaName;
onClick?: () => void;
}
@@ -38,7 +40,7 @@ export const Gainburua: React.FC<Props> = ({
<MugikorLogoWrapper>
<Link to="/">
<LogoWrapper>
<Logo title="Laba gara" />
<Logo title="Laba gara" atala={atala} />
</LogoWrapper>
</Link>
</MugikorLogoWrapper>
@@ -50,7 +52,7 @@ export const Gainburua: React.FC<Props> = ({
<GainburuWrapper>
<Link to="/">
<LogoWrapper>
<Logo title="Laba gara" />
<Logo title="Laba gara" atala={atala} />
</LogoWrapper>
</Link>
@@ -83,15 +85,19 @@ export const Gainburua: React.FC<Props> = ({
};
const GeziaWrapper = styled.div`
display: none;
${media.desktop`
display: flex;
justify-content: flex-end;
`}
`;
const GeziaLogo = styled(Gezia)<{ atala: 'hasiera' | 'kafetegia' }>`
cursor: pointer;
path {
fill: ${({ atala }) =>
atala === 'hasiera' ? colors.zuria : colors.beltza};
transition: fill 0.4s ease;
fill: var(--color);
}
animation-duration: 2s;
@@ -110,6 +116,12 @@ const GeziaLogo = styled(Gezia)<{ atala: 'hasiera' | 'kafetegia' }>`
transform: rotate(90deg) translateX(0);
}
}
&:hover {
path {
fill: var(--hover-color);
}
}
`;
const Nagusia = styled.main`
@@ -138,20 +150,16 @@ const MugikorLogoWrapper = styled.div`
justify-content: center;
`;
const Wrapper = styled.div<{ atala?: 'hasiera' | 'kafetegia' }>`
--color: ${({ atala }) =>
atala === 'hasiera' ? colors.zuria : colors.beltza};
const Wrapper = styled.div<{ atala?: AtalaName }>`
--color: ${({ atala }) => getAtalaColor(atala)};
--hover-color: ${({ atala }) => getAtalaHoverColor(atala)};
display: flex;
flex-direction: column;
background-color: ${({ atala }) =>
atala === 'hasiera' ? colors.gorria : colors.horia};
background-color: ${({ atala }) => getAtalaBackground(atala)};
color: var(--color);
/* HACK: Hasiera orriak edukirik ez duenez, gainburuak altuera osoa hartuko du */
min-height: ${({ atala }) => (atala === 'hasiera' ? '100vh' : '0')};
${media.desktop`
min-height: ${({ atala }: { atala: 'hasiera' | 'kafetegia' }) =>
Boolean(atala) ? '100vh' : '0'};
@@ -162,10 +170,17 @@ const LogoWrapper = styled.div`
width: ${rem(size.huge)};
`;
const Logo = styled(LabaLogo)`
const Logo = styled(LabaLogo)<{ atala?: AtalaName }>`
path {
transition: fill 0.4s ease;
fill: var(--color);
}
&:hover {
path {
fill: var(--hover-color);
}
}
`;
const GainburuWrapper = styled.header`
@@ -215,3 +230,39 @@ const Izenburua = styled.h1`
${font.gargantuan()};
`;
function getAtalaBackground(atala?: AtalaName) {
if (atala === 'sanferminak') {
return colors.morea;
}
if (atala === 'hasiera') {
return colors.gorria;
}
if (atala === 'kafetegia') {
return colors.horia;
}
return colors.beltza;
}
function getAtalaColor(atala?: AtalaName) {
if (atala === 'hasiera' || atala === 'sanferminak') {
return colors.zuria;
}
if (atala === 'kafetegia') {
return colors.beltza;
}
return colors.zuria;
}
function getAtalaHoverColor(atala?: AtalaName) {
if (atala === 'sanferminak' || atala === 'hasiera') {
return colors.horia;
}
return colors.gorria;
}

View File

@@ -16,7 +16,7 @@ export const KontaktuDatuak: React.FC = () => {
return (
<Kontaktua>
<Helbidea>
<p>Gazteluko plaza 2</p>
<p>Gazteluko plaza, 2</p>
<p>Iruñea</p>
</Helbidea>
@@ -61,16 +61,30 @@ export const Instagram = styled(InstagramLogo)`
width: ${rem(size.base)};
height: ${rem(size.base)};
path {
transition: fill 0.4s ease;
fill: var(--color);
}
&:hover {
path {
fill: var(--hover-color);
}
}
`;
export const Twitter = styled(TwitterLogo)`
width: ${rem(size.base)};
height: ${rem(size.base)};
path {
transition: fill 0.4s ease;
fill: var(--color);
}
&:hover {
path {
fill: var(--hover-color);
}
}
`;
export const SareSozialak = styled.ul`

View File

@@ -25,6 +25,9 @@ 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>
@@ -85,7 +88,7 @@ const OpenClose = styled.div`
const NabigazioaWrapper = styled.div`
@keyframes sartu {
from {
right: -300px;
right: -100vw;
}
to {
right: 0;
@@ -104,7 +107,7 @@ const NabigazioaWrapper = styled.div`
position: fixed;
top: 0;
right: 0;
min-width: 300px;
width: 100vw;
background-color: ${colors.beltza};
color: ${colors.zuria};
height: 100vh;
@@ -121,7 +124,7 @@ const KontaktuDatuak: React.FC = () => {
return (
<Kontaktua>
<Helbidea>
<p>Gazteluko plaza 2</p>
<p>Gazteluko plaza, 2</p>
<p>Iruñea</p>
</Helbidea>

View File

@@ -0,0 +1,98 @@
import React from 'react';
import { datesUtils } from '../utils/dateUtils';
import { SFEguna } from '../pages/sanferminak';
import styled from 'styled-components';
import { rem } from 'polished';
import { colors, 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>
{datesUtils.getHour(new Date(eguna.hitzordua))} {eguna.izenburua}
</BesteHitzordua>
))}
</SFEgunWrapper>
);
};
const BesteHitzordua = styled.p`
color: ${colors.zuria};
${font.base()};
font-weight: ${fontWeight.bold};
margin-top: ${rem(size.base)};
`;
const SFEgunaEguna = styled.p`
margin-bottom: ${rem(size.base)};
${font.large()};
color: ${colors.zuria};
`;
const SFEgunaNagusiaIzenburua = styled.h2`
flex-grow: 1;
${font.large()};
color: ${colors.zuria};
font-weight: ${fontWeight.bold};
text-align: center;
`;
const SFEgunaNagusiaOrdua = styled.p`
${font.base()};
color: ${colors.zuria};
font-weight: ${fontWeight.bold};
text-align: center;
`;
const SFEgunWrapper = styled.div`
height: 100%;
display: flex;
flex-direction: column;
`;

View File

@@ -1,4 +1,4 @@
import { graphql, PageProps, useStaticQuery } from 'gatsby';
import { graphql, navigate, PageProps, useStaticQuery } from 'gatsby';
import React from 'react';
import { GlobalStyles } from '../ui/GlobalStyles';
@@ -16,7 +16,7 @@ interface DataProps {
strapiHasiera: {
deskribapena: string;
izenburua: string;
bazkidetza: string;
edukia: string;
};
}
@@ -26,7 +26,7 @@ const IndexPage: React.VFC<PageProps> = () => {
strapiHasiera {
deskribapena
izenburua
bazkidetza
edukia
}
}
`);
@@ -47,13 +47,13 @@ const IndexPage: React.VFC<PageProps> = () => {
izenburua={strapiHasiera.izenburua}
deskribapena={strapiHasiera.deskribapena}
onClick={() => {
window.location.replace('/#labazkidetza');
navigate('/#edukia');
}}
/>
<ContentWrapper id="labazkidetza">
<ContentWrapper id="edukia">
<Container>
<Deskribapena>{strapiHasiera.bazkidetza}</Deskribapena>
<Deskribapena>{strapiHasiera.edukia}</Deskribapena>
<IzanLabaWrapper>
<Botoia href="https://forms.gle/wV41CVkRX1JtHsAu9">
@@ -92,7 +92,7 @@ const Botoia = styled.a`
display: flex;
align-items: center;
transition: color 500ms ease-out 100ms;
transition: color 0.4s ease;
&:hover {
color: ${colors.morea};
}

View File

@@ -1,4 +1,4 @@
import { PageProps } from 'gatsby';
import { PageProps, navigate } from 'gatsby';
import React from 'react';
import { GlobalStyles } from '../ui/GlobalStyles';
@@ -43,11 +43,11 @@ const Kafetegia: React.VFC<PageProps> = () => {
izenburua={izenburua}
deskribapena={deskribapena}
onClick={() => {
window.location.replace('/kafetegia/#kafetegia');
navigate('/kafetegia#edukia');
}}
/>
<ContentWrapper id="kafetegia">
<ContentWrapper id="edukia">
<Container>
<TaldeWrapper>
<IzenburuWrapper>

View File

@@ -0,0 +1,145 @@
import { graphql, navigate, PageProps, useStaticQuery } from 'gatsby';
import React from 'react';
import { GlobalStyles } from '../ui/GlobalStyles';
import { Helmet } from 'react-helmet';
import { Gainburua } from '../components/Gainburua';
import styled from 'styled-components';
import { colors, font, fontWeight, media, size } from '../ui/theme';
import { Container } from '../components/Container';
import { rem } from 'polished';
import ReactMarkdown from 'react-markdown';
import { Oina } from '../components/Oina';
import { SFEgunaEdukia } from '../components/SFEgunaEdukia';
export interface SFEguna {
id: string;
eguna: string;
ekitaldi_nagusia: {
id: string;
hitzordua: string;
izenburua: string;
};
}
interface DataProps {
strapiSanferminak: {
datu_orokorrak: {
deskribapena: string;
izenburua: string;
};
edukia?: string;
sf_egunak?: SFEguna[];
};
}
const IndexPage: React.VFC<PageProps> = () => {
const { strapiSanferminak } = useStaticQuery<DataProps>(graphql`
{
strapiSanferminak {
datu_orokorrak {
izenburua
deskribapena
}
edukia
sf_egunak {
eguna
id
ekitaldi_nagusia {
id
hitzordua
izenburua
}
}
}
}
`);
return (
<>
<Helmet
title={`${strapiSanferminak.datu_orokorrak.izenburua} | Laba`}
htmlAttributes={{ lang: 'eu' }}
>
<meta
name="description"
content={strapiSanferminak.datu_orokorrak.deskribapena}
/>
</Helmet>
<GlobalStyles />
<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 => (
<SFEgunaElementua key={sfeguna.id}>
<SFEgunaEdukia sfeguna={sfeguna} />
</SFEgunaElementua>
))}
</SFEgunZerrenda>
)}
</Container>
</ContentWrapper>
<Oina />
</>
);
};
const SFEgunaElementua = styled.li`
padding: ${rem(size.small)};
width: 100%;
background-color: ${colors.beltza};
${media.tablet`
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;

View File

@@ -202,7 +202,7 @@ export const GlobalStyles = createGlobalStyle`
}
body {
font-family: 'Almarai', sans-serif;
font-family: 'Martel Sans', sans-serif;
${font.base()}
font-weight: ${fontWeight.bold};

View File

@@ -1,4 +1,4 @@
export const fontWeight = {
regular: 300,
bold: 800,
bold: 700,
};

View File

@@ -2,5 +2,6 @@ export { breakpoints } from './breakpoints';
export { font } from './font';
export { media } from './media';
export { size } from './size';
export { colors, Color } from './colors';
export { colors } from './colors';
export type { Color } from './colors';
export { fontWeight } from './fontWeight';

View File

@@ -0,0 +1,22 @@
import dayjs from 'dayjs';
import utc from 'dayjs/plugin/utc';
dayjs.extend(utc);
export const datesUtils = {
getDate,
getHour,
areSameDay,
};
function getDate(rawDate: string): Date {
return dayjs(rawDate).toDate();
}
function getHour(date: Date): string {
return dayjs(date).format('H:mm');
}
function areSameDay(date: Date, reference: Date): boolean {
return dayjs(date).isSame(reference, 'day');
}

485
yarn.lock
View File

@@ -4146,6 +4146,108 @@
webpackbar "^5.0.2"
yup "^0.32.9"
"@strapi/admin@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/admin/-/admin-4.11.3.tgz#d4619d1a6e77549eee26f2f1b0778f2d75c04fae"
integrity sha512-5eZpS1aNhf8vOQp/7k26w99U7hZ9iX/w5zuLLW4Z9S/1CymwBT/ksEEAvIIFd/xRwsHSwqjynyZkyDx2xk2aNw==
dependencies:
"@babel/core" "^7.20.12"
"@babel/plugin-transform-runtime" "^7.19.6"
"@babel/preset-env" "^7.20.2"
"@babel/preset-react" "^7.18.6"
"@babel/runtime" "^7.20.13"
"@casl/ability" "^5.4.3"
"@fingerprintjs/fingerprintjs" "3.4.1"
"@pmmmwh/react-refresh-webpack-plugin" "0.5.10"
"@strapi/babel-plugin-switch-ee-ce" "4.11.3"
"@strapi/data-transfer" "4.11.3"
"@strapi/design-system" "1.8.0"
"@strapi/helper-plugin" "4.11.3"
"@strapi/icons" "1.8.0"
"@strapi/permissions" "4.11.3"
"@strapi/provider-audit-logs-local" "4.11.3"
"@strapi/typescript-utils" "4.11.3"
"@strapi/utils" "4.11.3"
axios "1.4.0"
babel-loader "^9.1.2"
babel-plugin-styled-components "2.1.1"
bcryptjs "2.4.3"
browserslist "^4.17.3"
browserslist-to-esbuild "1.2.0"
chalk "^4.1.2"
chokidar "^3.5.1"
codemirror5 "npm:codemirror@^5.65.11"
cross-env "^7.0.3"
css-loader "^6.8.1"
date-fns "2.30.0"
dotenv "8.5.1"
esbuild-loader "^2.21.0"
execa "^1.0.0"
fast-deep-equal "3.1.3"
find-root "1.1.0"
fork-ts-checker-webpack-plugin "7.3.0"
formik "^2.4.0"
fractional-indexing "3.2.0"
fs-extra "10.0.0"
highlight.js "^10.4.1"
history "^4.9.0"
html-loader "^4.2.0"
html-webpack-plugin "5.5.0"
immer "9.0.19"
invariant "^2.2.4"
js-cookie "2.2.1"
jsonwebtoken "9.0.0"
koa-compose "4.1.0"
koa-passport "5.0.0"
koa-static "5.0.0"
koa2-ratelimit "^1.1.2"
lodash "4.17.21"
markdown-it "^12.3.2"
markdown-it-abbr "^1.0.4"
markdown-it-container "^3.0.0"
markdown-it-deflist "^2.1.0"
markdown-it-emoji "^2.0.0"
markdown-it-footnote "^3.0.3"
markdown-it-ins "^3.0.1"
markdown-it-mark "^3.0.1"
markdown-it-sub "^1.0.0"
markdown-it-sup "1.0.0"
mini-css-extract-plugin "2.7.2"
node-schedule "2.1.0"
p-map "4.0.0"
passport-local "1.0.0"
pluralize "8.0.0"
prop-types "^15.8.1"
qs "6.11.1"
react "^18.2.0"
react-dnd "15.1.2"
react-dnd-html5-backend "15.1.3"
react-dom "^18.2.0"
react-error-boundary "3.1.4"
react-helmet "^6.1.0"
react-intl "6.4.1"
react-is "^18.2.0"
react-query "3.39.3"
react-redux "8.0.5"
react-refresh "0.14.0"
react-router-dom "5.3.4"
react-select "5.7.0"
react-window "1.8.8"
redux "^4.2.1"
reselect "^4.1.7"
rimraf "3.0.2"
sanitize-html "2.10.0"
semver "7.5.1"
sift "16.0.1"
style-loader "3.3.1"
styled-components "5.3.3"
typescript "5.1.3"
webpack "^5.86.0"
webpack-cli "^5.1.0"
webpack-dev-server "^4.15.0"
webpackbar "^5.0.2"
yup "^0.32.9"
"@strapi/babel-plugin-switch-ee-ce@4.11.2":
version "4.11.2"
resolved "https://registry.npmjs.org/@strapi/babel-plugin-switch-ee-ce/-/babel-plugin-switch-ee-ce-4.11.2.tgz"
@@ -4155,6 +4257,15 @@
reselect "4.1.7"
resolve "1.22.2"
"@strapi/babel-plugin-switch-ee-ce@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/babel-plugin-switch-ee-ce/-/babel-plugin-switch-ee-ce-4.11.3.tgz#9eab1a9a9df6bf147cb1f73d8f7f4fb56ca4f374"
integrity sha512-9tlgJT/usqZN0yIIVUh6QciBaBihPV44FQ6BBgQlHMcGbXwSHv4H0tLxv5XVPkd5ZdTaLb92Ol9UjUawp7WAWw==
dependencies:
"@babel/template" "^7.20.7"
reselect "4.1.7"
resolve "1.22.2"
"@strapi/data-transfer@4.11.2":
version "4.11.2"
resolved "https://registry.npmjs.org/@strapi/data-transfer/-/data-transfer-4.11.2.tgz"
@@ -4172,6 +4283,23 @@
tar-stream "2.2.0"
ws "8.13.0"
"@strapi/data-transfer@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/data-transfer/-/data-transfer-4.11.3.tgz#eb1c659f7079d97ec3986ef1b72893a03698585e"
integrity sha512-fnqJrGEiGHU6Oy3jVwvzM83SyhMPM94p0fK0lghcx+KuseoTXBW8DM8m2shfrCEDyeCDbYkr+UA54hsvkSwOrQ==
dependencies:
"@strapi/logger" "4.11.3"
"@strapi/strapi" "4.11.3"
chalk "4.1.2"
fs-extra "10.0.0"
lodash "4.17.21"
semver "7.5.1"
stream-chain "2.2.5"
stream-json "1.7.4"
tar "6.1.13"
tar-stream "2.2.0"
ws "8.13.0"
"@strapi/database@4.11.2":
version "4.11.2"
resolved "https://registry.npmjs.org/@strapi/database/-/database-4.11.2.tgz"
@@ -4186,6 +4314,20 @@
semver "7.5.1"
umzug "3.2.1"
"@strapi/database@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/database/-/database-4.11.3.tgz#df48add3ecc27b5afd70963c00e5f078ed0bbb35"
integrity sha512-jQ3ezJT9WoZ1LNsqe9MNNny9jhW1QzTPn/Q6s+sv5L1AlHUVdcH9d7xsZsdeGpo5z/ulag74Xd4DYeUXJr/3sA==
dependencies:
"@strapi/utils" "4.11.3"
date-fns "2.30.0"
debug "4.3.4"
fs-extra "10.0.0"
knex "2.4.0"
lodash "4.17.21"
semver "7.5.1"
umzug "3.2.1"
"@strapi/design-system@1.8.0":
version "1.8.0"
resolved "https://registry.npmjs.org/@strapi/design-system/-/design-system-1.8.0.tgz"
@@ -4222,6 +4364,23 @@
semver "7.5.1"
tar "6.1.13"
"@strapi/generate-new@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/generate-new/-/generate-new-4.11.3.tgz#e45ab32e8c0f9f13f5457f0c4d8323284f078f91"
integrity sha512-Q8WWbYLuDMIatU0jW0A+OpHmCmL7rRhBCCGVA7bdw5nfhh/7gS7S9KBHmA/blJnH4rPl/O7A1/YBmupCDwyJQA==
dependencies:
"@sentry/node" "6.19.7"
chalk "^4.1.2"
execa "5.1.1"
fs-extra "10.0.0"
inquirer "8.2.5"
lodash "4.17.21"
node-fetch "^2.6.9"
node-machine-id "^1.1.10"
ora "^5.4.1"
semver "7.5.1"
tar "6.1.13"
"@strapi/generators@4.11.2":
version "4.11.2"
resolved "https://registry.npmjs.org/@strapi/generators/-/generators-4.11.2.tgz"
@@ -4237,6 +4396,21 @@
plop "2.7.6"
pluralize "8.0.0"
"@strapi/generators@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/generators/-/generators-4.11.3.tgz#681345f2cc9f6b424d0c62b4e406528f0f80bcff"
integrity sha512-l5R4Sd+UxAFBANudPQeyX3iY+bKZZ3lQneIxbBsZOV2wN8BQ3rtfpZI/uzQ2sdplLtaptZ6yzZNprH4wL/JAiw==
dependencies:
"@sindresorhus/slugify" "1.1.0"
"@strapi/typescript-utils" "4.11.3"
"@strapi/utils" "4.11.3"
chalk "4.1.2"
copyfiles "2.4.1"
fs-extra "10.0.0"
node-plop "0.26.3"
plop "2.7.6"
pluralize "8.0.0"
"@strapi/helper-plugin@4.11.2":
version "4.11.2"
resolved "https://registry.npmjs.org/@strapi/helper-plugin/-/helper-plugin-4.11.2.tgz"
@@ -4253,6 +4427,22 @@
react-intl "6.4.1"
react-select "5.7.0"
"@strapi/helper-plugin@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/helper-plugin/-/helper-plugin-4.11.3.tgz#eb414b11683c652f1054bcb07e44d135419d725c"
integrity sha512-vBgEu4ookJSbpYpPYA6k1pDD+bZvRyVnvRXkuS22+NqSOdTqxZl/r/c93WXnb+rJuhnOHX/9Fg6WouzVK/iefA==
dependencies:
axios "1.4.0"
date-fns "2.30.0"
formik "^2.4.0"
immer "9.0.19"
lodash "4.17.21"
prop-types "^15.8.1"
qs "6.11.1"
react-helmet "^6.1.0"
react-intl "6.4.1"
react-select "5.7.0"
"@strapi/icons@1.8.0":
version "1.8.0"
resolved "https://registry.npmjs.org/@strapi/icons/-/icons-1.8.0.tgz"
@@ -4266,6 +4456,14 @@
lodash "4.17.21"
winston "3.3.3"
"@strapi/logger@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/logger/-/logger-4.11.3.tgz#85972fb7a08f8770d548111ec3ef3dfa438261c7"
integrity sha512-XHkwPzhF7SBhNd/iAGUiNRJ3sptWfAV5idyBYPQkhRpDHRemlDtF9VMAMWxjVuPNGvPuREvLgFu5/0yK9BXHAw==
dependencies:
lodash "4.17.21"
winston "3.3.3"
"@strapi/permissions@4.11.2":
version "4.11.2"
resolved "https://registry.npmjs.org/@strapi/permissions/-/permissions-4.11.2.tgz"
@@ -4276,6 +4474,16 @@
lodash "4.17.21"
sift "16.0.1"
"@strapi/permissions@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/permissions/-/permissions-4.11.3.tgz#1fd5f491ce9b1d9ea8477bae8f9560c142d129e9"
integrity sha512-GCcwGqDK04JMBXFNirYQM6O2IcTSnO+eta8kZWnHZiMmbzX9f4U1JBEOd/iMMoUaPXCnmwnnMZZTHdUxpR3MxA==
dependencies:
"@casl/ability" "5.4.4"
"@strapi/utils" "4.11.3"
lodash "4.17.21"
sift "16.0.1"
"@strapi/plugin-content-manager@4.11.2":
version "4.11.2"
resolved "https://registry.npmjs.org/@strapi/plugin-content-manager/-/plugin-content-manager-4.11.2.tgz"
@@ -4285,6 +4493,15 @@
"@strapi/utils" "4.11.2"
lodash "4.17.21"
"@strapi/plugin-content-manager@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/plugin-content-manager/-/plugin-content-manager-4.11.3.tgz#1e8e0186797178ded3e2545332fffbbd93c17cdd"
integrity sha512-Y6NsQZu1ZB4CxgfBRb3Pw25hTfjitDUSaRG1tr3IWlK/beJx1VJ4rLsjuc60geUrhiNnnMafjGmVgBT5jaea4w==
dependencies:
"@sindresorhus/slugify" "1.1.0"
"@strapi/utils" "4.11.3"
lodash "4.17.21"
"@strapi/plugin-content-type-builder@4.11.2":
version "4.11.2"
resolved "https://registry.npmjs.org/@strapi/plugin-content-type-builder/-/plugin-content-type-builder-4.11.2.tgz"
@@ -4309,6 +4526,30 @@
reselect "^4.1.7"
yup "^0.32.9"
"@strapi/plugin-content-type-builder@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/plugin-content-type-builder/-/plugin-content-type-builder-4.11.3.tgz#404cb48e808c3581f1e18242fd4e0e937b8c3d7f"
integrity sha512-mNAIvsIBouSxr6eXdOnRr4NbLHc7moSo6FwjHeLP13zHjmN2SZfxygOZfxe7IQCQZl4E/fu1MRxw8IlG7+7d5w==
dependencies:
"@sindresorhus/slugify" "1.1.0"
"@strapi/design-system" "1.8.0"
"@strapi/generators" "4.11.3"
"@strapi/helper-plugin" "4.11.3"
"@strapi/icons" "1.8.0"
"@strapi/utils" "4.11.3"
fs-extra "10.0.0"
immer "9.0.19"
lodash "4.17.21"
pluralize "^8.0.0"
prop-types "^15.8.1"
qs "6.11.1"
react-helmet "^6.1.0"
react-intl "6.4.1"
react-redux "8.0.5"
redux "^4.2.1"
reselect "^4.1.7"
yup "^0.32.9"
"@strapi/plugin-email@4.11.2":
version "4.11.2"
resolved "https://registry.npmjs.org/@strapi/plugin-email/-/plugin-email-4.11.2.tgz"
@@ -4323,7 +4564,21 @@
react-intl "6.4.1"
yup "^0.32.9"
"@strapi/plugin-graphql@^4.1.12", "@strapi/plugin-graphql@^4.11.2":
"@strapi/plugin-email@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/plugin-email/-/plugin-email-4.11.3.tgz#960d38326927818b51d565baa5d2a977fd98648d"
integrity sha512-KtHDseuIFZLrfKLS08aPgD7fQ3s8LzjzWkg7XjySxDYxRFtnJu3jfY/Lo/vEkkv6IWBlOWj0yIGSF811/n4HRg==
dependencies:
"@strapi/design-system" "1.8.0"
"@strapi/icons" "1.8.0"
"@strapi/provider-email-sendmail" "4.11.3"
"@strapi/utils" "4.11.3"
lodash "4.17.21"
prop-types "^15.8.1"
react-intl "6.4.1"
yup "^0.32.9"
"@strapi/plugin-graphql@^4.1.12":
version "4.11.2"
resolved "https://registry.npmjs.org/@strapi/plugin-graphql/-/plugin-graphql-4.11.2.tgz"
integrity sha512-6ZhozlqA2u/XKl3/nx3+QCy+ABQUoYWkZiF/G6EuaCKGhJ0xTaDRQgb+Ynog3ZukhdODz2OfpHNmDamDLCBQNA==
@@ -4347,15 +4602,39 @@
nexus "1.3.0"
pluralize "^8.0.0"
"@strapi/plugin-i18n@4.11.2":
version "4.11.2"
resolved "https://registry.npmjs.org/@strapi/plugin-i18n/-/plugin-i18n-4.11.2.tgz"
integrity sha512-H5ig1g850QxU0dbKypuaOdfrFtx72F00cvqyMi3ji1cRS5YhjvWG1KT3RRfzyW8k0DOyXA11uwK8rL4MChtPsA==
"@strapi/plugin-graphql@^4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/plugin-graphql/-/plugin-graphql-4.11.3.tgz#85437d96873343d908fe2350a3ecf36ff8939812"
integrity sha512-/C79LXtm5eBmeKzXfLNnhWtz7C09OAFCheYANND76PPlzYwERmNYMzgS6fUQvn5HAeowLe8QBEOHKKYAbui1DQ==
dependencies:
"@graphql-tools/schema" "8.5.1"
"@graphql-tools/utils" "^8.13.1"
"@strapi/design-system" "1.8.0"
"@strapi/helper-plugin" "4.11.3"
"@strapi/icons" "1.8.0"
"@strapi/utils" "4.11.3"
apollo-server-core "3.12.0"
apollo-server-koa "3.10.0"
glob "^7.1.7"
graphql "^15.5.1"
graphql-depth-limit "^1.1.0"
graphql-playground-middleware-koa "^1.6.21"
graphql-scalars "1.20.1"
graphql-upload "^13.0.0"
koa-compose "^4.1.0"
lodash "4.17.21"
nexus "1.3.0"
pluralize "^8.0.0"
"@strapi/plugin-i18n@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/plugin-i18n/-/plugin-i18n-4.11.3.tgz#13de4e2731d2348a52377e734a8adc5434473330"
integrity sha512-zlL+6RnzyuyfWvnXYCN1TrYZW72SbDbMV6hYcq5u97MeuLQuPL5mCqFZO+d6OIcZSpm16dofmur5qqAGeDRKUA==
dependencies:
"@strapi/design-system" "1.8.0"
"@strapi/helper-plugin" "4.11.2"
"@strapi/helper-plugin" "4.11.3"
"@strapi/icons" "1.8.0"
"@strapi/utils" "4.11.2"
"@strapi/utils" "4.11.3"
formik "2.4.0"
immer "9.0.19"
lodash "4.17.21"
@@ -4399,15 +4678,47 @@
sharp "0.32.0"
yup "^0.32.9"
"@strapi/plugin-users-permissions@4.11.2":
version "4.11.2"
resolved "https://registry.npmjs.org/@strapi/plugin-users-permissions/-/plugin-users-permissions-4.11.2.tgz"
integrity sha512-yqvUARV8enG8yra123J/1BKGmRbsoisjWyd4K7G2URs+4b5R0JDkQrJ65UgLcF/ppk7OEFXpw3O12aV+U2+Aqg==
"@strapi/plugin-upload@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/plugin-upload/-/plugin-upload-4.11.3.tgz#4b602b216b1d575be477a42d9ee6e6471d48d603"
integrity sha512-LfKZkVINDAd+Pogodf/B3ql/DDCzB3MiXDoEBHeEoFXuX/yY4Ya20ra7602W9RoKz6kfx0OYBqt8FXMJtWfbQQ==
dependencies:
"@strapi/design-system" "1.8.0"
"@strapi/helper-plugin" "4.11.2"
"@strapi/helper-plugin" "4.11.3"
"@strapi/icons" "1.8.0"
"@strapi/utils" "4.11.2"
"@strapi/provider-upload-local" "4.11.3"
"@strapi/utils" "4.11.3"
axios "1.4.0"
byte-size "7.0.1"
cropperjs "1.5.12"
date-fns "2.30.0"
formik "2.4.0"
fs-extra "10.0.0"
immer "9.0.19"
koa-range "0.3.0"
koa-static "5.0.0"
lodash "4.17.21"
mime-types "2.1.35"
prop-types "^15.8.1"
qs "6.11.1"
react-dnd "15.1.2"
react-helmet "^6.1.0"
react-intl "6.4.1"
react-query "3.39.3"
react-redux "8.0.5"
react-select "5.7.0"
sharp "0.32.0"
yup "^0.32.9"
"@strapi/plugin-users-permissions@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/plugin-users-permissions/-/plugin-users-permissions-4.11.3.tgz#2852b6d41b3a912347a35c49ae0836cdc332d30c"
integrity sha512-4TP4gfPtXRir+WJYqCIBSHwIzFNX8NZf2ALlFLl5K3HD9Pc3X0DH3/dPC248WXP1M3JJI2gGHCctpr6nMj9MMQ==
dependencies:
"@strapi/design-system" "1.8.0"
"@strapi/helper-plugin" "4.11.3"
"@strapi/icons" "1.8.0"
"@strapi/utils" "4.11.3"
bcryptjs "2.4.3"
formik "2.4.0"
grant-koa "5.4.8"
@@ -4430,6 +4741,11 @@
resolved "https://registry.npmjs.org/@strapi/provider-audit-logs-local/-/provider-audit-logs-local-4.11.2.tgz"
integrity sha512-sXf94Gqx50ljogzI6y1P6uvSnIIpwWmO1LBcGYX5xjH44CFRC78iMrJNt0aWV5WeGOYeT30pNPltAou6Ve9wLw==
"@strapi/provider-audit-logs-local@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/provider-audit-logs-local/-/provider-audit-logs-local-4.11.3.tgz#5b8cdbbf84e423981bed5228c158ce38113ca9d0"
integrity sha512-fgqE0QUN8QN655bHjFz4erZKnZ29YKMwkYYYOubVv5ifT9bv7rSdqlioQ/padUM5PoROrNulKgSzkdNw4YFYwg==
"@strapi/provider-email-sendmail@4.11.2":
version "4.11.2"
resolved "https://registry.npmjs.org/@strapi/provider-email-sendmail/-/provider-email-sendmail-4.11.2.tgz"
@@ -4438,6 +4754,14 @@
"@strapi/utils" "4.11.2"
sendmail "^1.6.1"
"@strapi/provider-email-sendmail@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/provider-email-sendmail/-/provider-email-sendmail-4.11.3.tgz#1006ecde02f6bdff0d43ba2b9d2e59d62878bcd8"
integrity sha512-y2kuR9YiA7zZ4HvWUXO1BPXMmxSeE1gQ1uko2EI5+Mhhvb0aujuGLaLfHU0OLLLM6aIIKUS24emtINYY4ngwvQ==
dependencies:
"@strapi/utils" "4.11.3"
sendmail "^1.6.1"
"@strapi/provider-upload-local@4.11.2":
version "4.11.2"
resolved "https://registry.npmjs.org/@strapi/provider-upload-local/-/provider-upload-local-4.11.2.tgz"
@@ -4446,6 +4770,14 @@
"@strapi/utils" "4.11.2"
fs-extra "10.0.0"
"@strapi/provider-upload-local@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/provider-upload-local/-/provider-upload-local-4.11.3.tgz#5e567aef2563f8b0d0da6032baf42963adc9839b"
integrity sha512-XGWbavagWAWroGQI61zxY1gAQb/ghUQI1GrgUeKLj+kNKzPJWmod7MuwGSRQh73jpZ8ahfkhnW3OzEpNj1yKcg==
dependencies:
"@strapi/utils" "4.11.3"
fs-extra "10.0.0"
"@strapi/strapi@4.11.2", "@strapi/strapi@^4.1.9":
version "4.11.2"
resolved "https://registry.npmjs.org/@strapi/strapi/-/strapi-4.11.2.tgz"
@@ -4506,6 +4838,66 @@
semver "7.5.1"
statuses "2.0.1"
"@strapi/strapi@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/strapi/-/strapi-4.11.3.tgz#33d47c429be4597a5fbf801f3bbc6ea6bf7722ab"
integrity sha512-nK+8mQpiIiq81Eyx8CO8/AZSigyl6j9q/tz6grF2NkDvZrG9eQh93ey1Cb+GxEf3ZPcZKkZtmdPamScXNUHvsw==
dependencies:
"@koa/cors" "3.4.3"
"@koa/router" "10.1.1"
"@strapi/admin" "4.11.3"
"@strapi/data-transfer" "4.11.3"
"@strapi/database" "4.11.3"
"@strapi/generate-new" "4.11.3"
"@strapi/generators" "4.11.3"
"@strapi/logger" "4.11.3"
"@strapi/permissions" "4.11.3"
"@strapi/plugin-content-manager" "4.11.3"
"@strapi/plugin-content-type-builder" "4.11.3"
"@strapi/plugin-email" "4.11.3"
"@strapi/plugin-upload" "4.11.3"
"@strapi/typescript-utils" "4.11.3"
"@strapi/utils" "4.11.3"
bcryptjs "2.4.3"
boxen "5.1.2"
chalk "4.1.2"
chokidar "3.5.2"
ci-info "3.8.0"
cli-table3 "0.6.2"
commander "8.3.0"
configstore "5.0.1"
debug "4.3.4"
delegates "1.0.0"
dotenv "10.0.0"
execa "5.1.1"
fs-extra "10.0.0"
glob "7.2.0"
http-errors "1.8.1"
https-proxy-agent "5.0.1"
inquirer "8.2.5"
is-docker "2.2.1"
koa "2.13.4"
koa-body "4.2.0"
koa-compose "4.1.0"
koa-compress "5.1.0"
koa-favicon "2.1.0"
koa-helmet "7.0.2"
koa-ip "^2.1.2"
koa-session "6.4.0"
koa-static "5.0.0"
lodash "4.17.21"
mime-types "2.1.35"
node-fetch "2.6.9"
node-machine-id "1.1.12"
node-schedule "2.1.0"
open "8.4.0"
ora "5.4.1"
package-json "7.0.0"
qs "6.11.1"
resolve-cwd "3.0.0"
semver "7.5.1"
statuses "2.0.1"
"@strapi/typescript-utils@4.11.2":
version "4.11.2"
resolved "https://registry.npmjs.org/@strapi/typescript-utils/-/typescript-utils-4.11.2.tgz"
@@ -4518,6 +4910,18 @@
prettier "2.8.4"
typescript "5.1.3"
"@strapi/typescript-utils@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/typescript-utils/-/typescript-utils-4.11.3.tgz#f95442453bad8a50f01410a3d0e7c5177449e96e"
integrity sha512-8IH52ttv6P5aoiu2U038iaPv6+bK4zBhGXTUzX/4ajIwtXtXNBoE52h9CX/ZdgGeSV3YP81BxlYw1FcxxB/CfQ==
dependencies:
chalk "4.1.2"
cli-table3 "0.6.2"
fs-extra "10.0.1"
lodash "4.17.21"
prettier "2.8.4"
typescript "5.1.3"
"@strapi/ui-primitives@^1.8.0":
version "1.8.0"
resolved "https://registry.npmjs.org/@strapi/ui-primitives/-/ui-primitives-1.8.0.tgz"
@@ -4557,6 +4961,18 @@
p-map "4.0.0"
yup "0.32.9"
"@strapi/utils@4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@strapi/utils/-/utils-4.11.3.tgz#d0c75a4bb5ff95ec6ea64e6561d2432e2269d2fd"
integrity sha512-8sRa8GMj5ImWV/5oGnMfRkOmIFA8/BTaxestvwjpr84XV+iTWvEWBjIdbWw42jKgqkSeeY9EeVqe5w57eboDSg==
dependencies:
"@sindresorhus/slugify" "1.1.0"
date-fns "2.30.0"
http-errors "1.8.1"
lodash "4.17.21"
p-map "4.0.0"
yup "0.32.9"
"@swc/helpers@^0.4.14":
version "0.4.14"
resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz"
@@ -8302,6 +8718,11 @@ dayjs@^1.10.4:
resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.10.7.tgz"
integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==
dayjs@^1.11.9:
version "1.11.9"
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.9.tgz#9ca491933fadd0a60a2c19f6c237c03517d71d1a"
integrity sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==
debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
@@ -15566,30 +15987,30 @@ performance-now@^2.1.0:
resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz"
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
pg-cloudflare@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.0.tgz"
integrity sha512-tGM8/s6frwuAIyRcJ6nWcIvd3+3NmUKIs6OjviIm1HPPFEt5MzQDOTBQyhPWg/m0kCl95M6gA1JaIXtS8KovOA==
pg-cloudflare@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz#e6d5833015b170e23ae819e8c5d7eaedb472ca98"
integrity sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==
pg-connection-string@2.5.0:
version "2.5.0"
resolved "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz"
integrity sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==
pg-connection-string@^2.6.0:
version "2.6.0"
resolved "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.0.tgz"
integrity sha512-x14ibktcwlHKoHxx9X3uTVW9zIGR41ZB6QNhHb21OPNdCCO3NaRnpJuwKIQSR4u+Yqjx4HCvy7Hh7VSy1U4dGg==
pg-connection-string@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.6.1.tgz#78c23c21a35dd116f48e12e23c0965e8d9e2cbfb"
integrity sha512-w6ZzNu6oMmIzEAYVw+RLK0+nqHPt8K3ZnknKi+g48Ak2pr3dtljJW3o+D/n2zzCG07Zoe9VOX3aiKpj+BN0pjg==
pg-int8@1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz"
integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==
pg-pool@^3.6.0:
version "3.6.0"
resolved "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.0.tgz"
integrity sha512-clFRf2ksqd+F497kWFyM21tMjeikn60oGDmqMT8UBrynEwVEX/5R5xd2sdvdo1cZCFlguORNpVuqxIj+aK4cfQ==
pg-pool@^3.6.1:
version "3.6.1"
resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.6.1.tgz#5a902eda79a8d7e3c928b77abf776b3cb7d351f7"
integrity sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==
pg-protocol@^1.6.0:
version "1.6.0"
@@ -15607,20 +16028,20 @@ pg-types@^2.1.0:
postgres-date "~1.0.4"
postgres-interval "^1.1.0"
pg@^8.11.0:
version "8.11.0"
resolved "https://registry.npmjs.org/pg/-/pg-8.11.0.tgz"
integrity sha512-meLUVPn2TWgJyLmy7el3fQQVwft4gU5NGyvV0XbD41iU9Jbg8lCH4zexhIkihDzVHJStlt6r088G6/fWeNjhXA==
pg@^8.11.1:
version "8.11.1"
resolved "https://registry.yarnpkg.com/pg/-/pg-8.11.1.tgz#297e0eb240306b1e9e4f55af8a3bae76ae4810b1"
integrity sha512-utdq2obft07MxaDg0zBJI+l/M3mBRfIpEN3iSemsz0G5F2/VXx+XzqF4oxrbIZXQxt2AZzIUzyVg/YM6xOP/WQ==
dependencies:
buffer-writer "2.0.0"
packet-reader "1.0.0"
pg-connection-string "^2.6.0"
pg-pool "^3.6.0"
pg-connection-string "^2.6.1"
pg-pool "^3.6.1"
pg-protocol "^1.6.0"
pg-types "^2.1.0"
pgpass "1.x"
optionalDependencies:
pg-cloudflare "^1.1.0"
pg-cloudflare "^1.1.1"
pgpass@1.x:
version "1.0.5"