Bugfix:
- Update to @tabler/icons-svelte-runes for a more 'Svente 5' experience. - Adjust error handling in load functions, plain error thrown for handling in the error handler. - Fix the warning regarding a click handler attached to an <img> on the About page - Re-organise component directory - Remove unused font declarations from global.css Features: - Add service-worker caching of FilterData API response to allow for filtering to work fully offline -
This commit is contained in:
@@ -35,30 +35,12 @@ export const load: PageLoad = async ({ url, fetch }) => {
|
||||
boardData
|
||||
};
|
||||
} catch (e: unknown) {
|
||||
if (
|
||||
e instanceof TypeError &&
|
||||
(e.message == 'Failed to fetch' || e.message.includes('network'))
|
||||
) {
|
||||
throw error(503, {
|
||||
message: 'Network error: Please check your connection',
|
||||
if (e instanceof TypeError && e.message === 'Failed to fetch') {
|
||||
error(503, {
|
||||
message: 'Cannot connect to the OwlBoard server',
|
||||
owlCode: 'NETWORK_DISCONNECTED'
|
||||
});
|
||||
}
|
||||
if (e instanceof ValidationError) {
|
||||
throw error(400, { message: e.message, owlCode: 'VALIDATION_ERROR' });
|
||||
} else if (e instanceof ApiError) {
|
||||
// If the API returns 404, it means the backend doesn't recognize this CRS/TIPLOC
|
||||
if (e.code === 'NOT_FOUND') {
|
||||
throw error(404, {
|
||||
message: `Location (${locId.toUpperCase()}) is not recognized by the server.`,
|
||||
owlCode: 'LOCATION_NOT_IN_BACKEND'
|
||||
});
|
||||
}
|
||||
throw error(e.status, { message: e.message, owlCode: 'API_ERROR' });
|
||||
} else if (e instanceof Error) {
|
||||
throw error(500, { message: e.message, owlCode: 'GEN_ERROR' });
|
||||
}
|
||||
|
||||
throw error(500, { message: 'Unexpected error', owlCode: 'UNKNOWN_ERR' });
|
||||
throw e;
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user