summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/desktop/src/index.tsx9
-rw-r--r--packages/ui/src/context/marked.tsx2
2 files changed, 10 insertions, 1 deletions
diff --git a/packages/desktop/src/index.tsx b/packages/desktop/src/index.tsx
index 5d699bb90..f05a28e14 100644
--- a/packages/desktop/src/index.tsx
+++ b/packages/desktop/src/index.tsx
@@ -292,6 +292,15 @@ root?.addEventListener("mousewheel", (e) => {
e.stopPropagation()
})
+// Handle external links - open in system browser instead of webview
+document.addEventListener("click", (e) => {
+ const link = (e.target as HTMLElement).closest("a.external-link") as HTMLAnchorElement | null
+ if (link?.href) {
+ e.preventDefault()
+ platform.openLink(link.href)
+ }
+})
+
render(() => {
const [serverPassword, setServerPassword] = createSignal<string | null>(null)
const platform = createPlatform(() => serverPassword())
diff --git a/packages/ui/src/context/marked.tsx b/packages/ui/src/context/marked.tsx
index 9bd48c9a9..6cf1dd54e 100644
--- a/packages/ui/src/context/marked.tsx
+++ b/packages/ui/src/context/marked.tsx
@@ -383,7 +383,7 @@ export const { use: useMarked, provider: MarkedProvider } = createSimpleContext(
renderer: {
link({ href, title, text }) {
const titleAttr = title ? ` title="${title}"` : ""
- return `<a href="${href}"${titleAttr} target="_blank" rel="noopener noreferrer">${text}</a>`
+ return `<a href="${href}"${titleAttr} class="external-link" target="_blank" rel="noopener noreferrer">${text}</a>`
},
},
},