+
+
{#each $files as file}
-
+
{/each}
diff --git a/website/src/lib/components/GPXData.svelte b/website/src/lib/components/GPXData.svelte
new file mode 100644
index 00000000..2b348f30
--- /dev/null
+++ b/website/src/lib/components/GPXData.svelte
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+ {gpxData.distance.total.toFixed(2)} km
+
+ Distance
+
+
+
+
+ {gpxData.elevation.gain.toFixed(0)} m
+
+ {gpxData.elevation.loss.toFixed(0)} m
+
+ Elevation
+
+
+
+
+ {gpxData.speed.moving.toFixed(2)} km/h
+
+ Time
+
+
+
+
+ {toHHMMSS(gpxData.time.moving)} / {toHHMMSS(gpxData.time.total)}
+
+ Moving time / Total time
+
+
+
diff --git a/website/src/lib/components/GPXDataItem.svelte b/website/src/lib/components/GPXDataItem.svelte
new file mode 100644
index 00000000..a2cd0c99
--- /dev/null
+++ b/website/src/lib/components/GPXDataItem.svelte
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/website/src/lib/components/Map.svelte b/website/src/lib/components/Map.svelte
index 517e0787..852a86d4 100644
--- a/website/src/lib/components/Map.svelte
+++ b/website/src/lib/components/Map.svelte
@@ -113,4 +113,12 @@
@apply h-full;
@apply overflow-hidden;
}
+
+ div :global(.mapboxgl-ctrl-bottom-left) {
+ @apply bottom-10;
+ }
+
+ div :global(.mapboxgl-ctrl-bottom-right) {
+ @apply bottom-10;
+ }
diff --git a/website/src/lib/components/ui/card/card-content.svelte b/website/src/lib/components/ui/card/card-content.svelte
new file mode 100644
index 00000000..89d82b20
--- /dev/null
+++ b/website/src/lib/components/ui/card/card-content.svelte
@@ -0,0 +1,13 @@
+
+
+
+
+
diff --git a/website/src/lib/components/ui/card/card-description.svelte b/website/src/lib/components/ui/card/card-description.svelte
new file mode 100644
index 00000000..9a35919a
--- /dev/null
+++ b/website/src/lib/components/ui/card/card-description.svelte
@@ -0,0 +1,13 @@
+
+
+
+
+
diff --git a/website/src/lib/components/ui/card/card-footer.svelte b/website/src/lib/components/ui/card/card-footer.svelte
new file mode 100644
index 00000000..32f90bbb
--- /dev/null
+++ b/website/src/lib/components/ui/card/card-footer.svelte
@@ -0,0 +1,13 @@
+
+
+
+
+
diff --git a/website/src/lib/components/ui/card/card-header.svelte b/website/src/lib/components/ui/card/card-header.svelte
new file mode 100644
index 00000000..e4745286
--- /dev/null
+++ b/website/src/lib/components/ui/card/card-header.svelte
@@ -0,0 +1,13 @@
+
+
+
+
+
diff --git a/website/src/lib/components/ui/card/card-title.svelte b/website/src/lib/components/ui/card/card-title.svelte
new file mode 100644
index 00000000..719808ee
--- /dev/null
+++ b/website/src/lib/components/ui/card/card-title.svelte
@@ -0,0 +1,21 @@
+
+
+
+
+
diff --git a/website/src/lib/components/ui/card/card.svelte b/website/src/lib/components/ui/card/card.svelte
new file mode 100644
index 00000000..b4746dfa
--- /dev/null
+++ b/website/src/lib/components/ui/card/card.svelte
@@ -0,0 +1,16 @@
+
+
+
+
+
diff --git a/website/src/lib/components/ui/card/index.ts b/website/src/lib/components/ui/card/index.ts
new file mode 100644
index 00000000..bcc031d0
--- /dev/null
+++ b/website/src/lib/components/ui/card/index.ts
@@ -0,0 +1,24 @@
+import Root from "./card.svelte";
+import Content from "./card-content.svelte";
+import Description from "./card-description.svelte";
+import Footer from "./card-footer.svelte";
+import Header from "./card-header.svelte";
+import Title from "./card-title.svelte";
+
+export {
+ Root,
+ Content,
+ Description,
+ Footer,
+ Header,
+ Title,
+ //
+ Root as Card,
+ Content as CardContent,
+ Description as CardDescription,
+ Footer as CardFooter,
+ Header as CardHeader,
+ Title as CardTitle,
+};
+
+export type HeadingLevel = "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
diff --git a/website/src/routes/+page.svelte b/website/src/routes/+page.svelte
index 2814d2a5..dd31bef0 100644
--- a/website/src/routes/+page.svelte
+++ b/website/src/routes/+page.svelte
@@ -1,6 +1,7 @@