diff --git a/frontend/src/routes/+page.svelte b/frontend/src/routes/+page.svelte
index 079a159..f28b725 100644
--- a/frontend/src/routes/+page.svelte
+++ b/frontend/src/routes/+page.svelte
@@ -2,13 +2,10 @@
import BottomAppBar from '$lib/components/BottomAppBar.svelte';
import Path from '$lib/components/Path.svelte';
import Splash from '$lib/components/Splash.svelte';
- import { onMount } from 'svelte';
- import {getRouteCategories} from '$lib/repo';
- let categories = [];
- onMount(async () => {
- categories = await getRouteCategories();
- })
+ export let data;
+ let categories = data.categories;
+
diff --git a/frontend/src/routes/+page.ts b/frontend/src/routes/+page.ts
new file mode 100644
index 0000000..f8b3cbd
--- /dev/null
+++ b/frontend/src/routes/+page.ts
@@ -0,0 +1,15 @@
+
+import { getRouteCategories } from '$lib/repo.js';
+import { error } from '@sveltejs/kit';
+
+/** @type {import('./$types').PageLoad} */
+export async function load() {
+ let categories = [];
+ try {
+ categories = await getRouteCategories();
+ } catch (ex) {
+ error(500);
+ }
+
+ return { categories };
+}
\ No newline at end of file
diff --git a/frontend/src/routes/routes/[slug]/+page.svelte b/frontend/src/routes/routes/[slug]/+page.svelte
index e5bc7e7..3a80709 100644
--- a/frontend/src/routes/routes/[slug]/+page.svelte
+++ b/frontend/src/routes/routes/[slug]/+page.svelte
@@ -1,13 +1,14 @@
@@ -15,8 +16,8 @@
-
Percorso {data.name_it}
-
Dislivello {data.route_sport_details[0].elevation_gain} m
+
Percorso {data.title_it}
+
Dislivello {data?.route_sport_details[0]?.elevation_gain} m
diff --git a/frontend/src/routes/routes/[slug]/+page.ts b/frontend/src/routes/routes/[slug]/+page.ts
index e078e99..0ba8b11 100644
--- a/frontend/src/routes/routes/[slug]/+page.ts
+++ b/frontend/src/routes/routes/[slug]/+page.ts
@@ -1,7 +1,14 @@
-import { getRouteByCategory } from '$lib/repo.js';
+import { getRoute } from '$lib/repo.js';
import { error } from '@sveltejs/kit';
/** @type {import('./$types').PageLoad} */
export async function load({ params }) {
- return await getRouteByCategory(params.slug);
+ const routeId = Number(params.slug);
+ const route = await getRoute(routeId);
+
+ if (!route) {
+ error(404);
+ }
+
+ return route;
}
\ No newline at end of file