diff --git a/back/database/migrations/development.db b/back/database/migrations/development.db index c3e2da5..005743d 100644 Binary files a/back/database/migrations/development.db and b/back/database/migrations/development.db differ diff --git a/back/package.json b/back/package.json index f4c00d9..54f76e2 100644 --- a/back/package.json +++ b/back/package.json @@ -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" }, diff --git a/back/src/api/hasiera/content-types/hasiera/schema.json b/back/src/api/hasiera/content-types/hasiera/schema.json index abb84de..12bfd23 100644 --- a/back/src/api/hasiera/content-types/hasiera/schema.json +++ b/back/src/api/hasiera/content-types/hasiera/schema.json @@ -18,9 +18,9 @@ "izenburua": { "type": "string" }, - "bazkidetza": { + "edukia": { "type": "richtext", - "required": true + "required": false } } } diff --git a/back/src/api/sanferminak/content-types/sanferminak/schema.json b/back/src/api/sanferminak/content-types/sanferminak/schema.json new file mode 100644 index 0000000..a26f0c6 --- /dev/null +++ b/back/src/api/sanferminak/content-types/sanferminak/schema.json @@ -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" + } + } +} diff --git a/back/src/api/sanferminak/controllers/sanferminak.js b/back/src/api/sanferminak/controllers/sanferminak.js new file mode 100644 index 0000000..a4b5871 --- /dev/null +++ b/back/src/api/sanferminak/controllers/sanferminak.js @@ -0,0 +1,9 @@ +'use strict'; + +/** + * sanferminak controller + */ + +const { createCoreController } = require('@strapi/strapi').factories; + +module.exports = createCoreController('api::sanferminak.sanferminak'); diff --git a/back/src/api/sanferminak/routes/sanferminak.js b/back/src/api/sanferminak/routes/sanferminak.js new file mode 100644 index 0000000..9f3aac5 --- /dev/null +++ b/back/src/api/sanferminak/routes/sanferminak.js @@ -0,0 +1,9 @@ +'use strict'; + +/** + * sanferminak router + */ + +const { createCoreRouter } = require('@strapi/strapi').factories; + +module.exports = createCoreRouter('api::sanferminak.sanferminak'); diff --git a/back/src/api/sanferminak/services/sanferminak.js b/back/src/api/sanferminak/services/sanferminak.js new file mode 100644 index 0000000..71a441b --- /dev/null +++ b/back/src/api/sanferminak/services/sanferminak.js @@ -0,0 +1,9 @@ +'use strict'; + +/** + * sanferminak service + */ + +const { createCoreService } = require('@strapi/strapi').factories; + +module.exports = createCoreService('api::sanferminak.sanferminak'); diff --git a/back/src/api/sf-ekitaldia/content-types/sf-ekitaldia/schema.json b/back/src/api/sf-ekitaldia/content-types/sf-ekitaldia/schema.json new file mode 100644 index 0000000..c7223af --- /dev/null +++ b/back/src/api/sf-ekitaldia/content-types/sf-ekitaldia/schema.json @@ -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" + } + } +} diff --git a/back/src/api/sf-ekitaldia/controllers/sf-ekitaldia.js b/back/src/api/sf-ekitaldia/controllers/sf-ekitaldia.js new file mode 100644 index 0000000..c9c59e3 --- /dev/null +++ b/back/src/api/sf-ekitaldia/controllers/sf-ekitaldia.js @@ -0,0 +1,9 @@ +'use strict'; + +/** + * sf-ekitaldia controller + */ + +const { createCoreController } = require('@strapi/strapi').factories; + +module.exports = createCoreController('api::sf-ekitaldia.sf-ekitaldia'); diff --git a/back/src/api/sf-ekitaldia/routes/sf-ekitaldia.js b/back/src/api/sf-ekitaldia/routes/sf-ekitaldia.js new file mode 100644 index 0000000..6d12d0f --- /dev/null +++ b/back/src/api/sf-ekitaldia/routes/sf-ekitaldia.js @@ -0,0 +1,9 @@ +'use strict'; + +/** + * sf-ekitaldia router + */ + +const { createCoreRouter } = require('@strapi/strapi').factories; + +module.exports = createCoreRouter('api::sf-ekitaldia.sf-ekitaldia'); diff --git a/back/src/api/sf-ekitaldia/services/sf-ekitaldia.js b/back/src/api/sf-ekitaldia/services/sf-ekitaldia.js new file mode 100644 index 0000000..a973342 --- /dev/null +++ b/back/src/api/sf-ekitaldia/services/sf-ekitaldia.js @@ -0,0 +1,9 @@ +'use strict'; + +/** + * sf-ekitaldia service + */ + +const { createCoreService } = require('@strapi/strapi').factories; + +module.exports = createCoreService('api::sf-ekitaldia.sf-ekitaldia'); diff --git a/back/src/components/hasiera/sf-eguna.json b/back/src/components/hasiera/sf-eguna.json new file mode 100644 index 0000000..3293b0d --- /dev/null +++ b/back/src/components/hasiera/sf-eguna.json @@ -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" + } + } +} diff --git a/back/src/components/orokorra/datu-orokorrak.json b/back/src/components/orokorra/datu-orokorrak.json new file mode 100644 index 0000000..f90c426 --- /dev/null +++ b/back/src/components/orokorra/datu-orokorrak.json @@ -0,0 +1,16 @@ +{ + "collectionName": "components_orokorra_datu_orokorraks", + "info": { + "displayName": "Datu orokorrak", + "icon": "house" + }, + "options": {}, + "attributes": { + "izenburua": { + "type": "string" + }, + "deskribapena": { + "type": "text" + } + } +} diff --git a/front/gatsby-config.js b/front/gatsby-config.js index bec2830..26572f0 100644 --- a/front/gatsby-config.js +++ b/front/gatsby-config.js @@ -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'], }, ], }, diff --git a/front/package.json b/front/package.json index c3148ab..7af1a80 100644 --- a/front/package.json +++ b/front/package.json @@ -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", diff --git a/front/src/assets/favicon.svg b/front/src/assets/favicon.svg new file mode 100644 index 0000000..a4f764d --- /dev/null +++ b/front/src/assets/favicon.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/front/src/assets/gezia.svg b/front/src/assets/gezia.svg index 214ddce..47b7ec8 100644 --- a/front/src/assets/gezia.svg +++ b/front/src/assets/gezia.svg @@ -1,4 +1,5 @@ - - - + + + \ No newline at end of file diff --git a/front/src/components/Gainburua/DesktopNabigazioa.tsx b/front/src/components/Gainburua/DesktopNabigazioa.tsx index 90fcab9..d0e503e 100644 --- a/front/src/components/Gainburua/DesktopNabigazioa.tsx +++ b/front/src/components/Gainburua/DesktopNabigazioa.tsx @@ -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 = ({ atala }) => { return ( Laba gara + + Sanferminak + Dastatu Laba @@ -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 && - ` - border-bottom: 3px solid var(--color); - `} + aktiboa + ? css` + border-bottom: 3px solid var(--color); + ` + : css` + transition: color 0.4s ease; + + &:hover { + color: var(--hover-color); + } + `} `; diff --git a/front/src/components/Gainburua/Gainburua.tsx b/front/src/components/Gainburua/Gainburua.tsx index c5f581a..06184dc 100644 --- a/front/src/components/Gainburua/Gainburua.tsx +++ b/front/src/components/Gainburua/Gainburua.tsx @@ -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 = ({ - + @@ -50,7 +52,7 @@ export const Gainburua: React.FC = ({ - + @@ -83,15 +85,19 @@ export const Gainburua: React.FC = ({ }; const GeziaWrapper = styled.div` - display: flex; - justify-content: flex-end; + 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; +} diff --git a/front/src/components/Gainburua/KontaktuDatuak.tsx b/front/src/components/Gainburua/KontaktuDatuak.tsx index e59fcf6..524a694 100644 --- a/front/src/components/Gainburua/KontaktuDatuak.tsx +++ b/front/src/components/Gainburua/KontaktuDatuak.tsx @@ -16,7 +16,7 @@ export const KontaktuDatuak: React.FC = () => { return ( -

