diff options
Diffstat (limited to 'src/components')
25 files changed, 60 insertions, 24 deletions
diff --git a/src/components/attachment/attachment.vue b/src/components/attachment/attachment.vue index 55d81691..108dc36e 100644 --- a/src/components/attachment/attachment.vue +++ b/src/components/attachment/attachment.vue @@ -97,8 +97,10 @@ <img :src="attachment.thumb_url"> </div> <div class="text"> + <!-- eslint-disable vue/no-v-html --> <h1><a :href="attachment.url">{{ attachment.oembed.title }}</a></h1> <div v-html="attachment.oembed.oembedHTML" /> + <!-- eslint-enabled vue/no-v-html --> </div> </div> </div> diff --git a/src/components/basic_user_card/basic_user_card.vue b/src/components/basic_user_card/basic_user_card.vue index 8ad0da2d..568e9359 100644 --- a/src/components/basic_user_card/basic_user_card.vue +++ b/src/components/basic_user_card/basic_user_card.vue @@ -25,11 +25,13 @@ :title="user.name" class="basic-user-card-user-name" > + <!-- eslint-disable vue/no-v-html --> <span v-if="user.name_html" class="basic-user-card-user-name-value" v-html="user.name_html" /> + <!-- eslint-enable vue/no-v-html --> <span v-else class="basic-user-card-user-name-value" diff --git a/src/components/chat_panel/chat_panel.vue b/src/components/chat_panel/chat_panel.vue index ca2c64a3..3677722f 100644 --- a/src/components/chat_panel/chat_panel.vue +++ b/src/components/chat_panel/chat_panel.vue @@ -1,6 +1,6 @@ <template> <div - v-if="!this.collapsed || !this.floating" + v-if="!collapsed || !floating" class="chat-panel" > <div class="panel panel-default"> diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js index cc0b0b41..a2b3aeab 100644 --- a/src/components/conversation/conversation.js +++ b/src/components/conversation/conversation.js @@ -86,6 +86,7 @@ const conversation = { }, replies () { let i = 1 + // eslint-disable-next-line camelcase return reduce(this.conversation, (result, { id, in_reply_to_status_id }) => { /* eslint-disable camelcase */ const irid = in_reply_to_status_id diff --git a/src/components/font_control/font_control.vue b/src/components/font_control/font_control.vue index 87644628..61f0384b 100644 --- a/src/components/font_control/font_control.vue +++ b/src/components/font_control/font_control.vue @@ -35,6 +35,7 @@ > <option v-for="option in availableOptions" + :key="option" :value="option" > {{ option === 'custom' ? $t('settings.style.fonts.custom') : option }} diff --git a/src/components/gallery/gallery.vue b/src/components/gallery/gallery.vue index 577f2144..6adfb76c 100644 --- a/src/components/gallery/gallery.vue +++ b/src/components/gallery/gallery.vue @@ -4,7 +4,8 @@ style="width: 100%;" > <div - v-for="row in rows" + v-for="(row, index) in rows" + :key="index" class="gallery-row" :style="rowHeight(row.length)" :class="{ 'contain-fit': useContainFit, 'cover-fit': !useContainFit }" diff --git a/src/components/instance_specific_panel/instance_specific_panel.vue b/src/components/instance_specific_panel/instance_specific_panel.vue index 64ce4f8a..a7cf6b48 100644 --- a/src/components/instance_specific_panel/instance_specific_panel.vue +++ b/src/components/instance_specific_panel/instance_specific_panel.vue @@ -5,7 +5,9 @@ > <div class="panel panel-default"> <div class="panel-body"> + <!-- eslint-disable vue/no-v-html --> <div v-html="instanceSpecificPanelContent" /> + <!-- eslint-enable vue/no-v-html --> </div> </div> </div> diff --git a/src/components/interface_language_switcher/interface_language_switcher.vue b/src/components/interface_language_switcher/interface_language_switcher.vue index 28c811bd..83df9a0b 100644 --- a/src/components/interface_language_switcher/interface_language_switcher.vue +++ b/src/components/interface_language_switcher/interface_language_switcher.vue @@ -13,6 +13,7 @@ > <option v-for="(langCode, i) in languageCodes" + :key="langCode" :value="langCode" > {{ languageNames[i] }} diff --git a/src/components/link-preview/link-preview.vue b/src/components/link-preview/link-preview.vue index 5041dd1d..493774c2 100644 --- a/src/components/link-preview/link-preview.vue +++ b/src/components/link-preview/link-preview.vue @@ -11,7 +11,7 @@ class="card-image" :class="{ 'small-image': size === 'small' }" > - <img :src="card.image"></img> + <img :src="card.image"> </div> <div class="card-content"> <span class="card-host faint">{{ card.provider_name }}</span> diff --git a/src/components/media_modal/media_modal.vue b/src/components/media_modal/media_modal.vue index f14740f6..0543e677 100644 --- a/src/components/media_modal/media_modal.vue +++ b/src/components/media_modal/media_modal.vue @@ -8,7 +8,7 @@ v-if="type === 'image'" class="modal-image" :src="currentMedia.url" - ></img> + > <VideoAttachment v-if="type === 'video'" class="modal-image" diff --git a/src/components/media_upload/media_upload.vue b/src/components/media_upload/media_upload.vue index 60ce2d42..ac32ae83 100644 --- a/src/components/media_upload/media_upload.vue +++ b/src/components/media_upload/media_upload.vue @@ -23,7 +23,7 @@ style="position: fixed; top: -100em" multiple="true" @change="change" - ></input> + > </label> </div> </template> diff --git a/src/components/notification/notification.vue b/src/components/notification/notification.vue index 88f4e886..bafcd026 100644 --- a/src/components/notification/notification.vue +++ b/src/components/notification/notification.vue @@ -30,12 +30,14 @@ /> <span class="notification-details"> <div class="name-and-action"> + <!-- eslint-disable vue/no-v-html --> <span v-if="!!notification.from_profile.name_html" class="username" :title="'@'+notification.from_profile.screen_name" v-html="notification.from_profile.name_html" /> + <!-- eslint-enable vue/no-v-html --> <span v-else class="username" diff --git a/src/components/poll/poll.vue b/src/components/poll/poll.vue index 0fc81b46..db8e33b3 100644 --- a/src/components/poll/poll.vue +++ b/src/components/poll/poll.vue @@ -60,7 +60,7 @@ </div> <i18n :path="expired ? 'polls.expired' : 'polls.expires_in'"> <Timeago - :time="this.expiresAt" + :time="expiresAt" :auto-update="60" :now-threshold="0" /> diff --git a/src/components/poll/poll_form.vue b/src/components/poll/poll_form.vue index 2bd3d058..d53f3837 100644 --- a/src/components/poll/poll_form.vue +++ b/src/components/poll/poll_form.vue @@ -77,6 +77,7 @@ > <option v-for="unit in expiryUnits" + :key="unit" :value="unit" > {{ $t(`time.${unit}_short`, ['']) }} diff --git a/src/components/post_status_form/post_status_form.vue b/src/components/post_status_form/post_status_form.vue index 379c9f3b..1f389eda 100644 --- a/src/components/post_status_form/post_status_form.vue +++ b/src/components/post_status_form/post_status_form.vue @@ -206,6 +206,7 @@ <div class="attachments"> <div v-for="file in newStatus.files" + :key="file.url" class="media-upload-wrapper" > <i @@ -217,7 +218,7 @@ v-if="type(file) === 'image'" class="thumbnail media-upload" :src="file.url" - ></img> + > <video v-if="type(file) === 'video'" :src="file.url" diff --git a/src/components/registration/registration.vue b/src/components/registration/registration.vue index 8cc4ba56..e0fa214a 100644 --- a/src/components/registration/registration.vue +++ b/src/components/registration/registration.vue @@ -215,17 +215,22 @@ </div> </div> + <!-- eslint-disable vue/no-v-html --> <div class="terms-of-service" v-html="termsOfService" /> + <!-- eslint-enable vue/no-v-html --> </div> <div v-if="serverValidationErrors.length" class="form-group" > <div class="alert error"> - <span v-for="error in serverValidationErrors">{{ error }}</span> + <span + v-for="error in serverValidationErrors" + :key="error" + >{{ error }}</span> </div> </div> </form> diff --git a/src/components/shadow_control/shadow_control.vue b/src/components/shadow_control/shadow_control.vue index faefe1ff..de8a42d1 100644 --- a/src/components/shadow_control/shadow_control.vue +++ b/src/components/shadow_control/shadow_control.vue @@ -72,6 +72,7 @@ > <option v-for="(shadow, index) in cValue" + :key="index" :value="index" > {{ $t('settings.style.shadows.shadow_id', { value: index }) }} diff --git a/src/components/status/status.js b/src/components/status/status.js index d2452935..199351cb 100644 --- a/src/components/status/status.js +++ b/src/components/status/status.js @@ -221,7 +221,7 @@ const Status = { ? this.$store.state.instance.subjectLineBehavior : this.$store.state.config.subjectLineBehavior const startsWithRe = decodedSummary.match(/^re[: ]/i) - if (behavior !== 'noop' && startsWithRe || behavior === 'masto') { + if ((behavior !== 'noop' && startsWithRe) || behavior === 'masto') { return decodedSummary } else if (behavior === 'email') { return 're: '.concat(decodedSummary) diff --git a/src/components/status/status.vue b/src/components/status/status.vue index e482cfd8..6f7f826b 100644 --- a/src/components/status/status.vue +++ b/src/components/status/status.vue @@ -1,4 +1,5 @@ <template> + <!-- eslint-disable vue/no-v-html --> <div v-if="!hideStatus" class="status-el" @@ -205,18 +206,20 @@ v-if="replies && replies.length" class="faint" >{{ $t('status.replies_list') }}</span> - <span - v-for="reply in replies" - v-if="replies" - class="reply-link faint" - > - <a - href="#" - @click.prevent="gotoOriginal(reply.id)" - @mouseenter="replyEnter(reply.id, $event)" - @mouseout="replyLeave()" - >{{ reply.name }}</a> - </span> + <template v-if="replies"> + <span + v-for="reply in replies" + :key="reply.id" + class="reply-link faint" + > + <a + href="#" + @click.prevent="gotoOriginal(reply.id)" + @mouseenter="replyEnter(reply.id, $event)" + @mouseout="replyLeave()" + >{{ reply.name }}</a> + </span> + </template> </div> </div> </div> @@ -422,6 +425,7 @@ </div> </template> </div> +<!-- eslint-enable vue/no-v-html --> </template> <script src="./status.js" ></script> diff --git a/src/components/style_switcher/style_switcher.vue b/src/components/style_switcher/style_switcher.vue index 97dba99d..d24394a4 100644 --- a/src/components/style_switcher/style_switcher.vue +++ b/src/components/style_switcher/style_switcher.vue @@ -24,6 +24,7 @@ > <option v-for="style in availableStyles" + :key="style.name" :value="style" :style="{ backgroundColor: style[1] || style.theme.colors.bg, @@ -463,6 +464,7 @@ > <option v-for="shadow in shadowsAvailable" + :key="shadow" :value="shadow" > {{ $t('settings.style.shadows.components.' + shadow) }} diff --git a/src/components/terms_of_service_panel/terms_of_service_panel.vue b/src/components/terms_of_service_panel/terms_of_service_panel.vue index f79345cb..63dc58b8 100644 --- a/src/components/terms_of_service_panel/terms_of_service_panel.vue +++ b/src/components/terms_of_service_panel/terms_of_service_panel.vue @@ -2,10 +2,12 @@ <div> <div class="panel panel-default"> <div class="panel-body"> + <!-- eslint-disable vue/no-v-html --> <div class="tos-content" v-html="content" /> + <!-- eslint-enable vue/no-v-html --> </div> </div> </div> diff --git a/src/components/user_card/user_card.js b/src/components/user_card/user_card.js index 63dfa6ed..92cd0e54 100644 --- a/src/components/user_card/user_card.js +++ b/src/components/user_card/user_card.js @@ -73,12 +73,12 @@ export default { userHighlightType: { get () { const data = this.$store.state.config.highlight[this.user.screen_name] - return data && data.type || 'disabled' + return (data && data.type) || 'disabled' }, set (type) { const data = this.$store.state.config.highlight[this.user.screen_name] if (type !== 'disabled') { - this.$store.dispatch('setHighlight', { user: this.user.screen_name, color: data && data.color || '#FFFFFF', type }) + this.$store.dispatch('setHighlight', { user: this.user.screen_name, color: (data && data.color) || '#FFFFFF', type }) } else { this.$store.dispatch('setHighlight', { user: this.user.screen_name, color: undefined }) } diff --git a/src/components/user_card/user_card.vue b/src/components/user_card/user_card.vue index 7ad8aa1d..5a5a4881 100644 --- a/src/components/user_card/user_card.vue +++ b/src/components/user_card/user_card.vue @@ -15,12 +15,14 @@ </router-link> <div class="user-summary"> <div class="top-line"> + <!-- eslint-disable vue/no-v-html --> <div v-if="user.name_html" :title="user.name" class="user-name" v-html="user.name_html" /> + <!-- eslint-enable vue/no-v-html --> <div v-else :title="user.name" @@ -237,12 +239,14 @@ <span>{{ user.followers_count }}</span> </div> </div> + <!-- eslint-disable vue/no-v-html --> <p v-if="!hideBio && user.description_html" class="user-card-bio" @click.prevent="linkClicked" v-html="user.description_html" /> + <!-- eslint-enable vue/no-v-html --> <p v-else-if="!hideBio" class="user-card-bio" diff --git a/src/components/user_settings/mfa_backup_codes.vue b/src/components/user_settings/mfa_backup_codes.vue index 62542839..e6c8ede2 100644 --- a/src/components/user_settings/mfa_backup_codes.vue +++ b/src/components/user_settings/mfa_backup_codes.vue @@ -9,7 +9,10 @@ {{ $t('settings.mfa.recovery_codes_warning') }} </p> <ul class="backup-codes"> - <li v-for="code in backupCodes.codes"> + <li + v-for="code in backupCodes.codes" + :key="code" + > {{ code }} </li> </ul> diff --git a/src/components/who_to_follow_panel/who_to_follow_panel.vue b/src/components/who_to_follow_panel/who_to_follow_panel.vue index b26e5f4f..518acd97 100644 --- a/src/components/who_to_follow_panel/who_to_follow_panel.vue +++ b/src/components/who_to_follow_panel/who_to_follow_panel.vue @@ -9,6 +9,7 @@ <div class="who-to-follow"> <p v-for="user in usersToFollow" + :key="user.id" class="who-to-follow-items" > <img :src="user.img"> |
