diff --git a/components/IscnRegisterForm.vue b/components/IscnRegisterForm.vue index d742b5af..6da942e9 100644 --- a/components/IscnRegisterForm.vue +++ b/components/IscnRegisterForm.vue @@ -973,19 +973,9 @@ export default class IscnRegisterForm extends Vue { ?.filter((items: any) => items.filename && items.url) ?.map((sameAs: { filename: any; filetype: any; url: any }) => { if (sameAs.filename && sameAs.filetype) { - try { - const parsed = new URL(sameAs.url) - parsed.searchParams.set('name', `${sameAs.filename}.${sameAs.filetype}`) - return parsed.toString() - } catch (e) { - // eslint-disable-next-line no-console - console.error(e) - const parts = sameAs.url.split('?') - if (parts.length === 1) { - return `${sameAs.url}?name=${sameAs.filename}.${sameAs.filetype}` - } - return `${sameAs.url}&name=${sameAs.filename}.${sameAs.filetype}` - } + const parsed = new URL(sameAs.url) + parsed.searchParams.set('name', `${sameAs.filename}.${sameAs.filetype}`) + return parsed.toString() } return '' }) diff --git a/pages/edit/_iscnId.vue b/pages/edit/_iscnId.vue index d570aee2..728fb24f 100644 --- a/pages/edit/_iscnId.vue +++ b/pages/edit/_iscnId.vue @@ -338,7 +338,9 @@ export default class EditIscnPage extends Vue { return this.sameAsList.map( (sameAs: { filename: any; filetype: any; url: any }) => { if (sameAs.filename && sameAs.filetype) { - return `${sameAs.url}?name=${sameAs.filename}.${sameAs.filetype}` + const url = new URL(sameAs.url) + url.searchParams.set('name', `${sameAs.filename}.${sameAs.filetype}`) + return url.toString() } return '' }, diff --git a/utils/ui.js b/utils/ui.js index 58d9d0d7..4bf043b4 100644 --- a/utils/ui.js +++ b/utils/ui.js @@ -52,7 +52,9 @@ export function formatIpfs(ipfsHash) { export function formatArweave(arweaveId, key) { if (key) { - return `ar://${arweaveId}?key=${key}` + const url = new URL(`ar://${arweaveId}`); + url.searchParams.append('key', key); + return url.toString(); } return `ar://${arweaveId}` }