feat: clickable URLs in chat log

Adds a parsing step when constructing `Message` objects that scans the
message content for anything that looks URL-like, and inserts new
`TextChunk`s into the message content with a URIPayload set.

Hovering over a URL shows an on-hover effect. Clicking a URL opens it in
the default browser. Right clicking shows the hostname, with an option
to open and an option to copy the URL to the clipboard.
This commit is contained in:
Dean Sheather
2024-04-09 00:49:15 +10:00
parent fed420901c
commit 4701bb3f6d
10 changed files with 295 additions and 4 deletions
+18
View File
@@ -871,4 +871,22 @@
<data name="Options_TooltipOffset_Desc" xml:space="preserve">
<value>Use this option if you experience cut-off tooltips.</value>
</data>
<data name="Context_CopyLink" xml:space="preserve">
<value>Copy link to clipboard</value>
</data>
<data name="Context_CopyLinkNotification" xml:space="preserve">
<value>Copied link to clipboard</value>
</data>
<data name="Context_OpenInBrowser" xml:space="preserve">
<value>Open link in browser</value>
</data>
<data name="Context_OpenInBrowserError" xml:space="preserve">
<value>Failed to open the link in the browser, please report this issue</value>
</data>
<data name="Context_URLDomain" xml:space="preserve">
<value>URL at {0}</value>
</data>
<data name="Context_URLWarning" xml:space="preserve">
<value>Only open URLs from websites you trust</value>
</data>
</root>