From 9f9e6c495020916c33ec46a5a055988565e39c19 Mon Sep 17 00:00:00 2001 From: SabreCat Date: Wed, 3 May 2023 16:00:58 -0500 Subject: [PATCH 1/2] feat(links): skip modal for user's own tasks --- website/client/src/components/tasks/task.vue | 1 + website/client/src/mixins/externalLinks.js | 1 + 2 files changed, 2 insertions(+) diff --git a/website/client/src/components/tasks/task.vue b/website/client/src/components/tasks/task.vue index 520c51568c..ece67dd374 100644 --- a/website/client/src/components/tasks/task.vue +++ b/website/client/src/components/tasks/task.vue @@ -6,6 +6,7 @@ 'groupTask': task.group.id, 'task-not-editable': !teamManagerAccess, 'task-not-scoreable': showTaskLockIcon, + 'link-exempt': !isChallengeTask && !isGroupTask, }, `type_${task.type}` ]" @click="castEnd($event, task)" diff --git a/website/client/src/mixins/externalLinks.js b/website/client/src/mixins/externalLinks.js index 2a2c0a7b8c..40895cd4f9 100644 --- a/website/client/src/mixins/externalLinks.js +++ b/website/client/src/mixins/externalLinks.js @@ -16,6 +16,7 @@ export default { } if ((link.classList.value.indexOf('external-link') === -1) + && (!link.offsetParent || link.offsetParent.classList.value.indexOf('link-exempt') === -1) && domainIndex !== 1 && !some(TRUSTED_DOMAINS.split(','), domain => link.href.indexOf(domain) === domainIndex)) { link.classList.add('external-link'); From b026daec90d59fec07268bfb2ad77d7501d7a9ff Mon Sep 17 00:00:00 2001 From: SabreCat Date: Fri, 5 May 2023 16:27:19 -0500 Subject: [PATCH 2/2] fix(rya): wait for DOM finished before update --- website/client/src/components/tasks/yesterdailyModal.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/website/client/src/components/tasks/yesterdailyModal.vue b/website/client/src/components/tasks/yesterdailyModal.vue index a0f5ae4ab2..a43230a177 100644 --- a/website/client/src/components/tasks/yesterdailyModal.vue +++ b/website/client/src/components/tasks/yesterdailyModal.vue @@ -110,7 +110,9 @@ export default { }; }, updated () { - this.handleExternalLinks(); + window.setTimeout(() => { + this.handleExternalLinks(); + }, 500); }, computed: { ...mapState({ user: 'user.data' }),