From 8975589bca81ff6eb84084047bf74e16ee5d1cd7 Mon Sep 17 00:00:00 2001
From: Shpuld Shpuldson <shp@cock.li>
Date: Tue, 8 Sep 2020 10:44:08 +0300
Subject: [PATCH 1/2] fix vue warnings and errors

---
 .../contrast_ratio/contrast_ratio.vue         |  7 +++--
 src/components/poll/poll.vue                  |  2 ++
 .../tabs/theme_tab/theme_tab.vue              | 30 +++++++++----------
 3 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/src/components/contrast_ratio/contrast_ratio.vue b/src/components/contrast_ratio/contrast_ratio.vue
index ba92bc17..9dc871b6 100644
--- a/src/components/contrast_ratio/contrast_ratio.vue
+++ b/src/components/contrast_ratio/contrast_ratio.vue
@@ -39,13 +39,16 @@
 export default {
   props: {
     large: {
-      required: false
+      required: false,
+      type: Boolean,
+      default: false
     },
     // TODO: Make theme switcher compute theme initially so that contrast
     // component won't be called without contrast data
     contrast: {
       required: false,
-      type: Object
+      type: Object,
+      default: () => ({})
     }
   },
   computed: {
diff --git a/src/components/poll/poll.vue b/src/components/poll/poll.vue
index 1858f3e1..fedb92c8 100644
--- a/src/components/poll/poll.vue
+++ b/src/components/poll/poll.vue
@@ -17,7 +17,9 @@
           <span class="result-percentage">
             {{ percentageForOption(option.votes_count) }}%
           </span>
+          <!-- eslint-disable vue/no-v-html -->
           <span v-html="option.title_html" />
+          <!-- eslint-enable vue/no-v-html -->
         </div>
         <div
           class="result-fill"
diff --git a/src/components/settings_modal/tabs/theme_tab/theme_tab.vue b/src/components/settings_modal/tabs/theme_tab/theme_tab.vue
index d57894de..5328c350 100644
--- a/src/components/settings_modal/tabs/theme_tab/theme_tab.vue
+++ b/src/components/settings_modal/tabs/theme_tab/theme_tab.vue
@@ -278,7 +278,7 @@
             />
             <ContrastRatio
               :contrast="previewContrast.alertErrorText"
-              large="true"
+              large
             />
             <ColorInput
               v-model="alertWarningColorLocal"
@@ -294,7 +294,7 @@
             />
             <ContrastRatio
               :contrast="previewContrast.alertWarningText"
-              large="true"
+              large
             />
             <ColorInput
               v-model="alertNeutralColorLocal"
@@ -310,7 +310,7 @@
             />
             <ContrastRatio
               :contrast="previewContrast.alertNeutralText"
-              large="true"
+              large
             />
             <OpacityInput
               v-model="alertOpacityLocal"
@@ -334,7 +334,7 @@
             />
             <ContrastRatio
               :contrast="previewContrast.badgeNotificationText"
-              large="true"
+              large
             />
           </div>
           <div class="color-item">
@@ -359,7 +359,7 @@
             />
             <ContrastRatio
               :contrast="previewContrast.panelText"
-              large="true"
+              large
             />
             <ColorInput
               v-model="panelLinkColorLocal"
@@ -369,7 +369,7 @@
             />
             <ContrastRatio
               :contrast="previewContrast.panelLink"
-              large="true"
+              large
             />
           </div>
           <div class="color-item">
@@ -740,57 +740,57 @@
             <ColorInput
               v-model="chatBgColorLocal"
               name="chatBgColor"
-              :fallback="previewTheme.colors.bg || 1"
+              :fallback="previewTheme.colors.bg"
               :label="$t('settings.background')"
             />
             <h5>{{ $t('settings.style.advanced_colors.chat.incoming') }}</h5>
             <ColorInput
               v-model="chatMessageIncomingBgColorLocal"
               name="chatMessageIncomingBgColor"
-              :fallback="previewTheme.colors.bg || 1"
+              :fallback="previewTheme.colors.bg"
               :label="$t('settings.background')"
             />
             <ColorInput
               v-model="chatMessageIncomingTextColorLocal"
               name="chatMessageIncomingTextColor"
-              :fallback="previewTheme.colors.text || 1"
+              :fallback="previewTheme.colors.text"
               :label="$t('settings.text')"
             />
             <ColorInput
               v-model="chatMessageIncomingLinkColorLocal"
               name="chatMessageIncomingLinkColor"
-              :fallback="previewTheme.colors.link || 1"
+              :fallback="previewTheme.colors.link"
               :label="$t('settings.links')"
             />
             <ColorInput
               v-model="chatMessageIncomingBorderColorLocal"
               name="chatMessageIncomingBorderLinkColor"
-              :fallback="previewTheme.colors.fg || 1"
+              :fallback="previewTheme.colors.fg"
               :label="$t('settings.style.advanced_colors.chat.border')"
             />
             <h5>{{ $t('settings.style.advanced_colors.chat.outgoing') }}</h5>
             <ColorInput
               v-model="chatMessageOutgoingBgColorLocal"
               name="chatMessageOutgoingBgColor"
-              :fallback="previewTheme.colors.bg || 1"
+              :fallback="previewTheme.colors.bg"
               :label="$t('settings.background')"
             />
             <ColorInput
               v-model="chatMessageOutgoingTextColorLocal"
               name="chatMessageOutgoingTextColor"
-              :fallback="previewTheme.colors.text || 1"
+              :fallback="previewTheme.colors.text"
               :label="$t('settings.text')"
             />
             <ColorInput
               v-model="chatMessageOutgoingLinkColorLocal"
               name="chatMessageOutgoingLinkColor"
-              :fallback="previewTheme.colors.link || 1"
+              :fallback="previewTheme.colors.link"
               :label="$t('settings.links')"
             />
             <ColorInput
               v-model="chatMessageOutgoingBorderColorLocal"
               name="chatMessageOutgoingBorderLinkColor"
-              :fallback="previewTheme.colors.bg || 1"
+              :fallback="previewTheme.colors.bg"
               :label="$t('settings.style.advanced_colors.chat.border')"
             />
           </div>

From afb2241a5ba057f5d21abb23fa5400e461ba8cf5 Mon Sep 17 00:00:00 2001
From: Shpuld Shpuldson <shp@cock.li>
Date: Tue, 8 Sep 2020 16:29:10 +0300
Subject: [PATCH 2/2] change a eslint disable to nextline only

---
 src/components/poll/poll.vue | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/components/poll/poll.vue b/src/components/poll/poll.vue
index fedb92c8..5f54b416 100644
--- a/src/components/poll/poll.vue
+++ b/src/components/poll/poll.vue
@@ -17,9 +17,8 @@
           <span class="result-percentage">
             {{ percentageForOption(option.votes_count) }}%
           </span>
-          <!-- eslint-disable vue/no-v-html -->
+          <!-- eslint-disable-next-line vue/no-v-html -->
           <span v-html="option.title_html" />
-          <!-- eslint-enable vue/no-v-html -->
         </div>
         <div
           class="result-fill"