aboutsummaryrefslogtreecommitdiff
path: root/src/lib/MarkdownLink.svelte
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-01-23 22:46:57 -0800
committerFuwn <[email protected]>2026-01-23 22:46:57 -0800
commitb95bf21db3dc6226311e98fd7e0f0862d517a516 (patch)
treebfeb2992dad5f9c3a77ef8808588ce060be53d48 /src/lib/MarkdownLink.svelte
parentchore(deps): Update Trigger.dev packages (diff)
downloaddue.moe-b95bf21db3dc6226311e98fd7e0f0862d517a516.tar.xz
due.moe-b95bf21db3dc6226311e98fd7e0f0862d517a516.zip
refactor(lib): Migrate simple components to Svelte 5 runes syntax
Diffstat (limited to 'src/lib/MarkdownLink.svelte')
-rw-r--r--src/lib/MarkdownLink.svelte29
1 files changed, 14 insertions, 15 deletions
diff --git a/src/lib/MarkdownLink.svelte b/src/lib/MarkdownLink.svelte
index 731eb263..ee8c4900 100644
--- a/src/lib/MarkdownLink.svelte
+++ b/src/lib/MarkdownLink.svelte
@@ -1,21 +1,20 @@
<script lang="ts">
- export let href: string;
- export let text: string;
+ let { href, text }: { href: string; text: string } = $props();
+ let safeHref = $derived.by(() => {
+ try {
+ let url = new URL(href);
- try {
- let url = new URL(href);
+ switch (url.protocol) {
+ case 'javascript:':
+ return '#';
- switch (url.protocol) {
- case 'javascript:':
- href = '#';
- break;
-
- default:
- break;
+ default:
+ return href;
+ }
+ } catch (error) {
+ return '#';
}
- } catch (error) {
- href = '#';
- }
+ });
</script>
-<a {href} target="_blank">{text}</a>
+<a href={safeHref} target="_blank">{text}</a>