diff --git a/src/base/projects/Browser.svelte b/src/base/projects/Browser.svelte index 7776217cf..aa87d6f18 100644 --- a/src/base/projects/Browser.svelte +++ b/src/base/projects/Browser.svelte @@ -12,6 +12,7 @@ export let commit: string; export let config: Config; export let path: string; + export let onSelect: (event: { detail: string }) => void; let info: "loading" | proj.Info | null = null; let blob: Promise | null = null; @@ -20,10 +21,6 @@ return proj.getTree(urn, commit, path, config); }; - const onSelect = async ({ detail: path }: { detail: string }) => { - navigate(`/projects/${urn}/${commit}/${path}`); - }; - $: if (path === "/") { blob = proj.getReadme(urn, commit, config); } else { diff --git a/src/base/projects/Routes.svelte b/src/base/projects/Routes.svelte index ad506b997..efccdb97c 100644 --- a/src/base/projects/Routes.svelte +++ b/src/base/projects/Routes.svelte @@ -10,6 +10,10 @@ }; + + + + @@ -18,6 +22,10 @@ + + + + - + diff --git a/src/base/projects/View.svelte b/src/base/projects/View.svelte index 0e947f22b..6d827f16f 100644 --- a/src/base/projects/View.svelte +++ b/src/base/projects/View.svelte @@ -12,12 +12,20 @@ }; export let urn: string; - export let commit: string | null; + export let commit: string | null = null; export let config: Config; export let path: string; let project: State.Loading | proj.Info | null = null; + const onSelect = ({ detail: path }: { detail: string }) => { + if (commit) { + navigate(`/projects/${urn}/${commit}/${path}`); + } else { + navigate(`/projects/${urn}/head/${path}`); + } + }; + onMount(async () => { project = State.Loading; project = await proj.getInfo(urn, config); @@ -72,7 +80,7 @@ commit {commit || project.head} - + {:else} {/if}