From edc5c0ae1d271de3b04253485f12b0d8cbb4c989 Mon Sep 17 00:00:00 2001
From: William Chong
Date: Sat, 2 Dec 2023 14:08:46 +0800
Subject: [PATCH] =?UTF-8?q?=F0=9F=94=8D=EF=B8=8F=20Add=20nofollow=20and=20?=
=?UTF-8?q?ugc=20for=20links?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/CivicLikerV3/Page.vue | 2 +-
src/components/LinkV2.vue | 15 +++++++++++++--
src/components/NFTCampaign/ItemBase.vue | 2 +-
.../NFTPage/ChainDataSection/Metadata.vue | 2 +-
src/components/NFTPage/EventList/Table.vue | 1 +
src/components/NFTPage/MetadataSection.vue | 11 ++++++++++-
src/components/NFTPage/PreviewCard.vue | 2 +-
src/pages/eula.vue | 10 +---------
src/pages/settings/index.vue | 2 +-
9 files changed, 30 insertions(+), 17 deletions(-)
diff --git a/src/components/CivicLikerV3/Page.vue b/src/components/CivicLikerV3/Page.vue
index 5752ff59e..3a324122b 100644
--- a/src/components/CivicLikerV3/Page.vue
+++ b/src/components/CivicLikerV3/Page.vue
@@ -17,7 +17,7 @@
preset="secondary-outline"
:href="$t('civic_dashboard_v3_about_url')"
target="_blank"
- rel="noreferrer noopener"
+ rel="noopener"
>
diff --git a/src/components/LinkV2.vue b/src/components/LinkV2.vue
index c47b460b6..6eeef99ec 100644
--- a/src/components/LinkV2.vue
+++ b/src/components/LinkV2.vue
@@ -20,6 +20,15 @@ export default class Link extends Vue {
@Prop({ default: false })
readonly isInline!: boolean;
+ @Prop({ default: false })
+ readonly ugc!: boolean;
+
+ @Prop({ default: false })
+ readonly nofollow!: boolean;
+
+ @Prop({ default: false })
+ readonly noreferrer!: boolean;
+
get tag() {
if (this.to) return 'NuxtLink';
return 'a';
@@ -27,12 +36,14 @@ export default class Link extends Vue {
get attrs() {
if (this.to) return { to: this.to };
- if (this.href)
+ if (this.href) {
+ const rel = ['noopener'];
return {
href: this.href,
target: '_blank',
- rel: 'noopener',
+ rel: rel.join(' '),
};
+ }
return {};
}
diff --git a/src/components/NFTCampaign/ItemBase.vue b/src/components/NFTCampaign/ItemBase.vue
index 3a64b544c..dc9af8824 100644
--- a/src/components/NFTCampaign/ItemBase.vue
+++ b/src/components/NFTCampaign/ItemBase.vue
@@ -45,7 +45,7 @@
class="transition-colors cursor-pointer hover:text-like-cyan-dark flex items-center justify-center text-medium-gray mt-[8px]"
:href="isContentViewable ? url : ''"
target="_blank"
- rel="noopener"
+ rel="noopener ugc"
@click="handleClickViewContent"
>
diff --git a/src/components/NFTPage/ChainDataSection/Metadata.vue b/src/components/NFTPage/ChainDataSection/Metadata.vue
index 16cf54103..47d622b59 100644
--- a/src/components/NFTPage/ChainDataSection/Metadata.vue
+++ b/src/components/NFTPage/ChainDataSection/Metadata.vue
@@ -18,7 +18,7 @@
{{ contentUrl }}
diff --git a/src/components/NFTPage/EventList/Table.vue b/src/components/NFTPage/EventList/Table.vue
index 359200c33..f2ae18e42 100644
--- a/src/components/NFTPage/EventList/Table.vue
+++ b/src/components/NFTPage/EventList/Table.vue
@@ -134,6 +134,7 @@
class="text-left"
:href="getChainExplorerTx(event.txHash)"
:is-inline="true"
+ :nofollow="true"
@click.native.stop
>
-
+
@@ -75,6 +80,7 @@ export default {
label: this.$t('nft_details_page_section_metadata_url'),
href: this.contentUrl,
text: this.contentUrl,
+ ugc: true,
},
{
label: this.$t('nft_details_page_section_metadata_iscn'),
@@ -91,6 +97,7 @@ export default {
label: this.$t('nft_details_page_section_metadata_ar'),
href: `${ARWEAVE_ENDPOINT}/${text}`,
text,
+ nofollow: true,
});
break;
case 'ipfs':
@@ -98,6 +105,7 @@ export default {
label: this.$t('nft_details_page_section_metadata_ipfs'),
href: `${IPFS_VIEW_GATEWAY_URL}/${text}`,
text,
+ nofollow: true,
});
break;
case 'num':
@@ -105,6 +113,7 @@ export default {
label: this.$t('nft_details_page_section_metadata_ipfs'),
href: `${APP_LIKE_CO_URL_BASE}/api/numbers-protocol/assets/${text}`,
text,
+ nofollow: true,
});
break;
default:
diff --git a/src/components/NFTPage/PreviewCard.vue b/src/components/NFTPage/PreviewCard.vue
index fe0e9e4c7..b4c570d6e 100644
--- a/src/components/NFTPage/PreviewCard.vue
+++ b/src/components/NFTPage/PreviewCard.vue
@@ -7,7 +7,7 @@
class="rounded-t-[inherit] overflow-hidden"
:href="url || iscnUrl"
target="_blank"
- rel="noopener"
+ :rel="url ? 'noopener ugc' : 'noopener'"
>
EULA Template
- for Liker Land.
+ those terms apply.
License Grant
diff --git a/src/pages/settings/index.vue b/src/pages/settings/index.vue
index 8c3ead354..33834605b 100644
--- a/src/pages/settings/index.vue
+++ b/src/pages/settings/index.vue
@@ -40,7 +40,7 @@
class="settings-menu__item"
:href="likerIdSettingsURL"
target="_blank"
- rel="noreferrer noopener"
+ rel="noopener"
>