Add Nerd Corner tab with year-over-year cumulative progress chart
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
import RecordsView from './RecordsView.svelte';
|
||||
import AthleteDrawer from './AthleteDrawer.svelte';
|
||||
import Explore from './Explore.svelte';
|
||||
import NerdCorner from './NerdCorner.svelte';
|
||||
import { isUnlisted, formatElapsed, formatDistance, sportIcon } from '../lib/format';
|
||||
import { loadIndex, loadAthlete } from '../lib/dataloader';
|
||||
|
||||
@@ -22,7 +23,7 @@
|
||||
let error: string | null = null;
|
||||
let drawerOpen = false;
|
||||
|
||||
type Tab = 'power' | 'records' | 'segments' | 'profile' | 'explore';
|
||||
type Tab = 'power' | 'records' | 'segments' | 'profile' | 'explore' | 'nerd';
|
||||
let activeTab: Tab = 'power';
|
||||
let mounted = false;
|
||||
let isOwner = false;
|
||||
@@ -83,7 +84,7 @@
|
||||
|
||||
onMount(async () => {
|
||||
isOwner = (window as any).__bincioMe === handle;
|
||||
const TABS: Tab[] = ['power', 'records', 'segments', 'profile', 'explore'];
|
||||
const TABS: Tab[] = ['power', 'records', 'segments', 'profile', 'explore', 'nerd'];
|
||||
const rawTab = new URLSearchParams(window.location.search).get('tab');
|
||||
const resolved = TABS.includes(rawTab as Tab) ? (rawTab as Tab) : 'power';
|
||||
activeTab = (resolved === 'explore' && !isOwner) ? 'power' : resolved;
|
||||
@@ -149,7 +150,8 @@
|
||||
{ key: 'records', label: 'Records' },
|
||||
{ key: 'segments', label: 'Segments' },
|
||||
{ key: 'profile', label: 'Profile' },
|
||||
{ key: 'explore', label: 'Explore', ownerOnly: true },
|
||||
{ key: 'explore', label: 'Explore', ownerOnly: true },
|
||||
{ key: 'nerd', label: 'Nerd Corner', ownerOnly: true },
|
||||
];
|
||||
$: TABS = ALL_TABS.filter(t => !t.ownerOnly || isOwner);
|
||||
</script>
|
||||
@@ -331,6 +333,13 @@
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<!-- Nerd Corner tab -->
|
||||
{:else if activeTab === 'nerd'}
|
||||
<div class="bg-zinc-900 rounded-xl p-4 border border-zinc-800">
|
||||
<h3 class="text-sm font-medium text-zinc-400 uppercase tracking-wide mb-4">Year over year</h3>
|
||||
<NerdCorner {activities} />
|
||||
</div>
|
||||
|
||||
<!-- Explore tab -->
|
||||
{:else if activeTab === 'explore'}
|
||||
<div style="height: calc(100vh - 200px); margin: 0 -1rem -1.5rem;">
|
||||
|
||||
Reference in New Issue
Block a user