From 970431824802da293005c6702fc89a1dc192b67a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C5=ABdolfs=20O=C5=A1i=C5=86=C5=A1?= Date: Tue, 18 Apr 2023 14:29:46 +0200 Subject: [PATCH] Refactor seed view MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rūdolfs Ošiņš --- src/components/Clipboard.svelte | 7 +- src/components/ErrorMessage.svelte | 32 ++++ src/components/Message.svelte | 18 -- src/views/home/Index.svelte | 9 +- src/views/projects/View.svelte | 20 +-- src/views/seeds/View.svelte | 244 +++++++++++++++++---------- src/views/seeds/View/Projects.svelte | 88 ---------- tests/e2e/seed.spec.ts | 4 +- 8 files changed, 205 insertions(+), 217 deletions(-) create mode 100644 src/components/ErrorMessage.svelte delete mode 100644 src/components/Message.svelte delete mode 100644 src/views/seeds/View/Projects.svelte diff --git a/src/components/Clipboard.svelte b/src/components/Clipboard.svelte index 172a69f0e..c4199a279 100644 --- a/src/components/Clipboard.svelte +++ b/src/components/Clipboard.svelte @@ -13,6 +13,7 @@ export let text: string; export let small = false; + export let tooltip: string | undefined = undefined; - + {#if small} {:else} diff --git a/src/components/ErrorMessage.svelte b/src/components/ErrorMessage.svelte new file mode 100644 index 000000000..ffe519cdd --- /dev/null +++ b/src/components/ErrorMessage.svelte @@ -0,0 +1,32 @@ + + + + +
+ {message} + {#if stackTrace} +
+ +
+ {/if} +
diff --git a/src/components/Message.svelte b/src/components/Message.svelte deleted file mode 100644 index 1a702bfdd..000000000 --- a/src/components/Message.svelte +++ /dev/null @@ -1,18 +0,0 @@ - - - - -
- -
diff --git a/src/views/home/Index.svelte b/src/views/home/Index.svelte index 14d5714b0..b02c89eaa 100644 --- a/src/views/home/Index.svelte +++ b/src/views/home/Index.svelte @@ -8,7 +8,7 @@ import { twemoji } from "@app/lib/utils"; import Loading from "@app/components/Loading.svelte"; - import Message from "@app/components/Message.svelte"; + import ErrorMessage from "@app/components/ErrorMessage.svelte"; import ProjectCard from "@app/components/ProjectCard.svelte"; function goToProject(project: Project, baseUrl: BaseUrl) { @@ -110,12 +110,9 @@ {/each} {/if} - {:catch} + {:catch error}
- - Error: - failed to load projects. - +
{/await} diff --git a/src/views/projects/View.svelte b/src/views/projects/View.svelte index 54e53f5e3..9b26c1905 100644 --- a/src/views/projects/View.svelte +++ b/src/views/projects/View.svelte @@ -11,7 +11,7 @@ import { sessionStore } from "@app/lib/session"; import Loading from "@app/components/Loading.svelte"; - import Message from "@app/components/Message.svelte"; + import ErrorMessage from "@app/components/ErrorMessage.svelte"; import NotFound from "@app/components/NotFound.svelte"; import Placeholder from "@app/components/Placeholder.svelte"; @@ -207,7 +207,7 @@ history={history.commits.map(c => c.commit)} /> {:catch e}
- {e.message} +
{/await} {:else if activeRoute.params.view.resource === "commits"} @@ -217,7 +217,7 @@ {:catch e}
- {e.message} +
{/await} {:else if activeRoute.params.view.resource === "issues" && activeRoute.params.view.params?.view.resource === "new"} @@ -230,10 +230,8 @@ {baseUrl} /> {:else}
- - Could not access the issue creation. Make sure you're still logged - in. - +
{/if} {:else if activeRoute.params.view.resource === "issues"} @@ -247,7 +245,7 @@ {issues} /> {:catch e}
- {e.message} +
{/await} {:else if activeRoute.params.view.resource === "issue"} @@ -262,7 +260,7 @@ {issue} /> {:catch e}
- {e.message} +
{/await} {:else if activeRoute.params.view.resource === "patches"} @@ -277,7 +275,7 @@ projectPatches={project.patches} /> {:catch e}
- {e.message} +
{/await} {:else if activeRoute.params.view.resource === "patch"} @@ -293,7 +291,7 @@ {patch} /> {:catch e}
- {e.message} +
{/await} {:else} diff --git a/src/views/seeds/View.svelte b/src/views/seeds/View.svelte index 93fc7e63e..9938aa1c1 100644 --- a/src/views/seeds/View.svelte +++ b/src/views/seeds/View.svelte @@ -1,14 +1,18 @@ @@ -84,55 +126,73 @@ {hostName} -{#await api.getRoot()} -
- -
-{:then nodeInfo} -
-
- - - {hostName} - - -
- -
- -
Address
-
-
- {truncateId(nodeInfo.node.id)}@{baseUrl.hostname} -
- -
-
- -
Version
-
{nodeInfo.version}
-
-
- - {#await getProjectsAndStats()} - - {:then result} - - {:catch err} -
-
- API request to {err.url} - failed. -
-
- {/await} -
-{:catch} -
- +
+
+ + {hostName} +
-{/await} + + {#await api.getRoot()} + + {:then nodeInfo} + + + + + + + + + +
Address +
+ {truncateId(nodeInfo.node.id)}@{baseUrl.hostname} + +
+
Version + {nodeInfo.version} +
+ {:catch error} +
+ +
+ {/await} + +
+ {#if projects} +
+ {#each projectsWithActivity as { project, activity }} +
+ goToProject(project)} /> +
+ {/each} +
+ {#if loadingProjects} +
+ +
+ {/if} + {#if showMoreButton} +
+ +
+ {/if} + {/if} + {#if error} + + {/if} +
+
diff --git a/src/views/seeds/View/Projects.svelte b/src/views/seeds/View/Projects.svelte deleted file mode 100644 index 1d2bcb384..000000000 --- a/src/views/seeds/View/Projects.svelte +++ /dev/null @@ -1,88 +0,0 @@ - - - - -
- - - {#each items as project} - {#await loadProjectActivity(project.id, baseUrl) then activity} -
- onClick(project)} /> -
- {/await} - {/each} -
-
-
diff --git a/tests/e2e/seed.spec.ts b/tests/e2e/seed.spec.ts index 7817920bd..20241e425 100644 --- a/tests/e2e/seed.spec.ts +++ b/tests/e2e/seed.spec.ts @@ -9,7 +9,9 @@ import { test("seed metadata", async ({ page }) => { await page.goto("/seeds/radicle.local"); - await expect(page.locator("header").getByText("radicle.local")).toBeVisible(); + await expect( + page.locator(".header").getByText("radicle.local"), + ).toBeVisible(); await expect(page.locator("text=radicle.local")).toBeVisible(); await expect( page.locator(`text=${seedRemote.substring(0, 6)}…${seedRemote.slice(-6)}`),