diff --git a/src/App.vue b/src/App.vue index a683db9..937eaca 100644 --- a/src/App.vue +++ b/src/App.vue @@ -116,7 +116,9 @@ async function load() { const data = await invoke("load_repo"); if (data) await applyRepo(data); } catch (e) { - error.value = String(e); + // A repository already on screen stays, for example when a connection drops. + if (repo.value) showToast(`could not reload: ${e}`); + else error.value = String(e); } finally { loading = false; started.value = true; diff --git a/src/components/RepoMenu.vue b/src/components/RepoMenu.vue index d583d03..2567218 100644 --- a/src/components/RepoMenu.vue +++ b/src/components/RepoMenu.vue @@ -1,29 +1,54 @@ @@ -23,7 +43,19 @@ const name = (p: string) => p.split(/[\\/]/).filter(Boolean).pop() ?? p; - +
+ + + +

You can also start gites with a path: gites ~/code/my-project

@@ -44,6 +76,8 @@ h2 { margin: 0 0 4px; font-size: 20px; } .path { flex: 1; min-width: 0; color: var(--text-dim); font: 11.5px ui-monospace, monospace; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .x { border: none; padding: 2px 10px; color: var(--text-dim); opacity: 0; } .item:hover .x, .item:focus-within .x { opacity: 1; } +.actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; } +.remote-input { flex: 1; min-width: 220px; font: 12px ui-monospace, monospace; } .browse { align-self: flex-start; padding: 6px 14px; color: var(--accent); border-color: color-mix(in srgb, var(--accent) 50%, var(--border)); } .hint { margin: 4px 0 0; color: var(--text-dim); font-size: 12px; } .hint code { font-family: ui-monospace, monospace; color: var(--text); }