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
+7
View File
@@ -21,6 +21,13 @@ const baseUrl = import.meta.env.BASE_URL ?? '/';
document.documentElement.setAttribute('data-theme', t);
</script>
<!-- Reload on bfcache restore so client:only components re-mount -->
<script is:inline>
window.addEventListener('pageshow', function(e) {
if (e.persisted) window.location.reload();
});
</script>
<style is:global>
/* ── Theme tokens ─────────────────────────────────────────────────────── */
:root, [data-theme="dark"] {