refactor: improve error handling in server hooks and update meta tags for social sharing

This commit is contained in:
2026-03-01 04:09:55 +01:00
parent d74092231e
commit e0c021782c
6 changed files with 11 additions and 11 deletions

View File

@@ -76,12 +76,12 @@ export const handle: Handle = handleBetterAuth;
// Catches unhandled errors from load functions, API routes, etc. // Catches unhandled errors from load functions, API routes, etc.
// Logs context for debugging; returns a safe message to the client. // Logs context for debugging; returns a safe message to the client.
export const handleError: HandleServerError = ({ error, event }) => { export const handleError: HandleServerError = ({ error, event }) => {
const err = error as any; const err = error instanceof Error ? error : new Error(String(error));
console.error('[Server Error]', { console.error('[Server Error]', {
message: err?.message ?? String(error), message: err.message,
path: event.url.pathname, path: event.url.pathname,
method: event.request.method, method: event.request.method,
stack: err?.stack stack: err.stack
}); });
return { message: 'An unexpected error occurred.' }; return { message: 'An unexpected error occurred.' };
}; };

View File

@@ -54,7 +54,7 @@
<!-- Logo --> <!-- Logo -->
<a href="/" class="flex items-center gap-2.5 px-5 py-5"> <a href="/" class="flex items-center gap-2.5 px-5 py-5">
<img src="/logo.png" alt="Vash Esports" class="h-8 w-8" /> <img src="/logo.png" alt="Vash Esports" class="h-8 w-8" />
<span class="font-700 text-base tracking-tight text-text-primary">Vash Esports</span> <span class="font-700 font-bold text-base tracking-tight text-text-primary">Vash Esports</span>
</a> </a>
<!-- Nav --> <!-- Nav -->

View File

@@ -96,9 +96,9 @@
<meta property="og:description" content="very cool and awesome automated osu! matchmaking platform" /> <meta property="og:description" content="very cool and awesome automated osu! matchmaking platform" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content={page.url.href} /> <meta property="og:url" content={page.url.href} />
<meta property="og:image" content="/og-image.png" /> <meta property="og:image" content="/logo.png" />
<meta property="og:site_name" content="Vash Esports" /> <meta property="og:site_name" content="Vash Esports" />
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary" />
</svelte:head> </svelte:head>
<!-- ── LANDING PAGE (not logged in) ── --> <!-- ── LANDING PAGE (not logged in) ── -->

View File

@@ -56,9 +56,9 @@
<meta property="og:description" content="{data.pool.slots.length} maps · View on Vash Esports" /> <meta property="og:description" content="{data.pool.slots.length} maps · View on Vash Esports" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content={page.url.href} /> <meta property="og:url" content={page.url.href} />
<meta property="og:image" content="/og-image.png" /> <meta property="og:image" content="/logo.png" />
<meta property="og:site_name" content="Vash Esports" /> <meta property="og:site_name" content="Vash Esports" />
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary" />
</svelte:head> </svelte:head>
<div class="mx-auto max-w-4xl"> <div class="mx-auto max-w-4xl">

View File

@@ -207,7 +207,7 @@
{@const sc = stateConfig[m.state]} {@const sc = stateConfig[m.state]}
<a <a
href="/matches/{m.id}" href="/matches/{m.id}"
class="group flex items-center gap-4 rounded-lg border border-green-500/20 bg-surface-800 p-4 transition-all hover:border-green-500/40 hover:bg-surface-700" class="group flex items-center gap-4 rounded-lg border border-white/15 bg-surface-800 p-4 transition-all hover:border-white/30 hover:bg-surface-700"
> >
<div class="flex flex-1 items-center gap-3"> <div class="flex flex-1 items-center gap-3">
{#if p1?.team.avatarUrl} {#if p1?.team.avatarUrl}

View File

@@ -113,9 +113,9 @@
<meta property="og:description" content={ogDesc} /> <meta property="og:description" content={ogDesc} />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content={page.url.href} /> <meta property="og:url" content={page.url.href} />
<meta property="og:image" content="/og-image.png" /> <meta property="og:image" content="/logo.png" />
<meta property="og:site_name" content="Vash Esports" /> <meta property="og:site_name" content="Vash Esports" />
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary" />
</svelte:head> </svelte:head>
<!-- Shared reinvite snippet --> <!-- Shared reinvite snippet -->