From a7f267932d2d787f0becbd5b2acd5c7a860bb45b Mon Sep 17 00:00:00 2001 From: Thomas Scholtes Date: Thu, 6 Jul 2023 14:22:14 +0200 Subject: [PATCH] Stop handling URL hash through routing We stop handling the URL hash through the routing system. Hashes are local to the current view and can be handled by the shown components. Signed-off-by: Thomas Scholtes --- src/App/Header/Search.svelte | 1 - src/components/Markdown.svelte | 7 ++++--- src/views/projects/Blob.svelte | 4 +--- src/views/projects/Browser.svelte | 2 -- src/views/projects/Readme.svelte | 3 +-- src/views/projects/View.svelte | 2 -- src/views/projects/router.ts | 8 -------- 7 files changed, 6 insertions(+), 21 deletions(-) diff --git a/src/App/Header/Search.svelte b/src/App/Header/Search.svelte index b4c7ac5a1..c7593b0b8 100644 --- a/src/App/Header/Search.svelte +++ b/src/App/Header/Search.svelte @@ -55,7 +55,6 @@ id: project.id, peer: undefined, baseUrl, - hash: undefined, }, }); } else { diff --git a/src/components/Markdown.svelte b/src/components/Markdown.svelte index 53533026b..4b9140901 100644 --- a/src/components/Markdown.svelte +++ b/src/components/Markdown.svelte @@ -11,7 +11,6 @@ import { Renderer } from "@app/lib/markdown"; export let content: string; - export let hash: string | undefined = undefined; // If present, resolve all relative links with respect to this URL export let linkBaseUrl: string | undefined = undefined; export let path: string = "/"; @@ -69,8 +68,6 @@ } } - if (hash) scrollIntoView(hash); - // Iterate over all images, and replace the source with a canonicalized URL // pointing at the projects /raw endpoint. if (rawPath) { @@ -112,6 +109,10 @@ } await Promise.allSettled(treeChanges); + + if (window.location.hash) { + scrollIntoView(window.location.hash.substring(1)); + } }); diff --git a/src/views/projects/Blob.svelte b/src/views/projects/Blob.svelte index 2b83212c2..49a971e87 100644 --- a/src/views/projects/Blob.svelte +++ b/src/views/projects/Blob.svelte @@ -16,7 +16,6 @@ export let peer: string | undefined; export let revision: string | undefined; export let path: string; - export let hash: string | undefined = undefined; export let blob: Blob; export let highlighted: Syntax.Root | undefined; export let rawPath: string; @@ -267,8 +266,7 @@ {revision} content={blob.content} {rawPath} - {path} - {hash} /> + {path} /> {:else if content} {@html toHtml(content)} diff --git a/src/views/projects/Browser.svelte b/src/views/projects/Browser.svelte index 3ab85e5b8..db8a4eafc 100644 --- a/src/views/projects/Browser.svelte +++ b/src/views/projects/Browser.svelte @@ -18,7 +18,6 @@ export let commit: string; export let commitCount: number; export let contributorCount: number; - export let hash: string | undefined; export let path: string; export let peer: string | undefined; export let peers: Remote[]; @@ -181,7 +180,6 @@ {peer} {revision} {path} - {hash} blob={blobResult.blob} highlighted={blobResult.highlighted} rawPath={utils.getRawBasePath(project.id, baseUrl, commit)} /> diff --git a/src/views/projects/Readme.svelte b/src/views/projects/Readme.svelte index 968592459..8b9015284 100644 --- a/src/views/projects/Readme.svelte +++ b/src/views/projects/Readme.svelte @@ -9,7 +9,6 @@ export let baseUrl: BaseUrl; export let revision: string | undefined; export let content: string; - export let hash: string | undefined = undefined; export let path: string; export let rawPath: string; @@ -53,5 +52,5 @@
- +
diff --git a/src/views/projects/View.svelte b/src/views/projects/View.svelte index 2a1335e00..667611fef 100644 --- a/src/views/projects/View.svelte +++ b/src/views/projects/View.svelte @@ -20,7 +20,6 @@ export let project: Project; export let view: ProjectLoadedView; - export let hash: string | undefined = undefined; export let peer: string | undefined = undefined; export let revision: string | undefined = undefined; @@ -69,7 +68,6 @@ peers={view.params.loadedPeers} tree={view.params.loadedTree} {baseUrl} - {hash} {peer} {project} {revision} diff --git a/src/views/projects/router.ts b/src/views/projects/router.ts index d1970b997..b2e4c0680 100644 --- a/src/views/projects/router.ts +++ b/src/views/projects/router.ts @@ -55,7 +55,6 @@ export interface ProjectsParams { params: { patch: string; revision?: string; search?: string }; }; - hash?: string; path?: string; peer?: string; revision?: string; @@ -68,7 +67,6 @@ export interface ProjectLoadedParams { project: Project; view: ProjectLoadedView; - hash?: string; peer?: string; revision?: string; } @@ -474,7 +472,6 @@ export function resolveProjectRoute( } if (!content || content === "tree") { - const hash = url.href.match(/#{1}[^#.]+$/)?.pop(); return { view: { resource: "tree" }, baseUrl, @@ -482,7 +479,6 @@ export function resolveProjectRoute( peer, path: undefined, revision: undefined, - hash: hash?.substring(1), route: segments.join("/"), }; } else if (content === "history") { @@ -607,10 +603,6 @@ export function projectRouteToPath(params: ProjectsParams): string { } } - if (params.hash) { - suffix += `#${params.hash}`; - } - if (params.view.resource === "tree") { if (suffix) { return `${seed}/${params.id}${peer}/tree${suffix}`;