fix(ext-links): warn in Party and PMs, env config
This commit is contained in:
@@ -135,6 +135,7 @@ export default {
|
||||
},
|
||||
mounted () {
|
||||
this.textbox = this.$refs['user-entry'];
|
||||
this.handleExternalLinks();
|
||||
},
|
||||
updated () {
|
||||
this.handleExternalLinks();
|
||||
|
||||
@@ -139,6 +139,8 @@
|
||||
import axios from 'axios';
|
||||
import moment from 'moment';
|
||||
|
||||
import externalLinks from '../../mixins/externalLinks';
|
||||
|
||||
import renderWithMentions from '@/libs/renderWithMentions';
|
||||
import { mapState } from '@/libs/store';
|
||||
import userLink from '../userLink';
|
||||
@@ -150,6 +152,7 @@ export default {
|
||||
components: {
|
||||
userLink,
|
||||
},
|
||||
mixins: [externalLinks],
|
||||
filters: {
|
||||
timeAgo (value) {
|
||||
return moment(value).fromNow();
|
||||
@@ -179,6 +182,10 @@ export default {
|
||||
},
|
||||
mounted () {
|
||||
this.$emit('message-card-mounted');
|
||||
this.handleExternalLinks();
|
||||
},
|
||||
updated () {
|
||||
this.handleExternalLinks();
|
||||
},
|
||||
methods: {
|
||||
report () {
|
||||
|
||||
@@ -1,18 +1,9 @@
|
||||
import some from 'lodash/some';
|
||||
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
trustedDomains: [
|
||||
'https://habitica.com',
|
||||
'http://localhost',
|
||||
'https://tools.habitica.com',
|
||||
'https://translate.habitica.com',
|
||||
],
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
handleExternalLinks () {
|
||||
const { TRUSTED_DOMAINS } = process.env;
|
||||
const allLinks = document.getElementsByTagName('a');
|
||||
|
||||
for (let i = 0; i < allLinks.length; i += 1) {
|
||||
@@ -20,7 +11,7 @@ export default {
|
||||
|
||||
if ((link.classList.value.indexOf('external-link') === -1)
|
||||
&& link.href.slice(0, 4) === 'http'
|
||||
&& !some(this.trustedDomains, domain => link.href.indexOf(domain) === 0)) {
|
||||
&& !some(TRUSTED_DOMAINS.split(','), domain => link.href.indexOf(domain) === 0)) {
|
||||
link.classList.add('external-link');
|
||||
link.addEventListener('click', e => {
|
||||
if (e.ctrlKey) {
|
||||
|
||||
Reference in New Issue
Block a user