diff --git a/web/src/lib/components/base/button.svelte b/web/src/lib/components/base/button.svelte
index ca0e9f52..fc1c9f0f 100644
--- a/web/src/lib/components/base/button.svelte
+++ b/web/src/lib/components/base/button.svelte
@@ -1,9 +1,7 @@
@@ -132,8 +148,12 @@
/>
- {user.username}
-
+
+ {user.username}
+
+
{user.email}
@@ -182,9 +202,26 @@
: 'moon'}"
onclick={() => toggleTheme()}
>
- {$_("new-trail")}
+
+
{$_("new-trail")}
+
handleImportDropdownClick(item)}
+ >
+ {#snippet children({ toggleMenu: openDropdown })}
+
+ {/snippet}
+
+
{#if page.data.notifications}
{/if}
@@ -227,3 +264,5 @@
onclick={() => (drawerOpen = !drawerOpen)}
>
+
+
diff --git a/web/src/lib/components/settings/upload_dialog.svelte b/web/src/lib/components/settings/upload_dialog.svelte
index dd7aefb6..96bc9c76 100644
--- a/web/src/lib/components/settings/upload_dialog.svelte
+++ b/web/src/lib/components/settings/upload_dialog.svelte
@@ -96,7 +96,7 @@
-
-
+
{u.file.name}
{#if u.status == "error" || u.status == "cancelled"}
diff --git a/web/src/lib/components/settings/url_import_modal.svelte b/web/src/lib/components/settings/url_import_modal.svelte
new file mode 100644
index 00000000..997a1604
--- /dev/null
+++ b/web/src/lib/components/settings/url_import_modal.svelte
@@ -0,0 +1,97 @@
+
+
+
+ {#snippet content()}
+
+ {/snippet}
+ {#snippet footer()}
+
+
+
+
+ {/snippet}
diff --git a/web/src/lib/components/trail/trail_info_panel.svelte b/web/src/lib/components/trail/trail_info_panel.svelte
index 86a8265e..f6d5b8ed 100644
--- a/web/src/lib/components/trail/trail_info_panel.svelte
+++ b/web/src/lib/components/trail/trail_info_panel.svelte
@@ -157,7 +157,7 @@
void) {
- return new Promise((resolve, reject) => {
- console.log("here");
-
- setTimeout(() => {
- onProgess?.(10);
- }, 400);
- setTimeout(() => {
- onProgess?.(30);
- }, 500);
- setTimeout(() => {
- onProgess?.(50);
- }, 800);
- setTimeout(() => {
- onProgess?.(70);
- }, 1200);
- setTimeout(() => {
- onProgess?.(99);
- }, 1300);
- setTimeout(() => {
- onProgess?.(100);
- const random = Math.random();
- if (random < 0.5) {
- reject(false);
- } else {
- resolve(true);
- }
- }, 10000);
- });
- }
-
async function handleFileSelection(files?: FileList | null) {
if (!files) {
files = (document.getElementById("file-input") as HTMLInputElement)