Gazteluko plaza 2

+

Gazteluko plaza, 2

Iruñea

@@ -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` diff --git a/front/src/components/Gainburua/MugikorNabigazioa.tsx b/front/src/components/Gainburua/MugikorNabigazioa.tsx index 7bd2350..1d0b933 100644 --- a/front/src/components/Gainburua/MugikorNabigazioa.tsx +++ b/front/src/components/Gainburua/MugikorNabigazioa.tsx @@ -25,6 +25,9 @@ export const MugikorNabigazioa: React.FC = () => { Laba gara + + Sanferminak + Dastatu Laba @@ -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 ( -

Gazteluko plaza 2

+

Gazteluko plaza, 2

Iruñea

diff --git a/front/src/components/SFEgunaEdukia.tsx b/front/src/components/SFEgunaEdukia.tsx new file mode 100644 index 0000000..03fc429 --- /dev/null +++ b/front/src/components/SFEgunaEdukia.tsx @@ -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(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 ( + + Uztailak {new Date(eguna).getDate()}. + + + {datesUtils.getHour(new Date(ekitaldi_nagusia.hitzordua))} + + + + {ekitaldi_nagusia.izenburua} + + + {besteEgunak.map(eguna => ( + + {datesUtils.getHour(new Date(eguna.hitzordua))} {eguna.izenburua} + + ))} + + ); +}; + +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; +`; diff --git a/front/src/pages/index.tsx b/front/src/pages/index.tsx index 29bcc24..7129e08 100644 --- a/front/src/pages/index.tsx +++ b/front/src/pages/index.tsx @@ -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 = () => { strapiHasiera { deskribapena izenburua - bazkidetza + edukia } } `); @@ -47,13 +47,13 @@ const IndexPage: React.VFC = () => { izenburua={strapiHasiera.izenburua} deskribapena={strapiHasiera.deskribapena} onClick={() => { - window.location.replace('/#labazkidetza'); + navigate('/#edukia'); }} /> - + - {strapiHasiera.bazkidetza} + {strapiHasiera.edukia} @@ -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}; } diff --git a/front/src/pages/kafetegia.tsx b/front/src/pages/kafetegia.tsx index d4e02d8..6c94f98 100644 --- a/front/src/pages/kafetegia.tsx +++ b/front/src/pages/kafetegia.tsx @@ -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 = () => { izenburua={izenburua} deskribapena={deskribapena} onClick={() => { - window.location.replace('/kafetegia/#kafetegia'); + navigate('/kafetegia#edukia'); }} /> - + diff --git a/front/src/pages/sanferminak.tsx b/front/src/pages/sanferminak.tsx new file mode 100644 index 0000000..0460342 --- /dev/null +++ b/front/src/pages/sanferminak.tsx @@ -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 = () => { + const { strapiSanferminak } = useStaticQuery(graphql` + { + strapiSanferminak { + datu_orokorrak { + izenburua + deskribapena + } + edukia + sf_egunak { + eguna + id + ekitaldi_nagusia { + id + hitzordua + izenburua + } + } + } + } + `); + + return ( + <> + + + + + + + { + navigate('/sanferminak#edukia'); + }} + /> + + + + {strapiSanferminak.edukia && ( + {strapiSanferminak.edukia} + )} + + {strapiSanferminak.sf_egunak && + strapiSanferminak.sf_egunak.length > 0 && ( + + {strapiSanferminak.sf_egunak.map(sfeguna => ( + + + + ))} + + )} + + + + + + ); +}; + +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; diff --git a/front/src/ui/GlobalStyles.tsx b/front/src/ui/GlobalStyles.tsx index 6b6a9d9..4406d43 100644 --- a/front/src/ui/GlobalStyles.tsx +++ b/front/src/ui/GlobalStyles.tsx @@ -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}; diff --git a/front/src/ui/theme/fontWeight.ts b/front/src/ui/theme/fontWeight.ts index fcf8836..62cf167 100644 --- a/front/src/ui/theme/fontWeight.ts +++ b/front/src/ui/theme/fontWeight.ts @@ -1,4 +1,4 @@ export const fontWeight = { regular: 300, - bold: 800, + bold: 700, }; diff --git a/front/src/ui/theme/index.ts b/front/src/ui/theme/index.ts index 9432b22..57a977c 100644 --- a/front/src/ui/theme/index.ts +++ b/front/src/ui/theme/index.ts @@ -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'; diff --git a/front/src/utils/dateUtils.ts b/front/src/utils/dateUtils.ts new file mode 100644 index 0000000..8a90ccf --- /dev/null +++ b/front/src/utils/dateUtils.ts @@ -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'); +} diff --git a/yarn.lock b/yarn.lock index 27e2e62..00fb14b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -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"