diff options
Diffstat (limited to 'src/state/models/navigation.ts')
-rw-r--r-- | src/state/models/navigation.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/state/models/navigation.ts b/src/state/models/navigation.ts index 758ae37d8..1e639b0f3 100644 --- a/src/state/models/navigation.ts +++ b/src/state/models/navigation.ts @@ -222,6 +222,24 @@ export class NavigationModel { this.tabs.find(t => t.id === ptr[0])?.setTitle(ptr[1], title) } + handleLink(url: string) { + let path + if (url.startsWith('/')) { + path = url + } else if (url.startsWith('http')) { + try { + path = new URL(url).pathname + } catch (e) { + console.error('Invalid url', url, e) + return + } + } else { + console.error('Invalid url', url) + return + } + this.navigate(path) + } + // tab management // = |