diff --git a/src/routes/directory/[slug]/+page.svelte b/src/routes/directory/[slug]/+page.svelte
index 298fc0e..ac9b605 100644
--- a/src/routes/directory/[slug]/+page.svelte
+++ b/src/routes/directory/[slug]/+page.svelte
@@ -1,7 +1,37 @@
-
{data.title}
-{@html data.content}
+
+
+
+ {#each filteredSvgs as svg}
+
+ {/each}
+
+
diff --git a/src/routes/directory/[slug]/+page.ts b/src/routes/directory/[slug]/+page.ts
index d935cd8..4b6ad6b 100644
--- a/src/routes/directory/[slug]/+page.ts
+++ b/src/routes/directory/[slug]/+page.ts
@@ -1,13 +1,23 @@
import { error } from '@sveltejs/kit';
import type { PageLoad } from './$types';
-export const load = (({ params }) => {
- if (params.slug === 'hello-world') {
- return {
- title: 'Hello world!',
- content: 'Welcome to our blog. Lorem ipsum dolor sit amet...'
- };
+import { svgs } from '@/data/svgs';
+import type { iSVG } from '@/types/svg';
+
+export const load = (async ({ params }) => {
+ const { slug } = params;
+
+ // Check if slug is valid:
+ if (!slug) {
+ return error(404, 'Not found');
}
- throw error(404, 'Not found');
+ // Filter out the svg with the matching slug:
+ const svgsByCategory = svgs.filter((svg: iSVG) => svg.category.toLowerCase() === slug);
+
+ return {
+ props: {
+ svgs: svgsByCategory
+ }
+ };
}) satisfies PageLoad;