diff --git a/package-lock.json b/package-lock.json index 0e41c2d..0ce8343 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "web-pwa", "version": "0.0.1", "dependencies": { - "@owlboard/owlboard-ts": "^3.0.0-dev.20260427T2348", + "@owlboard/owlboard-ts": "^3.0.0-dev.20260428T2753", "@tabler/icons-svelte": "^3.40.0" }, "devDependencies": { @@ -786,9 +786,9 @@ "license": "MIT" }, "node_modules/@owlboard/owlboard-ts": { - "version": "3.0.0-dev.20260427T2348", - "resolved": "https://git.fjla.uk/api/packages/OwlBoard/npm/%40owlboard%2Fowlboard-ts/-/3.0.0-dev.20260427T2348/owlboard-ts-3.0.0-dev.20260427t2348.tgz", - "integrity": "sha512-ZZ6h8zSnL/FyEZ6ZSekhK781/5TYMj6y6atRVwKiPH6TfXxauMdEimYCOKQIcoskseH7wItEZRFGAOUDAY3q7w==", + "version": "3.0.0-dev.20260428T2753", + "resolved": "https://git.fjla.uk/api/packages/OwlBoard/npm/%40owlboard%2Fowlboard-ts/-/3.0.0-dev.20260428T2753/owlboard-ts-3.0.0-dev.20260428t2753.tgz", + "integrity": "sha512-8kZ6oP8MFz+1FHyYZS7lAYSk0Kamq80KAsIcef32/lZTT0GhIjyjZcabWZ0uipAYYsKvGqdm1wtxDrtgKPN/DQ==", "license": "GPL-3.0", "dependencies": { "@owlboard/api-schema-types": "^3.0.3-alpha1", diff --git a/package.json b/package.json index b4dc262..30e3e98 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "vitest-browser-svelte": "^2.0.2" }, "dependencies": { - "@owlboard/owlboard-ts": "^3.0.0-dev.20260427T2348", + "@owlboard/owlboard-ts": "^3.0.0-dev.20260428T2753", "@tabler/icons-svelte": "^3.40.0" } } diff --git a/src/routes/+error.svelte b/src/routes/+error.svelte index 705d615..23cea5b 100644 --- a/src/routes/+error.svelte +++ b/src/routes/+error.svelte @@ -7,10 +7,11 @@
- {#if page.status == 20} - + {#if page.status == 404} + {:else} + {/if}

{page.status}

diff --git a/src/routes/trains/+page.ts b/src/routes/trains/+page.ts index 95c67d1..ff3a735 100644 --- a/src/routes/trains/+page.ts +++ b/src/routes/trains/+page.ts @@ -19,11 +19,13 @@ export const load: PageLoad = async ({ url }) => { }); } + // Declared outside of the try so that it can be used in both the try and catch blocks + let results: ApiTrainsTrainByHeadcode.TrainByHeadcodeResponse[] + try { const response = await OwlClient.trains.getByHeadcode(headcode, date, toc); - // Shouldn't be needed to cast the type... - const results = (response.data); + results = (response.data); return { title: headcode.toUpperCase(), results: results, @@ -36,11 +38,17 @@ export const load: PageLoad = async ({ url }) => { }); } else if (e instanceof ApiError) { // Check if NO_RESULTS error, and return empty array if that is the case - // Maybe adjust the resulting error depending on the ERROR Code?! - throw error(20, { - message: e.message, - owlCode: 'API_ERROR', - }); + if (e.code === "NOT_FOUND") { + return { + title: headcode.toUpperCase(), + results: [] + } + } else { + throw error(e.status, { + message: e.message, + owlCode: 'API_ERROR', + }); + } } else if (e instanceof Error) { throw error(500, { message: e.message, @@ -53,4 +61,4 @@ export const load: PageLoad = async ({ url }) => { }) } } -} \ No newline at end of file +}