diff --git a/.gitignore b/.gitignore index c6efa54..dd87e2d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,2 @@ node_modules build -package-lock.json -.yarn/install-state.gz diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..cf04042 --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +shamefully-hoist=true +strict-peer-dependencies=false diff --git a/.nvmrc b/.nvmrc index 3f430af..53d1c14 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v18 +v22 diff --git a/.vscode/settings.json b/.vscode/settings.json index de46627..fdb5abf 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,7 +2,7 @@ { "editor.formatOnSave": true, "typescript.tsdk": "node_modules/typescript/lib", - "importSorter.generalConfiguration.sortOnBeforeSave": true, + "importSorter.generalConfiguration.sortOnBeforeSave": false, "importSorter.sortConfiguration.customOrderingRules.rules": [ { "type": "importMember", diff --git a/back/.editorconfig b/back/.editorconfig deleted file mode 100644 index 473e451..0000000 --- a/back/.editorconfig +++ /dev/null @@ -1,16 +0,0 @@ -root = true - -[*] -indent_style = space -indent_size = 2 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[{package.json,*.yml}] -indent_style = space -indent_size = 2 - -[*.md] -trim_trailing_whitespace = false diff --git a/back/.env.example b/back/.env.example index 334f7e3..7312b2f 100644 --- a/back/.env.example +++ b/back/.env.example @@ -1,4 +1,14 @@ HOST=0.0.0.0 PORT=1337 -DATABASE_FILENAME=database/migrations/development.db -NETLIFY_DEPLOYMENTS_PLUGIN_ACCESS_TOKEN="" +APP_KEYS="toBeModified1,toBeModified2" +API_TOKEN_SALT=tobemodified +ADMIN_JWT_SECRET=tobemodified +TRANSFER_TOKEN_SALT=tobemodified +JWT_SECRET=tobemodified + +FLAG_PROMOTE_EE=false +FLAG_NPS=false + +CLOUDINARY_NAME=your_cloud_name +CLOUDINARY_KEY=your_api_key +CLOUDINARY_SECRET=your_api_secret diff --git a/back/.eslintignore b/back/.eslintignore deleted file mode 100644 index 90759a5..0000000 --- a/back/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -.cache -build -**/node_modules/** diff --git a/back/.eslintrc b/back/.eslintrc deleted file mode 100644 index b2ca93b..0000000 --- a/back/.eslintrc +++ /dev/null @@ -1,27 +0,0 @@ -{ - "parser": "babel-eslint", - "extends": "eslint:recommended", - "env": { - "commonjs": true, - "es6": true, - "node": true, - "browser": false - }, - "parserOptions": { - "ecmaFeatures": { - "experimentalObjectRestSpread": true, - "jsx": false - }, - "sourceType": "module" - }, - "globals": { - "strapi": true - }, - "rules": { - "indent": ["error", 2, { "SwitchCase": 1 }], - "linebreak-style": ["error", "unix"], - "no-console": 0, - "quotes": ["error", "single"], - "semi": ["error", "always"] - } -} diff --git a/back/.gitignore b/back/.gitignore index 8e339ee..bc4262f 100644 --- a/back/.gitignore +++ b/back/.gitignore @@ -82,6 +82,8 @@ ssl nbproject public/uploads/* !public/uploads/.gitkeep +.tsbuildinfo +.eslintcache ############################ # Node.js @@ -95,11 +97,24 @@ results node_modules .node_history +############################ +# Package managers +############################ + +.yarn/* +!.yarn/cache +!.yarn/unplugged +!.yarn/patches +!.yarn/releases +!.yarn/sdks +!.yarn/versions +.pnp.* +yarn-error.log + ############################ # Tests ############################ -testApp coverage ############################ @@ -109,6 +124,8 @@ coverage .env license.txt exports -*.cache +.strapi +dist build .strapi-updater.json +.strapi-cloud.json \ No newline at end of file diff --git a/back/.strapi/client/app.js b/back/.strapi/client/app.js index 2b664da..5a9f4a9 100644 --- a/back/.strapi/client/app.js +++ b/back/.strapi/client/app.js @@ -2,21 +2,21 @@ * This file was automatically generated by Strapi. * Any modifications made will be discarded. */ +import strapiCloud from "@strapi/plugin-cloud/strapi-admin"; 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 iconsField from "strapi-plugin-icons-field/strapi-admin"; import { renderAdmin } from "@strapi/strapi/admin"; -import customisations from "../../src/admin/app.js"; +import customisations from "../../src/admin/app.ts"; renderAdmin(document.getElementById("strapi"), { customisations, plugins: { + "strapi-cloud": strapiCloud, graphql: graphql, - i18n: i18N, "users-permissions": usersPermissions, - "netlify-deployments": netlifyDeployments, + "icons-field": iconsField, }, }); diff --git a/back/.strapi/client/index.html b/back/.strapi/client/index.html index 08d9c27..4e9d27c 100644 --- a/back/.strapi/client/index.html +++ b/back/.strapi/client/index.html @@ -1,4 +1,4 @@ - + + diff --git a/front/src/views/_components/ZigZag.astro b/front/src/views/_components/ZigZag.astro new file mode 100644 index 0000000..df5bb19 --- /dev/null +++ b/front/src/views/_components/ZigZag.astro @@ -0,0 +1,44 @@ +--- +type Kolorea = "transparent" | "gorria" | "gorria-background" | "marroia"; + +interface Props { + from?: Kolorea; + to?: Kolorea; +} + +const { from = "transparent", to = "transparent" } = Astro.props; + +const colorToVar: { [key in Kolorea]: string } = { + transparent: "transparent", + gorria: "var(--gorria)", + marroia: "var(--marroia)", + "gorria-background": "var(--gorria-background)", +}; + +const fromColor = colorToVar[from]; +const toColor = colorToVar[to]; +--- + +
+
+
+ + diff --git a/front/src/views/_components/ZigZagMarra.astro b/front/src/views/_components/ZigZagMarra.astro new file mode 100644 index 0000000..9b81682 --- /dev/null +++ b/front/src/views/_components/ZigZagMarra.astro @@ -0,0 +1,41 @@ +--- +// TODO marrak elementuaren altu osoa hartzea lortu, marginak fidagarriagoak izan daitezen +--- + +
+
+
+
+ + diff --git a/front/src/views/_components/react/EkintzaZerrenda/EkintzaZerrenda.module.scss b/front/src/views/_components/react/EkintzaZerrenda/EkintzaZerrenda.module.scss new file mode 100644 index 0000000..ff3a5b4 --- /dev/null +++ b/front/src/views/_components/react/EkintzaZerrenda/EkintzaZerrenda.module.scss @@ -0,0 +1,94 @@ +@use "../../../../style/mixins/displayFonts.scss"; +@use "../../../../style/tools/mediaQueries.scss"; +@use "sass:color"; + +.wrapper { + display: grid; + grid-template-columns: repeat(12, [col-start] 1fr); + gap: var(--space-05-desktop); +} + +.mainMediaWrapper { + display: none; + + @include mediaQueries.aboveTablet { + display: grid; + grid-column: col-start 1 / span 4; + + aspect-ratio: 1; + } +} + +.mainMedia { + border-radius: 50%; + aspect-ratio: 1; + width: 100%; + height: auto; + object-fit: cover; +} + +.agendaWrapper { + grid-column: col-start 1 / -1; + + color: var(--gorria); + + @include mediaQueries.aboveTablet { + grid-column: col-start 5 / -1; + } +} + +.description { + margin-top: var(--space-05-desktop); +} + +.zerrenda { + display: flex; + flex-direction: column; + gap: var(--space-04-mobile); + + margin-top: var(--space-05-mobile); + + list-style-type: none; + padding: 0; + + @include mediaQueries.aboveTablet { + gap: var(--space-04-desktop); + margin-top: var(--space-05-desktop); + } +} + +.esteka { + display: grid; + gap: var(--space-04-mobile); + grid-template-columns: 1fr auto; + justify-content: space-between; + width: 100%; + position: relative; + + // irudi estelaren wrapper-a ekiditeko z-index ezartzen da + z-index: 20; + + & { + color: var(--gorria); + opacity: 0.65; + text-decoration: none; + } + + &.active { + opacity: 1; + } + + @include displayFonts.display5; + @include mediaQueries.aboveTablet { + gap: var(--space-04-desktop); + } +} + +.izenburua { + position: relative; + + // irudi estelaren wrapper-a ekiditeko z-index ezartzen da + z-index: 20; + + @include displayFonts.display2; +} diff --git a/front/src/views/_components/react/EkintzaZerrenda/EkintzaZerrenda.tsx b/front/src/views/_components/react/EkintzaZerrenda/EkintzaZerrenda.tsx new file mode 100644 index 0000000..4890e19 --- /dev/null +++ b/front/src/views/_components/react/EkintzaZerrenda/EkintzaZerrenda.tsx @@ -0,0 +1,124 @@ +import React, { useState, useEffect, useRef, useMemo } from "react"; +import gsap from "gsap"; +import dayjs from "dayjs"; + +import { type EkintzaSnippet, getShortDate, getUrl } from "models/Ekintza"; +import { getImageData, type ImageData } from "models/ImageMedia"; +import styles from "./EkintzaZerrenda.module.scss"; + +interface Props { + ekintzak: EkintzaSnippet[]; + title?: string; + description?: string; + isMainTitle?: boolean; +} + +export const EkintzaZerrenda: React.FC = ({ + title, + description, + ekintzak, + isMainTitle = false, +}) => { + const sortedEkintzak = useMemo( + () => + [...ekintzak].sort((a, b) => + dayjs(a.hitzordua).isBefore(b.hitzordua) ? -1 : 1 + ), + [ekintzak] + ); + + const [activeEkintza, setActiveEkintza] = useState( + sortedEkintzak[0] + ); + const [playInterval, setPlayInterval] = useState(true); + + const imageToShow = activeEkintza?.mainMedia + ? getImageData(activeEkintza.mainMedia) + : undefined; + const imgRef = useRef(null); + const intervalRef = useRef(null); + + useEffect(() => { + intervalRef.current = setInterval(() => { + if (!playInterval) { + return; + } + + setActiveEkintza( + sortedEkintzak[Math.floor(Math.random() * sortedEkintzak.length)] + ); + }, 1800); + + return () => { + if (intervalRef.current) clearInterval(intervalRef.current); + }; + }, [playInterval]); + + useEffect(() => { + if (imgRef.current) { + gsap.fromTo( + imgRef.current, + { autoAlpha: 0, scale: 1.05 }, + { autoAlpha: 1, scale: 1, duration: 0.5, ease: "power2.out" } + ); + } + }, [activeEkintza]); + + return ( +
+
+ {imageToShow && ( + {imageToShow.alt} + )} +
+ +
+ {title && ( + <> + {isMainTitle ? ( +

{title}

+ ) : ( +

{title}

+ )} + + )} + + {description &&

{description}

} + + +
+
+ ); + + function handleMouseEnter(ekintza: EkintzaSnippet) { + setPlayInterval(false); + setActiveEkintza(ekintza); + } + + function handleMouseLeave() { + setPlayInterval(true); + } +}; diff --git a/front/src/views/_components/react/EkintzaZerrenda/index.ts b/front/src/views/_components/react/EkintzaZerrenda/index.ts new file mode 100644 index 0000000..670cfe5 --- /dev/null +++ b/front/src/views/_components/react/EkintzaZerrenda/index.ts @@ -0,0 +1 @@ +export { EkintzaZerrenda } from "./EkintzaZerrenda"; diff --git a/front/src/views/components/Container/Container.module.scss b/front/src/views/components/Container/Container.module.scss deleted file mode 100644 index 2e22685..0000000 --- a/front/src/views/components/Container/Container.module.scss +++ /dev/null @@ -1,5 +0,0 @@ -@import '../../../styles/tools/mixins/container.scss'; - -.wrapper { - @include container; -} diff --git a/front/src/views/components/Container/Container.tsx b/front/src/views/components/Container/Container.tsx deleted file mode 100644 index 197bf85..0000000 --- a/front/src/views/components/Container/Container.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React, { PropsWithChildren } from 'react'; - -import * as styles from './Container.module.scss'; - -interface Props { - id?: string; -} - -export const Container: React.FC> = ({ - children, - id, -}) => ( -
- {children} -
-); diff --git a/front/src/views/components/Container/index.ts b/front/src/views/components/Container/index.ts deleted file mode 100644 index b3999f0..0000000 --- a/front/src/views/components/Container/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Container } from './Container'; diff --git a/front/src/views/components/EkintzaSnippetList/EkintzaSnippetList.module.scss b/front/src/views/components/EkintzaSnippetList/EkintzaSnippetList.module.scss deleted file mode 100644 index 9abd730..0000000 --- a/front/src/views/components/EkintzaSnippetList/EkintzaSnippetList.module.scss +++ /dev/null @@ -1,73 +0,0 @@ -@import '../../../styles/tools/mixins/font.scss'; -@import '../../../styles/tools/mediaQueries.scss'; - -.card { - position: relative; - - @media #{$fromTablet} { - display: flex; - flex-direction: row-reverse; - justify-content: flex-end; - gap: var(--size-base); - } -} - -.ekintzaInformation { - display: flex; - flex-direction: column; -} - -.ekintzaCardList { - padding-top: var(--size-base); - padding-bottom: var(--size-base); - display: grid; - gap: var(--size-large); -} - -.cardHeadline { - @include largeFont; - font-weight: var(--font-weight-regular); - - order: 3; -} - -.kartela { - height: 9rem; - width: auto; - justify-self: end; -} - -.cardLink { - margin-bottom: var(--size-base); - - font-family: 'Abril Fatface', sans-serif; - @include gargantuanFont; - - order: 2; - transition: color 0.4s ease; - - &:hover { - color: var(--color-morea); - } - - &::after { - position: absolute; - content: ''; - left: 0; - top: 0; - right: 0; - bottom: 0; - } - - &:focus-visible { - &::after { - outline: 2px solid var(--color-morea); - } - } -} - -.cardHitzordua { - @include largeFont; - - order: 1; -} diff --git a/front/src/views/components/EkintzaSnippetList/EkintzaSnippetList.tsx b/front/src/views/components/EkintzaSnippetList/EkintzaSnippetList.tsx deleted file mode 100644 index aceafea..0000000 --- a/front/src/views/components/EkintzaSnippetList/EkintzaSnippetList.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import React from 'react'; -import ReactMarkdown from 'react-markdown'; - -import { Link } from 'gatsby'; - -import { EkintzaContent } from '../../../domain/ekintza/EkintzaContent'; -import { formatAbbreviatedDate } from '../../../utilities/dateUtils'; -import * as styles from './EkintzaSnippetList.module.scss'; - -interface Props { - ekintzak: EkintzaContent[]; -} - -export const EkintzaSnippetList: React.FC = ({ ekintzak }) => { - return ( -
    - {ekintzak.map(ekintza => ( -
  • -
    - - {ekintza.izenburua} - - - {ekintza.titularra && ( - - {ekintza.titularra} - - )} - -

    - {formatAbbreviatedDate(ekintza.hitzordua)} -

    -
    - - {ekintza.kartela && ( - {ekintza.kartela.alternativeText} - )} -
  • - ))} -
- ); -}; diff --git a/front/src/views/components/EkintzaSnippetList/index.ts b/front/src/views/components/EkintzaSnippetList/index.ts deleted file mode 100644 index 3beb07c..0000000 --- a/front/src/views/components/EkintzaSnippetList/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { EkintzaSnippetList } from './EkintzaSnippetList'; diff --git a/front/src/views/components/Gainburua/Gainburua.module.scss b/front/src/views/components/Gainburua/Gainburua.module.scss deleted file mode 100644 index 682ab86..0000000 --- a/front/src/views/components/Gainburua/Gainburua.module.scss +++ /dev/null @@ -1,192 +0,0 @@ -@import '../../../styles/tools/mediaQueries.scss'; -@import '../../../styles/tools/mixins/font.scss'; -@import '../../../styles/tools/mixins/container.scss'; - -.mugikorWrapper { - display: grid; - grid-template-columns: repeat(3, 1fr); - padding-top: var(--size-base); - - margin-bottom: var(--size-medium); -} - -.menuWrapper { - grid-column: 3; - grid-row: 1; - display: flex; - justify-content: flex-end; -} - -.mugikorLogoWrapper { - grid-row: 1; - grid-column: 2; - display: flex; - justify-content: center; -} - -.wrapper { - --color: var(--color-zuria); - --hover-color: var(--color-gorria); - --background-color: var(--color-beltza); - - display: flex; - flex-direction: column; - - background-color: var(--background-color); - color: var(--color); -} - -.hasiera { - --color: var(--color-zuria); - --hover-color: var(--color-horia); - --background-color: var(--color-morea); - - @media #{$fromDesktop} { - min-height: 100dvh; - } -} - -.kafetegia { - --color: var(--color-beltza); - --hover-color: var(--color-gorria); - --background-color: var(--color-horia); - - @media #{$fromDesktop} { - min-height: 100dvh; - } -} - -.bizi { - --color: var(--color-beltza); - --hover-color: var(--color-gorria); - --background-color: var(--color-urdina); - - @media #{$fromDesktop} { - min-height: 100dvh; - } -} - -.logoWrapper { - width: var(--size-huge); -} - -.logo { - display: block; - - path { - transition: fill 0.4s ease; - fill: var(--color); - } - - &:hover { - path { - fill: var(--hover-color); - } - } -} - -.gainburuWrapper { - padding: var(--size-base); - display: flex; - align-items: start; - justify-content: center; - - @media #{$fromTablet} { - padding: var(--size-mini) var(--size-large); - } - - @media #{$fromDesktop} { - justify-content: space-between; - } -} - -.deskribapena { - margin-bottom: var(--size-xlarge); - hyphens: auto; - - @include baseFont; - - @media #{$fromTablet} { - @include largeFont; - } -} - -.izenburuWrapper { - display: flex; - justify-content: flex-end; - align-items: center; - margin-bottom: var(--size-large); -} - -.izenburua { - text-align: right; - vertical-align: bottom; - font-family: 'Abril Fatface', serif; - letter-spacing: 0.1rem; - - &:after { - content: '.'; - } - - @include gargantuanFont; -} - -.gainburuLink { - display: inline-flex; - flex-direction: column; - align-items: center; - gap: var(--size-tiny); - - @include smallFont; - - transition: color 0.4s ease; - - svg { - path { - transition: fill 0.4s ease; - fill: var(--color); - } - } - - &:focus-visible { - outline: 3px solid var(--hover-color); - } - - &:hover { - color: var(--hover-color); - - svg { - path { - transition: fill 0.4s ease; - fill: var(--hover-color); - } - } - } -} - -.desktopNavigazioaWrapper { - display: none; - align-self: flex-end; - - @media #{$fromDesktop} { - display: initial; - } -} - -.mobileNabigazioaWrapper { - position: absolute; - top: var(--size-base); - right: var(--size-base); - - @media #{$fromDesktop} { - display: none; - } -} - -.kontaktuDatuakWrapper { - display: none; - - @media #{$fromDesktop} { - display: initial; - } -} diff --git a/front/src/views/components/Gainburua/Gainburua.tsx b/front/src/views/components/Gainburua/Gainburua.tsx deleted file mode 100644 index 14a7dc5..0000000 --- a/front/src/views/components/Gainburua/Gainburua.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import React from 'react'; - -import { AtalaName } from '../../../domain/AtalaName'; -import Logo from './assets/logo.svg'; -import { DesktopNabigazioa } from './components/DesktopNabigazioa'; -import { KontaktuDatuak } from './components/KontaktuDatuak'; -import { MugikorNabigazioa } from './components/MugikorNabigazioa'; -import * as styles from './Gainburua.module.scss'; - -interface Props { - atala?: AtalaName; -} - -export const Gainburua: React.FC = ({ atala }) => { - return ( -
-
- -
- -
-
- -
- -
-
- -
- -
- -
-
-
- ); -}; diff --git a/front/src/views/components/Gainburua/assets/hamburguer.svg b/front/src/views/components/Gainburua/assets/hamburguer.svg deleted file mode 100644 index d605fe7..0000000 --- a/front/src/views/components/Gainburua/assets/hamburguer.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - diff --git a/front/src/views/components/Gainburua/assets/itxi.svg b/front/src/views/components/Gainburua/assets/itxi.svg deleted file mode 100644 index 29d5210..0000000 --- a/front/src/views/components/Gainburua/assets/itxi.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - diff --git a/front/src/views/components/Gainburua/assets/logo.svg b/front/src/views/components/Gainburua/assets/logo.svg deleted file mode 100644 index a2cafb8..0000000 --- a/front/src/views/components/Gainburua/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/front/src/views/components/Gainburua/components/DesktopNabigazioa/DesktopNabigazioa.module.scss b/front/src/views/components/Gainburua/components/DesktopNabigazioa/DesktopNabigazioa.module.scss deleted file mode 100644 index c147d5d..0000000 --- a/front/src/views/components/Gainburua/components/DesktopNabigazioa/DesktopNabigazioa.module.scss +++ /dev/null @@ -1,32 +0,0 @@ -.nabigazioa { - display: flex; - justify-content: center; -} - -.estekaZerrenda { - display: flex; - justify-content: center; - list-style-type: none; -} - -.gainburuLink { - display: inline-block; - position: relative; - padding: var(--size-small); - - color: var(--color); - - transition: color 0.4s ease; - - &:hover { - color: var(--hover-color); - } - - &:focus-visible { - outline: 3px solid var(--hover-color); - } -} - -.active { - border-bottom: 3px solid var(--color); -} diff --git a/front/src/views/components/Gainburua/components/DesktopNabigazioa/DesktopNabigazioa.tsx b/front/src/views/components/Gainburua/components/DesktopNabigazioa/DesktopNabigazioa.tsx deleted file mode 100644 index 9121c16..0000000 --- a/front/src/views/components/Gainburua/components/DesktopNabigazioa/DesktopNabigazioa.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import React from 'react'; - -import { Link } from 'gatsby'; - -import { classNames } from '../../../../../utilities/classnames'; -import * as styles from './DesktopNabigazioa.module.scss'; - -import type { AtalaName } from '../../../../../domain/AtalaName'; -interface Props { - atala?: AtalaName; -} - -export const DesktopNabigazioa: React.FC = ({ atala }) => { - return ( - - ); -}; diff --git a/front/src/views/components/Gainburua/components/DesktopNabigazioa/index.ts b/front/src/views/components/Gainburua/components/DesktopNabigazioa/index.ts deleted file mode 100644 index 2758988..0000000 --- a/front/src/views/components/Gainburua/components/DesktopNabigazioa/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { DesktopNabigazioa } from './DesktopNabigazioa'; diff --git a/front/src/views/components/Gainburua/components/KontaktuDatuak/KontaktuDatuak.module.scss b/front/src/views/components/Gainburua/components/KontaktuDatuak/KontaktuDatuak.module.scss deleted file mode 100644 index 880d6a0..0000000 --- a/front/src/views/components/Gainburua/components/KontaktuDatuak/KontaktuDatuak.module.scss +++ /dev/null @@ -1,78 +0,0 @@ -@import '../../../../../styles/tools/mixins/font.scss'; - -.wrapper { - display: flex; -} - -.sareSozialak { - display: flex; - align-items: center; - list-style-type: none; -} - -.sareSoziala { - width: var(--size-base); - height: var(--size-base); - - &:not(:last-child) { - margin-right: var(--size-small); - } -} - -.sareSozialLogo { - width: var(--size-base); - height: var(--size-base); -} - -.helbidea { - padding-right: var(--size-small); - margin-right: var(--size-small); - - @include tinyFont; -} - -.themeBorder { - border-right: 3px solid var(--color); -} - -.zuriBorder { - border-right: 3px solid var(--color-zuria); -} - -.themeLogo { - path { - transition: fill 0.4s ease; - fill: var(--color); - } - - &:hover { - path { - fill: var(--hover-color); - } - } -} - -.zuriLogo { - path { - transition: fill 0.4s ease; - fill: var(--color-zuria); - } - - &:hover { - path { - fill: var(--color-gorria); - } - } -} - -.themeLink { - &:focus { - outline: 3px solid var(--hover-color); - } -} - -.zuriLink { - &:focus { - outline: 3px solid var(--color-gorria); - } -} diff --git a/front/src/views/components/Gainburua/components/KontaktuDatuak/KontaktuDatuak.tsx b/front/src/views/components/Gainburua/components/KontaktuDatuak/KontaktuDatuak.tsx deleted file mode 100644 index 7aac958..0000000 --- a/front/src/views/components/Gainburua/components/KontaktuDatuak/KontaktuDatuak.tsx +++ /dev/null @@ -1,79 +0,0 @@ -import React from 'react'; - -import InstagramLogo from '../../../../../assets/instagram.svg'; -import TwitterLogo from '../../../../../assets/twitter.svg'; -import { classNames } from '../../../../../utilities/classnames'; -import * as styles from './KontaktuDatuak.module.scss'; - -interface Props { - kolorea?: KontaktuaColor; -} - -type KontaktuaColor = 'theme' | 'zuria'; -type ColorToStyleDictionary = { - [color in KontaktuaColor]: string; -}; - -const colorToLogoStyle: ColorToStyleDictionary = { - theme: styles.themeLogo, - zuria: styles.zuriLogo, -}; - -const colorToBorderStyle: ColorToStyleDictionary = { - theme: styles.themeBorder, - zuria: styles.zuriBorder, -}; - -const colorToLinkStyle: ColorToStyleDictionary = { - theme: styles.themeLink, - zuria: styles.zuriLink, -}; - -export const KontaktuDatuak: React.FC = ({ kolorea = 'theme' }) => { - return ( -
-
-

Gazteluko plaza, 2

-

Iruñea

-
- - -
- ); -}; diff --git a/front/src/views/components/Gainburua/components/KontaktuDatuak/index.ts b/front/src/views/components/Gainburua/components/KontaktuDatuak/index.ts deleted file mode 100644 index 567733a..0000000 --- a/front/src/views/components/Gainburua/components/KontaktuDatuak/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { KontaktuDatuak } from './KontaktuDatuak'; diff --git a/front/src/views/components/Gainburua/components/MugikorNabigazioa/MugikorNabigazioa.module.scss b/front/src/views/components/Gainburua/components/MugikorNabigazioa/MugikorNabigazioa.module.scss deleted file mode 100644 index 5d1ae10..0000000 --- a/front/src/views/components/Gainburua/components/MugikorNabigazioa/MugikorNabigazioa.module.scss +++ /dev/null @@ -1,63 +0,0 @@ -@import '../../../../../styles/tools/mixins/font.scss'; - -.kontaktuaWrapper { - display: flex; - justify-content: center; - align-items: flex-end; - flex-grow: 1; - width: 100%; -} - -.hamburguer { - path { - fill: var(--color); - } -} - -.esteka { - color: var(--color-zuria); - @include largeFont; - text-align: right; - - &:not(:last-child) { - margin-bottom: var(--size-base); - } - - &:after { - content: '.'; - } -} - -.openClose { - cursor: pointer; - width: var(--size-medium); - margin-bottom: var(--size-base); -} - -.nabigazioaWrapper { - @keyframes sartu { - from { - right: -100vw; - } - to { - right: 0; - } - } - animation-name: sartu; - animation-duration: 0.25s; - - /* Containerrak sartzen duen padding berdina */ - padding: var(--size-base); - - display: flex; - flex-direction: column; - align-items: flex-end; - - position: fixed; - top: 0; - right: 0; - width: 100dvw; - background-color: var(--color-beltza); - color: var(--color-zuria); - height: 100dvh; -} diff --git a/front/src/views/components/Gainburua/components/MugikorNabigazioa/MugikorNabigazioa.tsx b/front/src/views/components/Gainburua/components/MugikorNabigazioa/MugikorNabigazioa.tsx deleted file mode 100644 index 0c0c0ab..0000000 --- a/front/src/views/components/Gainburua/components/MugikorNabigazioa/MugikorNabigazioa.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import React, { useState } from 'react'; - -import { Link } from 'gatsby'; - -import HamburgerIcon from '../../assets/hamburguer.svg'; -import Itxi from '../../assets/itxi.svg'; -import { KontaktuDatuak } from '../KontaktuDatuak'; -import * as styles from './MugikorNabigazioa.module.scss'; - -export const MugikorNabigazioa: React.FC = () => { - const [isOpen, setIsOpen] = useState(false); - - return ( - <> - {isOpen && ( -
-
setIsOpen(false)}> - -
- - - -
- -
-
- )} - -
{ - setIsOpen(true); - }} - > - -
- - ); -}; diff --git a/front/src/views/components/Gainburua/components/MugikorNabigazioa/index.ts b/front/src/views/components/Gainburua/components/MugikorNabigazioa/index.ts deleted file mode 100644 index 0efc2b1..0000000 --- a/front/src/views/components/Gainburua/components/MugikorNabigazioa/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { MugikorNabigazioa } from './MugikorNabigazioa'; diff --git a/front/src/views/components/Gainburua/index.ts b/front/src/views/components/Gainburua/index.ts deleted file mode 100644 index 34674c9..0000000 --- a/front/src/views/components/Gainburua/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Gainburua as Hero } from './Gainburua'; diff --git a/front/src/views/components/Hero/Hero.module.scss b/front/src/views/components/Hero/Hero.module.scss deleted file mode 100644 index af5f5d3..0000000 --- a/front/src/views/components/Hero/Hero.module.scss +++ /dev/null @@ -1,230 +0,0 @@ -@import '../../../styles/tools/mediaQueries.scss'; -@import '../../../styles/tools/mixins/font.scss'; -@import '../../../styles/tools/mixins/container.scss'; - -.geziaWrapper { - display: none; - - @media #{$fromDesktop} { - display: flex; - justify-content: flex-end; - } -} - -.geziaLogo { - animation-duration: 2s; - animation-iteration-count: infinite; - animation-name: bounce-2; - animation-timing-function: ease; - - @keyframes bounce-2 { - 0% { - transform: rotate(90deg) translateX(0); - } - 50% { - transform: rotate(90deg) translateX(var(--size-base)); - } - 100% { - transform: rotate(90deg) translateX(0); - } - } -} - -.nagusia { - flex-grow: 1; - @include container; -} - -.mugikorWrapper { - display: grid; - grid-template-columns: repeat(3, 1fr); - padding-top: var(--size-base); - - margin-bottom: var(--size-medium); -} - -.menuWrapper { - grid-column: 3; - grid-row: 1; - display: flex; - justify-content: flex-end; -} - -.mugikorLogoWrapper { - grid-row: 1; - grid-column: 2; - display: flex; - justify-content: center; -} - -.wrapper { - --color: var(--color-zuria); - --hover-color: var(--color-gorria); - --background-color: var(--color-beltza); - - display: flex; - flex-direction: column; - - background-color: var(--background-color); - color: var(--color); -} - -.hasiera { - --color: var(--color-zuria); - --hover-color: var(--color-horia); - --background-color: var(--color-morea); - - @media #{$fromDesktop} { - min-height: 100dvh; - } -} - -.kafetegia { - --color: var(--color-beltza); - --hover-color: var(--color-gorria); - --background-color: var(--color-horia); - - @media #{$fromDesktop} { - min-height: 100dvh; - } -} - -.bizi { - --color: var(--color-beltza); - --hover-color: var(--color-gorria); - --background-color: var(--color-urdina); - - @media #{$fromDesktop} { - min-height: 100dvh; - } -} - -.logoWrapper { - width: var(--size-huge); -} - -.logo { - path { - transition: fill 0.4s ease; - fill: var(--color); - } - - &:hover { - path { - fill: var(--hover-color); - } - } -} - -.gainburuWrapper { - padding: var(--size-base); - display: flex; - align-items: start; - justify-content: center; - - @media #{$fromTablet} { - padding: var(--size-large); - } - - @media #{$fromDesktop} { - justify-content: space-between; - } -} - -.deskribapena { - margin-bottom: var(--size-xlarge); - hyphens: auto; - - @include baseFont; - - @media #{$fromTablet} { - @include largeFont; - } -} - -.izenburuWrapper { - display: flex; - justify-content: flex-end; - align-items: center; - margin-bottom: var(--size-large); -} - -.marra { - /* altuera erabiliko den letraren berdina da */ - height: #{toRem(41.83)}; - flex-grow: 1; - box-shadow: inset 0px -3px 0px 0px var(--color); - margin-right: var(--size-tiny); -} - -.izenburua { - text-align: right; - vertical-align: bottom; - font-family: 'Abril Fatface', serif; - letter-spacing: 0.1rem; - - &:after { - content: '.'; - } - - @include gargantuanFont; -} - -.gainburuLink { - display: inline-flex; - flex-direction: column; - align-items: center; - gap: var(--size-tiny); - - @include smallFont; - - transition: color 0.4s ease; - - svg { - path { - transition: fill 0.4s ease; - fill: var(--color); - } - } - - &:focus-visible { - outline: 3px solid var(--hover-color); - } - - &:hover { - color: var(--hover-color); - - svg { - path { - transition: fill 0.4s ease; - fill: var(--hover-color); - } - } - } -} - -.desktopNavigazioaWrapper { - display: none; - - @media #{$fromDesktop} { - display: initial; - } -} - -.mobileNabigazioaWrapper { - position: absolute; - top: var(--size-base); - right: var(--size-base); - - @media #{$fromDesktop} { - display: none; - } -} - -.kontaktuDatuakWrapper { - display: none; - - @media #{$fromDesktop} { - display: initial; - } -} diff --git a/front/src/views/components/Hero/Hero.tsx b/front/src/views/components/Hero/Hero.tsx deleted file mode 100644 index 27885b4..0000000 --- a/front/src/views/components/Hero/Hero.tsx +++ /dev/null @@ -1,66 +0,0 @@ -import React from 'react'; - -import Gezia from '../../../assets/gezia.svg'; -import { AtalaName } from '../../../domain/AtalaName'; -import { classNames } from '../../../utilities/classnames'; -import Logo from './assets/logo.svg'; -import { DesktopNabigazioa } from './components/DesktopNabigazioa'; -import { KontaktuDatuak } from './components/KontaktuDatuak'; -import { MugikorNabigazioa } from './components/MugikorNabigazioa'; -import * as styles from './Hero.module.scss'; - -interface Props { - izenburua?: string; - deskribapena?: string; - atala?: AtalaName; -} - -const atalaClassname: { [key in AtalaName]: string } = { - hasiera: styles.hasiera, - kafetegia: styles.kafetegia, - bizi: styles.bizi, -}; - -export const Hero: React.FC = ({ izenburua, deskribapena, atala }) => { - return ( -
-
- -
- -
-
- -
- -
-
- - {deskribapena && ( -
-

{deskribapena}

- -
-
-

{izenburua}

-
- - -
- )} - -
- -
- -
- -
-
- ); -}; diff --git a/front/src/views/components/Hero/assets/hamburguer.svg b/front/src/views/components/Hero/assets/hamburguer.svg deleted file mode 100644 index d605fe7..0000000 --- a/front/src/views/components/Hero/assets/hamburguer.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - diff --git a/front/src/views/components/Hero/assets/itxi.svg b/front/src/views/components/Hero/assets/itxi.svg deleted file mode 100644 index 29d5210..0000000 --- a/front/src/views/components/Hero/assets/itxi.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - diff --git a/front/src/views/components/Hero/assets/logo.svg b/front/src/views/components/Hero/assets/logo.svg deleted file mode 100644 index a2cafb8..0000000 --- a/front/src/views/components/Hero/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/front/src/views/components/Hero/components/DesktopNabigazioa/DesktopNabigazioa.module.scss b/front/src/views/components/Hero/components/DesktopNabigazioa/DesktopNabigazioa.module.scss deleted file mode 100644 index 8350572..0000000 --- a/front/src/views/components/Hero/components/DesktopNabigazioa/DesktopNabigazioa.module.scss +++ /dev/null @@ -1,33 +0,0 @@ -.nabigazioa { - display: flex; - justify-content: center; - padding-bottom: var(--size-tiny); -} - -.estekaZerrenda { - display: flex; - justify-content: center; - list-style-type: none; -} - -.gainburuLink { - display: inline-block; - position: relative; - padding: var(--size-small); - - color: var(--color); - - transition: color 0.4s ease; - - &:hover { - color: var(--hover-color); - } - - &:focus-visible { - outline: 3px solid var(--hover-color); - } -} - -.active { - border-bottom: 3px solid var(--color); -} diff --git a/front/src/views/components/Hero/components/DesktopNabigazioa/DesktopNabigazioa.tsx b/front/src/views/components/Hero/components/DesktopNabigazioa/DesktopNabigazioa.tsx deleted file mode 100644 index 99cb1d2..0000000 --- a/front/src/views/components/Hero/components/DesktopNabigazioa/DesktopNabigazioa.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react'; - -import { Link } from 'gatsby'; - -import * as styles from './DesktopNabigazioa.module.scss'; - -export const DesktopNabigazioa: React.FC = () => { - return ( - - ); -}; diff --git a/front/src/views/components/Hero/components/DesktopNabigazioa/index.ts b/front/src/views/components/Hero/components/DesktopNabigazioa/index.ts deleted file mode 100644 index 2758988..0000000 --- a/front/src/views/components/Hero/components/DesktopNabigazioa/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { DesktopNabigazioa } from './DesktopNabigazioa'; diff --git a/front/src/views/components/Hero/components/KontaktuDatuak/KontaktuDatuak.module.scss b/front/src/views/components/Hero/components/KontaktuDatuak/KontaktuDatuak.module.scss deleted file mode 100644 index 880d6a0..0000000 --- a/front/src/views/components/Hero/components/KontaktuDatuak/KontaktuDatuak.module.scss +++ /dev/null @@ -1,78 +0,0 @@ -@import '../../../../../styles/tools/mixins/font.scss'; - -.wrapper { - display: flex; -} - -.sareSozialak { - display: flex; - align-items: center; - list-style-type: none; -} - -.sareSoziala { - width: var(--size-base); - height: var(--size-base); - - &:not(:last-child) { - margin-right: var(--size-small); - } -} - -.sareSozialLogo { - width: var(--size-base); - height: var(--size-base); -} - -.helbidea { - padding-right: var(--size-small); - margin-right: var(--size-small); - - @include tinyFont; -} - -.themeBorder { - border-right: 3px solid var(--color); -} - -.zuriBorder { - border-right: 3px solid var(--color-zuria); -} - -.themeLogo { - path { - transition: fill 0.4s ease; - fill: var(--color); - } - - &:hover { - path { - fill: var(--hover-color); - } - } -} - -.zuriLogo { - path { - transition: fill 0.4s ease; - fill: var(--color-zuria); - } - - &:hover { - path { - fill: var(--color-gorria); - } - } -} - -.themeLink { - &:focus { - outline: 3px solid var(--hover-color); - } -} - -.zuriLink { - &:focus { - outline: 3px solid var(--color-gorria); - } -} diff --git a/front/src/views/components/Hero/components/KontaktuDatuak/KontaktuDatuak.tsx b/front/src/views/components/Hero/components/KontaktuDatuak/KontaktuDatuak.tsx deleted file mode 100644 index 7aac958..0000000 --- a/front/src/views/components/Hero/components/KontaktuDatuak/KontaktuDatuak.tsx +++ /dev/null @@ -1,79 +0,0 @@ -import React from 'react'; - -import InstagramLogo from '../../../../../assets/instagram.svg'; -import TwitterLogo from '../../../../../assets/twitter.svg'; -import { classNames } from '../../../../../utilities/classnames'; -import * as styles from './KontaktuDatuak.module.scss'; - -interface Props { - kolorea?: KontaktuaColor; -} - -type KontaktuaColor = 'theme' | 'zuria'; -type ColorToStyleDictionary = { - [color in KontaktuaColor]: string; -}; - -const colorToLogoStyle: ColorToStyleDictionary = { - theme: styles.themeLogo, - zuria: styles.zuriLogo, -}; - -const colorToBorderStyle: ColorToStyleDictionary = { - theme: styles.themeBorder, - zuria: styles.zuriBorder, -}; - -const colorToLinkStyle: ColorToStyleDictionary = { - theme: styles.themeLink, - zuria: styles.zuriLink, -}; - -export const KontaktuDatuak: React.FC = ({ kolorea = 'theme' }) => { - return ( -
-
-

