local activity storage and convert page fixes

- Replace rdp dependency with inline pure-Python RDP implementation
    so the bincio wheel runs in Pyodide (no pure-Python wheel existed for rdp)
  - Fix convert page script: remove define:vars so Vite bundles it and
    TypeScript imports (localstore, format) work correctly
  - Rename wheel to proper PEP 427 filename (bincio-0.1.0-py3-none-any.whl)
  - Use en-GB date format on convert result, consistent with the feed
  - Add /activity/local/ page + LocalActivityDetail for IDB-only activities;
    feed links local activities there instead of the SSG route
  - Fix getStaticPaths: try public/data symlink as fallback, never crash on
    missing index.json
  - Fix ActivityDetail.onMount: load detail even when detail_url is absent
    so locally converted activities show map and charts
  - Derive track_url and detail_url from id in toSummary() since they are
    not present in the detail JSON
  - Reload on bfcache restore (pageshow) so client:only components re-mount
    after back navigation
This commit is contained in:
Davide Scaini
2026-04-08 14:14:42 +02:00
parent 5bf0f3636c
commit 083c67d018
8 changed files with 77 additions and 16 deletions
+1 -2
View File
@@ -27,9 +27,8 @@
$: displayTitle = localTitle || activity.title;
onMount(async () => {
if (!activity.detail_url) return;
try {
detail = await loadActivity(activity.id, activity.detail_url, base);
detail = await loadActivity(activity.id, activity.detail_url ?? '', base);
if (!detail) throw new Error('Activity not found');
} catch (e: any) {
error = e.message;