diff options
author | Paul Frazee <pfrazee@gmail.com> | 2022-11-21 16:07:26 -0600 |
---|---|---|
committer | Paul Frazee <pfrazee@gmail.com> | 2022-11-21 16:07:26 -0600 |
commit | ed146a582c140b9a472298390dafbc07bd06cf60 (patch) | |
tree | bd540e4a84244fdbdbdf5fde412fc4a179b6dae5 /src/state/models/navigation.ts | |
parent | 39058cd36a9839df0e0c7e30ba486a09e30f169c (diff) | |
download | voidsky-ed146a582c140b9a472298390dafbc07bd06cf60.tar.zst |
Add web linking and proper share controls
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 0ec097afc..a4d7d443b 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 // = |