diff --git a/src/components/Calendar.svelte b/src/components/Calendar.svelte
index e103f32a..dc515513 100644
--- a/src/components/Calendar.svelte
+++ b/src/components/Calendar.svelte
@@ -45,8 +45,8 @@
src={currentEvent.image.src.src}
srcset={currentEvent.image.src.srcSet.attribute}
alt={currentEvent.image.alt}
- sizes="(min-width: 1024px) 50vw, 100vw"
class="absolute top-0 left-0 h-full w-full rounded-t-2xl object-cover transition-opacity lg:rounded-l-2xl lg:rounded-tr-none"
+ sizes="(min-width: 1360px) 622px, (min-width: 1040px) calc(44.33vw + 28px), 100vw"
/>
{/key}
diff --git a/src/components/about-us/Exercises.svelte b/src/components/about-us/Exercises.svelte
index 1200612e..8570dba7 100644
--- a/src/components/about-us/Exercises.svelte
+++ b/src/components/about-us/Exercises.svelte
@@ -24,6 +24,7 @@
srcSet={exercise.image.srcSet.attribute}
{...exercise.image.attributes}
alt={exercise.title}
+ sizes="(min-width: 1360px) 455px, calc(35.67vw - 23px)"
class="bg-light-green aspect-square h-auto w-full rounded-full object-cover object-center"
/>
@@ -40,6 +41,8 @@
@@ -59,6 +62,8 @@
@@ -75,6 +80,8 @@
@@ -116,6 +123,8 @@
diff --git a/src/components/about-us/FlowerDecoration.astro b/src/components/about-us/FlowerDecoration.astro
index c49be9f7..1bf1bd5a 100644
--- a/src/components/about-us/FlowerDecoration.astro
+++ b/src/components/about-us/FlowerDecoration.astro
@@ -5,8 +5,11 @@ import { Image } from 'astro:assets';
diff --git a/src/components/about-us/History.astro b/src/components/about-us/History.astro
index 17a39bba..1b9ac5d2 100644
--- a/src/components/about-us/History.astro
+++ b/src/components/about-us/History.astro
@@ -12,7 +12,9 @@ import { Image } from 'astro:assets';
diff --git a/src/components/about-us/TeamMembers.astro b/src/components/about-us/TeamMembers.astro
index 924f7e07..253e12f7 100644
--- a/src/components/about-us/TeamMembers.astro
+++ b/src/components/about-us/TeamMembers.astro
@@ -39,7 +39,9 @@ const members = [
{member.name}
{member.job}
diff --git a/src/components/about-us/TryThisAtHome.astro b/src/components/about-us/TryThisAtHome.astro
index ffce6c75..d14cc695 100644
--- a/src/components/about-us/TryThisAtHome.astro
+++ b/src/components/about-us/TryThisAtHome.astro
@@ -14,7 +14,9 @@ import { Image } from 'astro:assets';
diff --git a/src/components/about-us/WhatWeDo.astro b/src/components/about-us/WhatWeDo.astro
index 4d4ccc10..44a9bb4d 100644
--- a/src/components/about-us/WhatWeDo.astro
+++ b/src/components/about-us/WhatWeDo.astro
@@ -11,8 +11,8 @@ const exercises = await getExercises();
diff --git a/src/components/members/MemberBenefits.astro b/src/components/members/MemberBenefits.astro
index 5c916f78..ffb2c382 100644
--- a/src/components/members/MemberBenefits.astro
+++ b/src/components/members/MemberBenefits.astro
@@ -11,14 +11,18 @@ import { Image } from 'astro:assets';
Werde Mitglied
@@ -67,16 +71,20 @@ import { Image } from 'astro:assets';
text="Mitglied werden"
/>
-
diff --git a/src/components/support-us/DonationMethodList.svelte b/src/components/support-us/DonationMethodList.svelte
index ef7d122f..e8094c39 100644
--- a/src/components/support-us/DonationMethodList.svelte
+++ b/src/components/support-us/DonationMethodList.svelte
@@ -51,6 +51,7 @@
src={possibility.image.src}
{...possibility.image.attributes}
alt={possibility.title}
+ sizes="100vw"
class="h-full w-full bg-gray-300 object-cover object-center"
/>
diff --git a/src/components/support-us/DonationMethodTabs.svelte b/src/components/support-us/DonationMethodTabs.svelte
index bc120c4c..3aa1f1bb 100644
--- a/src/components/support-us/DonationMethodTabs.svelte
+++ b/src/components/support-us/DonationMethodTabs.svelte
@@ -89,6 +89,7 @@
src={possibility.image.src}
{...possibility.image.attributes}
class="h-full w-full bg-gray-300 object-cover object-center"
+ sizes="28rem"
alt={possibility.title}
/>
diff --git a/src/components/support-us/DonationMethods.astro b/src/components/support-us/DonationMethods.astro
index a49f69a4..801104fb 100644
--- a/src/components/support-us/DonationMethods.astro
+++ b/src/components/support-us/DonationMethods.astro
@@ -30,7 +30,9 @@ const possibilities = await getDonationMethods();
diff --git a/src/data/index.ts b/src/data/index.ts
index 3c752caa..9fa163a4 100644
--- a/src/data/index.ts
+++ b/src/data/index.ts
@@ -60,8 +60,8 @@ export type YearlyEvent = {
for_all: boolean;
future?: string;
//TODO: this should probably also be an ImageWithAlt
- image: {
- src: GetImageResult;
+ image: GetImageResult & {
+ alt: string;
};
month: string;
short_description: string;
diff --git a/src/data/real/events.ts b/src/data/real/events.ts
index ada1d48d..8be30d91 100644
--- a/src/data/real/events.ts
+++ b/src/data/real/events.ts
@@ -81,7 +81,7 @@ export async function get3CalendarEntries(): Promise<
alt: r!.alt,
src: await getImage({
...r!,
- widths: [300, 622, 980, 1244, 1560, 1810, 2040, r!.width],
+ widths: [300, 721, 920, 1080, 1244, 1430, 1590, 1730, 1866, 1960, 2040, r!.width],
}),
})),
link: event.slug ? `/events/${event.slug}` : null,
@@ -118,7 +118,10 @@ export async function getAllYearlyEvents(): Promise {
{
day: '2',
for_all: true,
- image: { src: await getImage({ src: EventImage1 }) },
+ image: {
+ alt: 'Eine Gruppe Menschen sitzt in einer Reihe.',
+ ...(await getYearlyEventImage(EventImage1)),
+ },
month: 'September',
short_description:
'Unsere jährliche Sommerveranstaltung ist für viele das Highlight des Jahres!',
@@ -128,7 +131,10 @@ export async function getAllYearlyEvents(): Promise {
{
day: '31',
for_all: true,
- image: { src: await getImage({ src: EventImage2 }) },
+ image: {
+ alt: 'Menschen sitzen an einem Holztisch und spielen ein Kartenspiel im Garten.',
+ ...(await getYearlyEventImage(EventImage2)),
+ },
month: 'Dezember',
short_description:
'Lass uns das vergangene Jahr ausklingen lassen und gemeinsam in das neue Jahr starten!',
@@ -138,7 +144,10 @@ export async function getAllYearlyEvents(): Promise {
{
day: '4',
for_all: false,
- image: { src: await getImage({ src: EventImage3 }) },
+ image: {
+ alt: 'Ein großer Kuschelhaufen liegt vor einer Frau die Ukulele spielt.',
+ ...(await getYearlyEventImage(EventImage3)),
+ },
month: 'April',
short_description:
'Werde Mitglied und entscheide gemeinsam über die Zukunft von YoungVision!',
@@ -166,3 +175,7 @@ export async function getEventImage(
};
}
}
+
+async function getYearlyEventImage(src: Parameters[0]['src']) {
+ return getImage({ src, widths: [665, 1080, 1380, 1620, 1810, 1980] });
+}
diff --git a/src/data/real/exercises.ts b/src/data/real/exercises.ts
index 978e3057..c6654f5e 100644
--- a/src/data/real/exercises.ts
+++ b/src/data/real/exercises.ts
@@ -50,5 +50,9 @@ export async function getExercises(): Promise {
}
async function optimizeImage(src: ImageMetadata) {
- return await getImage({ formats: ['avif', 'webp'], src, widths: [300, 600, 900] });
+ return await getImage({
+ formats: ['avif', 'webp'],
+ src,
+ widths: [639, 1090, 1390, 1640, 1860, 2048],
+ });
}
diff --git a/src/data/test/events.ts b/src/data/test/events.ts
index 28238628..73961500 100644
--- a/src/data/test/events.ts
+++ b/src/data/test/events.ts
@@ -1,5 +1,3 @@
-import type { GetImageResult } from 'astro';
-
import calendarCoverImage from '@assets/events/calendar-cover.jpeg';
import pastEvent from '@assets/events/calendar-past-event.jpeg';
import thirdEventImage from '@assets/events/calendar-third-event.jpeg';
@@ -8,7 +6,7 @@ import EventImage2 from '@assets/events/projects-event-image-2.jpeg';
import EventImage3 from '@assets/events/projects-event-image-3.jpeg';
import { getImage } from 'astro:assets';
-import type { EventCalendarEntry, EventData, EventPage } from '../index.ts';
+import type { EventCalendarEntry, EventData, EventPage, YearlyEvent } from '../index.ts';
export const testEventData: EventData = {
get3CalendarEntries,
@@ -16,19 +14,6 @@ export const testEventData: EventData = {
getAllYearlyEvents,
};
-export type YVEvent = {
- day: string;
- for_all: boolean;
- future?: string;
- image: {
- src: GetImageResult;
- };
- month: string;
- short_description: string;
- slug: string;
- title: string;
-};
-
export async function get3CalendarEntries(): Promise<
[EventCalendarEntry, EventCalendarEntry, EventCalendarEntry]
> {
@@ -103,12 +88,12 @@ export async function getAllPages(): Promise {
];
}
-export async function getAllYearlyEvents(): Promise {
+export async function getAllYearlyEvents(): Promise {
return [
{
day: '1',
for_all: true,
- image: { src: await getImage({ src: EventImage1 }) },
+ image: { alt: 'Test Event Image 1', ...(await getImage({ src: EventImage1 })) },
month: 'Januar',
short_description: 'Das ist ein Test Event. Komm nicht vorbei, weil es ist nicht real.',
slug: 'event-1',
@@ -117,7 +102,7 @@ export async function getAllYearlyEvents(): Promise {
{
day: '31',
for_all: true,
- image: { src: await getImage({ src: EventImage2 }) },
+ image: { alt: 'Test Event Image 2', ...(await getImage({ src: EventImage2 })) },
month: 'Oktober',
short_description:
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed pretium, felis sed luctus tempor',
@@ -127,7 +112,7 @@ export async function getAllYearlyEvents(): Promise {
{
day: '24',
for_all: false,
- image: { src: await getImage({ src: EventImage3 }) },
+ image: { alt: 'Test Event Image 3', ...(await getImage({ src: EventImage3 })) },
month: 'Mai',
short_description: 'Noch ein Test Event, aber nur für Mitglieder !!!1!!11!111elf1',
slug: 'event-3',
diff --git a/src/pages/about-us.astro b/src/pages/about-us.astro
index c0965c9e..849e7db8 100644
--- a/src/pages/about-us.astro
+++ b/src/pages/about-us.astro
@@ -13,24 +13,36 @@ import { Image } from 'astro:assets';
diff --git a/src/pages/events/[slug].astro b/src/pages/events/[slug].astro
index 9adfacc4..9e5b0140 100644
--- a/src/pages/events/[slug].astro
+++ b/src/pages/events/[slug].astro
@@ -60,7 +60,7 @@ const locationPictures = [
loading="eager"
{...event.heroImage}
sizes="100vw"
- widths={[360, 540, 720, 960, 1200, 1920]}
+ widths={[325, 721, 920, 1080, 1290, 1480, 1640, 1780, 1920, 2048]}
/>
@@ -198,7 +198,7 @@ const locationPictures = [
diff --git a/src/pages/members.astro b/src/pages/members.astro
index 29a047a1..8c020978 100644
--- a/src/pages/members.astro
+++ b/src/pages/members.astro
@@ -20,6 +20,8 @@ const testimonials = await getTestimonials();