feat: implement LoaderPersons to fetch person data and integrate into year page

This commit is contained in:
Norbert Maciaszek
2025-11-17 22:20:12 +01:00
parent 259bb23ec9
commit 6507ac7f0c
3 changed files with 16 additions and 1 deletions

View File

@@ -0,0 +1,5 @@
import { DB } from '$lib/integrations/db';
export const LoaderPersons = (yearId: string) => {
return () => DB.getPersons(yearId);
};

View File

@@ -1,4 +1,5 @@
import { orchestrateLoaders } from '$lib/loaders'; import { orchestrateLoaders } from '$lib/loaders';
import { LoaderPersons } from '$lib/loaders/LoaderPerson';
import { LoaderYear } from '$lib/loaders/LoaderYear'; import { LoaderYear } from '$lib/loaders/LoaderYear';
import { LoaderYears } from '$lib/loaders/LoaderYear'; import { LoaderYears } from '$lib/loaders/LoaderYear';
@@ -8,8 +9,11 @@ export const load = async ({ params }: { params: { year: string } }) => {
LoaderYears() LoaderYears()
]); ]);
const personsData = await LoaderPersons(yearData.id)();
return { return {
year: yearData, year: yearData,
years: yearsData years: yearsData,
persons: personsData
}; };
}; };

View File

@@ -1,4 +1,5 @@
<script> <script>
import PersonCard from '$lib/components/molecules/PersonCard.svelte';
import YearNav from '$lib/components/molecules/YearNav.svelte'; import YearNav from '$lib/components/molecules/YearNav.svelte';
import YearControls from '$lib/components/organisms/YearControls.svelte'; import YearControls from '$lib/components/organisms/YearControls.svelte';
import YearOverview from '$lib/components/organisms/YearOverview.svelte'; import YearOverview from '$lib/components/organisms/YearOverview.svelte';
@@ -9,3 +10,8 @@
<YearOverview data={data.year} /> <YearOverview data={data.year} />
<YearNav years={data.years} /> <YearNav years={data.years} />
<YearControls /> <YearControls />
<section class="grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3">
{#each data.persons as person}
<PersonCard {...person} />
{/each}
</section>