diff --git a/front/src/models/Ekintza.ts b/front/src/models/Ekintza.ts index fbb9661..a098c87 100644 --- a/front/src/models/Ekintza.ts +++ b/front/src/models/Ekintza.ts @@ -9,6 +9,12 @@ export interface Elkarlana { erakundeak?: Erakundea[]; } +export interface Sarrera { + label: string; + deskribapena?: string; + url?: string; +} + export interface Ekintza { id: string; slug: string; @@ -18,10 +24,7 @@ export interface Ekintza { deskribapena: string; hitzordua: string; elkarlana?: Elkarlana; - sarrera: { - label: string; - deskribapena: string; - }; + sarrera: Sarrera; mainMedia: ImageMedia; zikloa: Pick; } diff --git a/front/src/views/ekintza/Ekintza.astro b/front/src/views/ekintza/Ekintza.astro index 5610db1..d9b460c 100644 --- a/front/src/views/ekintza/Ekintza.astro +++ b/front/src/views/ekintza/Ekintza.astro @@ -11,6 +11,7 @@ import { getImageData } from "models/ImageMedia"; import "dayjs/locale/eu"; import Elkarlana from "./_components/Elkarlana.astro"; +import Sarrera from "./_components/Sarrera.astro"; dayjs.locale("eu"); interface Props { @@ -68,6 +69,8 @@ const irudia = ekintza.mainMedia ? getImageData(ekintza.mainMedia) : null;

{ekintza.titularra}

+ {ekintza.sarrera && } + { ekintza.deskribapena && (
diff --git a/front/src/views/ekintza/_components/Sarrera.astro b/front/src/views/ekintza/_components/Sarrera.astro new file mode 100644 index 0000000..fd92392 --- /dev/null +++ b/front/src/views/ekintza/_components/Sarrera.astro @@ -0,0 +1,62 @@ +--- +import type { Sarrera } from "models/Ekintza"; + +interface Props { + sarrera: Sarrera; +} + +const { sarrera } = Astro.props; +--- + +{ + sarrera.url ? ( + {sarrera.label} + ) : ( +

{sarrera.label}

+ ) +} + +

{sarrera.deskribapena}

+ +