fix: athlete page shows empty state instead of error when athlete.json missing
This commit is contained in:
@@ -42,8 +42,7 @@
|
|||||||
loadAthlete(import.meta.env.BASE_URL, athleteUrl || undefined),
|
loadAthlete(import.meta.env.BASE_URL, athleteUrl || undefined),
|
||||||
loadIndex(import.meta.env.BASE_URL, indexUrl || undefined),
|
loadIndex(import.meta.env.BASE_URL, indexUrl || undefined),
|
||||||
]);
|
]);
|
||||||
if (!athleteData) throw new Error('athlete.json not found — run bincio extract first');
|
athlete = athleteData as AthleteJson | null;
|
||||||
athlete = athleteData;
|
|
||||||
activities = index.activities.filter(a => a.mmp && a.privacy !== 'private');
|
activities = index.activities.filter(a => a.mmp && a.privacy !== 'private');
|
||||||
} catch (e: any) {
|
} catch (e: any) {
|
||||||
error = e.message;
|
error = e.message;
|
||||||
@@ -78,7 +77,17 @@
|
|||||||
<p class="text-zinc-400 text-sm">Loading…</p>
|
<p class="text-zinc-400 text-sm">Loading…</p>
|
||||||
{:else if error}
|
{:else if error}
|
||||||
<p class="text-red-400 text-sm">{error}</p>
|
<p class="text-red-400 text-sm">{error}</p>
|
||||||
{:else if athlete}
|
{:else if !athlete}
|
||||||
|
<div class="text-zinc-400 text-sm space-y-3">
|
||||||
|
<p>No athlete profile yet.</p>
|
||||||
|
{#if editEnabled}
|
||||||
|
<button
|
||||||
|
on:click={() => drawerOpen = true}
|
||||||
|
class="px-3 py-1.5 text-xs border border-zinc-700 hover:border-zinc-500 text-zinc-400 hover:text-white rounded-md transition-colors"
|
||||||
|
>Create profile</button>
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
{:else}
|
||||||
|
|
||||||
<!-- Header row: tabs + edit button -->
|
<!-- Header row: tabs + edit button -->
|
||||||
<div class="flex items-center justify-between mb-6 border-b border-zinc-800 pb-0">
|
<div class="flex items-center justify-between mb-6 border-b border-zinc-800 pb-0">
|
||||||
|
|||||||
Reference in New Issue
Block a user