Gazteluko plaza, 2

-

Iruñea

-
- - -
- ); -}; diff --git a/front/src/views/components/Hero/components/KontaktuDatuak/index.ts b/front/src/views/components/Hero/components/KontaktuDatuak/index.ts deleted file mode 100644 index 567733a..0000000 --- a/front/src/views/components/Hero/components/KontaktuDatuak/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { KontaktuDatuak } from './KontaktuDatuak'; diff --git a/front/src/views/components/Hero/components/MugikorNabigazioa/MugikorNabigazioa.module.scss b/front/src/views/components/Hero/components/MugikorNabigazioa/MugikorNabigazioa.module.scss deleted file mode 100644 index 5d1ae10..0000000 --- a/front/src/views/components/Hero/components/MugikorNabigazioa/MugikorNabigazioa.module.scss +++ /dev/null @@ -1,63 +0,0 @@ -@import '../../../../../styles/tools/mixins/font.scss'; - -.kontaktuaWrapper { - display: flex; - justify-content: center; - align-items: flex-end; - flex-grow: 1; - width: 100%; -} - -.hamburguer { - path { - fill: var(--color); - } -} - -.esteka { - color: var(--color-zuria); - @include largeFont; - text-align: right; - - &:not(:last-child) { - margin-bottom: var(--size-base); - } - - &:after { - content: '.'; - } -} - -.openClose { - cursor: pointer; - width: var(--size-medium); - margin-bottom: var(--size-base); -} - -.nabigazioaWrapper { - @keyframes sartu { - from { - right: -100vw; - } - to { - right: 0; - } - } - animation-name: sartu; - animation-duration: 0.25s; - - /* Containerrak sartzen duen padding berdina */ - padding: var(--size-base); - - display: flex; - flex-direction: column; - align-items: flex-end; - - position: fixed; - top: 0; - right: 0; - width: 100dvw; - background-color: var(--color-beltza); - color: var(--color-zuria); - height: 100dvh; -} diff --git a/front/src/views/components/Hero/components/MugikorNabigazioa/MugikorNabigazioa.tsx b/front/src/views/components/Hero/components/MugikorNabigazioa/MugikorNabigazioa.tsx deleted file mode 100644 index b719eb8..0000000 --- a/front/src/views/components/Hero/components/MugikorNabigazioa/MugikorNabigazioa.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import React, { useState } from 'react'; - -import { Link } from 'gatsby'; - -import HamburgerIcon from '../../assets/hamburguer.svg'; -import Itxi from '../../assets/itxi.svg'; -import { KontaktuDatuak } from '../KontaktuDatuak'; -import * as styles from './MugikorNabigazioa.module.scss'; - -export const MugikorNabigazioa: React.FC = () => { - const [isOpen, setIsOpen] = useState(false); - - return ( - <> - {isOpen && ( -
-
setIsOpen(false)}> - -
- - - -
- -
-
- )} - -
{ - setIsOpen(true); - }} - > - -
- - ); -}; diff --git a/front/src/views/components/Hero/components/MugikorNabigazioa/index.ts b/front/src/views/components/Hero/components/MugikorNabigazioa/index.ts deleted file mode 100644 index 0efc2b1..0000000 --- a/front/src/views/components/Hero/components/MugikorNabigazioa/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { MugikorNabigazioa } from './MugikorNabigazioa'; diff --git a/front/src/views/components/Hero/index.ts b/front/src/views/components/Hero/index.ts deleted file mode 100644 index 76d2216..0000000 --- a/front/src/views/components/Hero/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Hero } from './Hero'; diff --git a/front/src/views/components/Layout/Layout.module.scss b/front/src/views/components/Layout/Layout.module.scss deleted file mode 100644 index a03709e..0000000 --- a/front/src/views/components/Layout/Layout.module.scss +++ /dev/null @@ -1,9 +0,0 @@ -@import '../../../styles/tools/mediaQueries.scss'; - -.wrapper { - @media #{$fromDesktop} { - display: grid; - grid-template-rows: auto 1fr auto; - min-height: 100dvh; - } -} diff --git a/front/src/views/components/Layout/Layout.tsx b/front/src/views/components/Layout/Layout.tsx deleted file mode 100644 index 58d1df3..0000000 --- a/front/src/views/components/Layout/Layout.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import React, { PropsWithChildren } from 'react'; - -import * as styles from './Layout.module.scss'; - -export const Layout: React.FC = ({ children }) => ( -
{children}
-); diff --git a/front/src/views/components/Layout/index.ts b/front/src/views/components/Layout/index.ts deleted file mode 100644 index 9fc685e..0000000 --- a/front/src/views/components/Layout/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Layout } from './Layout'; diff --git a/front/src/views/components/Oina/Oina.module.scss b/front/src/views/components/Oina/Oina.module.scss deleted file mode 100644 index 047b4cc..0000000 --- a/front/src/views/components/Oina/Oina.module.scss +++ /dev/null @@ -1,84 +0,0 @@ -@import '../../../styles/tools/mixins/font.scss'; - -.wrapper { - display: flex; - justify-content: center; - padding: var(--size-base); -} - -.esteka { - &:not(:last-child) { - margin-right: var(--size-mini); - } - - transition: color 500ms ease-out 100ms; - &:hover { - color: var(--color-morea); - } - - &:focus-visible { - outline: 2px solid var(--color-morea); - } -} - -.geziaLogo { - animation-duration: 2s; - animation-iteration-count: infinite; - animation-name: bounce-2; - animation-timing-function: ease; - - height: var(--size-base); - width: auto; - - @keyframes bounce-2 { - 0% { - transform: rotate(270deg) translateX(0); - } - 50% { - transform: rotate(270deg) translateX(var(--size-tiny)); - } - 100% { - transform: rotate(270deg) translateX(0); - } - } -} - -.oinaLink { - display: inline-flex; - flex-direction: column; - align-items: center; - gap: var(--size-tiny); - - @include tinyFont; - - transition: color 0.4s ease; - - svg { - path { - transition: fill 0.4s ease; - fill: var(--color-beltza); - } - } - - &:focus-visible { - outline: 3px solid var(--color-morea); - } - - &:hover { - color: var(--color-morea); - - svg { - path { - transition: fill 0.4s ease; - fill: var(--color-morea); - } - } - } -} - -.igoWrapper { - display: flex; - justify-content: center; - // padding-a jartzen diogu geziaren animazioari lekua uzteko - padding-top: var(--size-small); -} diff --git a/front/src/views/components/Oina/Oina.tsx b/front/src/views/components/Oina/Oina.tsx deleted file mode 100644 index 43cfdf5..0000000 --- a/front/src/views/components/Oina/Oina.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react'; - -import { Link } from 'gatsby'; - -import Gezia from '../../../assets/gezia.svg'; -import * as styles from './Oina.module.scss'; - -export const Oina: React.FC = () => ( - <> - - -
- - Lege oharra - - - Pribatutasun politika - -
- -); diff --git a/front/src/views/components/Oina/index.ts b/front/src/views/components/Oina/index.ts deleted file mode 100644 index 875c231..0000000 --- a/front/src/views/components/Oina/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Oina } from './Oina'; diff --git a/front/src/views/ekintza/Ekintza.astro b/front/src/views/ekintza/Ekintza.astro new file mode 100644 index 0000000..658f9fc --- /dev/null +++ b/front/src/views/ekintza/Ekintza.astro @@ -0,0 +1,185 @@ +--- +import type { Ekintza } from "models/Ekintza"; +import Footer from "views/_components/Footer.astro"; +import Header from "views/_components/Header.astro"; +import Layout from "../../layouts/Layout.astro"; +import MarkdownParser from "views/_components/MarkdownParser.astro"; +import ZigZagMarra from "views/_components/ZigZagMarra.astro"; +import dayjs from "dayjs"; +import { getUrl } from "models/Zikloa"; +import { getImageData } from "models/ImageMedia"; + +import "dayjs/locale/eu"; +dayjs.locale("eu"); + +interface Props { + ekintza: Ekintza; +} + +const { ekintza } = Astro.props; + +const irudia = ekintza.mainMedia ? getImageData(ekintza.mainMedia) : null; +--- + + +
+ +
+ +
+

{ekintza.izenburua}

+ +
+ +
+ +

+ {dayjs(ekintza.hitzordua).format("MMMM[k] D. H:mm")} +

+ + { + ekintza.zikloa && ( + + {ekintza.zikloa.izena} + + ) + } + +

{ekintza.titularra}

+ + { + ekintza.deskribapena && ( +
+ +
+ ) + } +
+
+ +