From ad7e459c689d70ca664b9a3091d3dcab3f26ce4d Mon Sep 17 00:00:00 2001 From: Fabio Di Stasio Date: Tue, 8 Aug 2023 18:05:27 +0200 Subject: [PATCH] feat: support to links in changelog --- .../components/ModalSettingsChangelog.vue | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/renderer/components/ModalSettingsChangelog.vue b/src/renderer/components/ModalSettingsChangelog.vue index d71bf4ad..6e982b51 100644 --- a/src/renderer/components/ModalSettingsChangelog.vue +++ b/src/renderer/components/ModalSettingsChangelog.vue @@ -18,6 +18,7 @@ import { marked } from 'marked'; import BaseLoader from '@/components/BaseLoader.vue'; import { useApplicationStore } from '@/stores/application'; import { ref } from 'vue'; +import { shell } from 'electron'; const { appVersion } = useApplicationStore(); @@ -26,6 +27,10 @@ const isLoading = ref(true); const error = ref(''); const isError = ref(false); +const openOutside = (link: string) => { + shell.openExternal(link); +}; + const getChangelog = async () => { try { const apiRes = await fetch(`https://api.github.com/repos/antares-sql/antares/releases/tags/v${appVersion}`, { @@ -40,7 +45,7 @@ const getChangelog = async () => { const renderer = { link (href: string, title: string, text: string) { - return text; + return `${text}`; }, listitem (text: string) { return `
  • ${text.replace(/ *\([^)]*\) */g, '')}
  • `; @@ -57,6 +62,17 @@ const getChangelog = async () => { } isLoading.value = false; + + setTimeout(() => { + const links = document.querySelectorAll('.changelog-link'); + + for (const link of links) { + link.addEventListener('click', e => { + e.preventDefault(); + openOutside(link.href); + }); + } + }, 0); }; getChangelog();