diff --git a/CHANGELOG.md b/CHANGELOG.md
index 588348a0..cf4be7da 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Button to remove uploaded media in post status form is now properly placed and sized.
- Fixed shoutbox not working in mobile layout
+### Changed
+- Display 'people voted' instead of 'votes' for multi-choice polls
## [2.2.3] - 2021-01-18
### Added
@@ -29,6 +31,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Added some missing unicode emoji
- Added the upload limit to the Features panel in the About page
- Support for solid color wallpaper, instance doesn't have to define a wallpaper anymore
+- Group staff members by role in the About page
### Fixed
- Fixed the occasional bug where screen would scroll 1px when typing into a reply form
diff --git a/src/components/emoji_input/emoji_input.vue b/src/components/emoji_input/emoji_input.vue
index 4becdc41..1d6c760e 100644
--- a/src/components/emoji_input/emoji_input.vue
+++ b/src/components/emoji_input/emoji_input.vue
@@ -10,6 +10,7 @@
v-if="!hideEmojiButton"
class="button-unstyled emoji-picker-icon"
@click.prevent="togglePicker"
+ type="button"
>
diff --git a/src/components/extra_buttons/extra_buttons.vue b/src/components/extra_buttons/extra_buttons.vue
index e845d8fc..c6cb9fbe 100644
--- a/src/components/extra_buttons/extra_buttons.vue
+++ b/src/components/extra_buttons/extra_buttons.vue
@@ -139,6 +139,11 @@
@import '../../_variables.scss';
.ExtraButtons {
+ /* override of popover internal stuff */
+ .popover-trigger-button {
+ width: auto;
+ }
+
.popover-trigger {
position: static;
padding: 10px;
diff --git a/src/components/mfa_form/recovery_form.vue b/src/components/mfa_form/recovery_form.vue
index 0bf68e27..8457ec5d 100644
--- a/src/components/mfa_form/recovery_form.vue
+++ b/src/components/mfa_form/recovery_form.vue
@@ -26,6 +26,7 @@
{{ $t('login.enter_two_factor_code') }}
@@ -33,6 +34,7 @@
{{ $t('general.cancel') }}
diff --git a/src/components/mfa_form/totp_form.vue b/src/components/mfa_form/totp_form.vue
index 79230148..5d80e185 100644
--- a/src/components/mfa_form/totp_form.vue
+++ b/src/components/mfa_form/totp_form.vue
@@ -28,6 +28,7 @@
{{ $t('login.enter_recovery_code') }}
@@ -35,6 +36,7 @@
{{ $t('general.cancel') }}
diff --git a/src/components/poll/poll.vue b/src/components/poll/poll.vue
index 42819c19..187d1829 100644
--- a/src/components/poll/poll.vue
+++ b/src/components/poll/poll.vue
@@ -58,7 +58,12 @@
{{ $t('polls.vote') }}
- {{ totalVotesCount }} {{ $t("polls.votes") }} ·
+
+ {{ $tc("polls.people_voted_count", poll.voters_count, { count: poll.voters_count }) }} ·
+
+
+ {{ $tc("polls.votes_count", poll.votes_count, { count: poll.votes_count }) }} ·
+
diff --git a/src/components/react_button/react_button.vue b/src/components/react_button/react_button.vue
index ac940b98..04734674 100644
--- a/src/components/react_button/react_button.vue
+++ b/src/components/react_button/react_button.vue
@@ -1,6 +1,7 @@
@import '../../_variables.scss';
-.reaction-picker-filter {
- padding: 0.5em;
- display: flex;
- input {
- flex: 1;
+.ReactButton {
+ .reaction-picker-filter {
+ padding: 0.5em;
+ display: flex;
+
+ input {
+ flex: 1;
+ }
}
-}
-.reaction-picker-divider {
- height: 1px;
- width: 100%;
- margin: 0.5em;
- background-color: var(--border, $fallback--border);
-}
+ .reaction-picker-divider {
+ height: 1px;
+ width: 100%;
+ margin: 0.5em;
+ background-color: var(--border, $fallback--border);
+ }
-.reaction-picker {
- width: 10em;
- height: 9em;
- font-size: 1.5em;
- overflow-y: scroll;
- display: flex;
- flex-wrap: wrap;
- padding: 0.5em;
- text-align: center;
- align-content: flex-start;
- user-select: none;
+ .reaction-picker {
+ width: 10em;
+ height: 9em;
+ font-size: 1.5em;
+ overflow-y: scroll;
+ display: flex;
+ flex-wrap: wrap;
+ padding: 0.5em;
+ text-align: center;
+ align-content: flex-start;
+ user-select: none;
- mask: linear-gradient(to top, white 0, transparent 100%) bottom no-repeat,
- linear-gradient(to bottom, white 0, transparent 100%) top no-repeat,
- linear-gradient(to top, white, white);
- transition: mask-size 150ms;
- mask-size: 100% 20px, 100% 20px, auto;
- // Autoprefixed seem to ignore this one, and also syntax is different
- -webkit-mask-composite: xor;
- mask-composite: exclude;
+ mask: linear-gradient(to top, white 0, transparent 100%) bottom no-repeat,
+ linear-gradient(to bottom, white 0, transparent 100%) top no-repeat,
+ linear-gradient(to top, white, white);
+ transition: mask-size 150ms;
+ mask-size: 100% 20px, 100% 20px, auto;
- .emoji-button {
- cursor: pointer;
+ /* Autoprefixed seem to ignore this one, and also syntax is different */
+ -webkit-mask-composite: xor;
+ mask-composite: exclude;
- flex-basis: 20%;
- line-height: 1.5em;
- align-content: center;
+ .emoji-button {
+ cursor: pointer;
- &:hover {
- transform: scale(1.25);
+ flex-basis: 20%;
+ line-height: 1.5em;
+ align-content: center;
+
+ &:hover {
+ transform: scale(1.25);
+ }
+ }
+ }
+
+ /* override of popover internal stuff */
+ .popover-trigger-button {
+ width: auto;
+ }
+
+ .popover-trigger {
+ padding: 10px;
+ margin: -10px;
+
+ &:hover .svg-inline--fa {
+ color: $fallback--text;
+ color: var(--text, $fallback--text);
}
}
}
-.ReactButton {
- padding: 10px;
- margin: -10px;
-
- &:hover .svg-inline--fa {
- color: $fallback--text;
- color: var(--text, $fallback--text);
- }
-}
-
diff --git a/src/components/scope_selector/scope_selector.vue b/src/components/scope_selector/scope_selector.vue
index 66ac612e..60e8c3ba 100644
--- a/src/components/scope_selector/scope_selector.vue
+++ b/src/components/scope_selector/scope_selector.vue
@@ -9,6 +9,7 @@
:class="css.direct"
:title="$t('post_status.scope.direct')"
@click="changeVis('direct')"
+ type="button"
>
diff --git a/src/components/search_bar/search_bar.vue b/src/components/search_bar/search_bar.vue
index 6cf9179e..a7432dcb 100644
--- a/src/components/search_bar/search_bar.vue
+++ b/src/components/search_bar/search_bar.vue
@@ -8,6 +8,7 @@
class="button-unstyled nav-icon"
:title="$t('nav.search')"
@click.prevent.stop="toggleHidden"
+ type="button"
>
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/settings_modal/helpers/modified_indicator.vue b/src/components/settings_modal/helpers/modified_indicator.vue
new file mode 100644
index 00000000..b75a2811
--- /dev/null
+++ b/src/components/settings_modal/helpers/modified_indicator.vue
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+ {{ $t('settings.setting_changed') }}
+
+
+
+
+
+
+
+
diff --git a/src/components/settings_modal/helpers/shared_computed_object.js b/src/components/settings_modal/helpers/shared_computed_object.js
index 86703697..2c833c0c 100644
--- a/src/components/settings_modal/helpers/shared_computed_object.js
+++ b/src/components/settings_modal/helpers/shared_computed_object.js
@@ -1,29 +1,15 @@
-import {
- instanceDefaultProperties,
- multiChoiceProperties,
- defaultState as configDefaultState
-} from 'src/modules/config.js'
+import { defaultState as configDefaultState } from 'src/modules/config.js'
const SharedComputedObject = () => ({
user () {
return this.$store.state.users.currentUser
},
- // Getting localized values for instance-default properties
- ...instanceDefaultProperties
- .filter(key => multiChoiceProperties.includes(key))
+ // Getting values for default properties
+ ...Object.keys(configDefaultState)
.map(key => [
key + 'DefaultValue',
function () {
- return this.$store.getters.instanceDefaultConfig[key]
- }
- ])
- .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),
- ...instanceDefaultProperties
- .filter(key => !multiChoiceProperties.includes(key))
- .map(key => [
- key + 'LocalizedValue',
- function () {
- return this.$t('settings.values.' + this.$store.getters.instanceDefaultConfig[key])
+ return this.$store.getters.defaultConfig[key]
}
])
.reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),
diff --git a/src/components/settings_modal/tabs/filtering_tab.js b/src/components/settings_modal/tabs/filtering_tab.js
index 5f38a5ae..6e95f7af 100644
--- a/src/components/settings_modal/tabs/filtering_tab.js
+++ b/src/components/settings_modal/tabs/filtering_tab.js
@@ -1,5 +1,5 @@
import { filter, trim } from 'lodash'
-import Checkbox from 'src/components/checkbox/checkbox.vue'
+import BooleanSetting from '../helpers/boolean_setting.vue'
import SharedComputedObject from '../helpers/shared_computed_object.js'
import { library } from '@fortawesome/fontawesome-svg-core'
@@ -18,7 +18,7 @@ const FilteringTab = {
}
},
components: {
- Checkbox
+ BooleanSetting
},
computed: {
...SharedComputedObject(),
diff --git a/src/components/settings_modal/tabs/filtering_tab.vue b/src/components/settings_modal/tabs/filtering_tab.vue
index 8f850c8b..18dd4be9 100644
--- a/src/components/settings_modal/tabs/filtering_tab.vue
+++ b/src/components/settings_modal/tabs/filtering_tab.vue
@@ -5,34 +5,34 @@
{{ $t('settings.notification_visibility') }}
-
+
{{ $t('settings.notification_visibility_likes') }}
-
+
-
+
{{ $t('settings.notification_visibility_repeats') }}
-
+
-
+
{{ $t('settings.notification_visibility_follows') }}
-
+
-
+
{{ $t('settings.notification_visibility_mentions') }}
-
+
-
+
{{ $t('settings.notification_visibility_moves') }}
-
+
-
+
{{ $t('settings.notification_visibility_emoji_reactions') }}
-
+
@@ -60,14 +60,14 @@
-
- {{ $t('settings.hide_post_stats') }} {{ $t('settings.instance_default', { value: hidePostStatsLocalizedValue }) }}
-
+
+ {{ $t('settings.hide_post_stats') }}
+
-
- {{ $t('settings.hide_user_stats') }} {{ $t('settings.instance_default', { value: hideUserStatsLocalizedValue }) }}
-
+
+ {{ $t('settings.hide_user_stats') }}
+
@@ -80,9 +80,9 @@
/>
-
- {{ $t('settings.hide_filtered_statuses') }} {{ $t('settings.instance_default', { value: hideFilteredStatusesLocalizedValue }) }}
-
+
+ {{ $t('settings.hide_filtered_statuses') }}
+
diff --git a/src/components/settings_modal/tabs/general_tab.js b/src/components/settings_modal/tabs/general_tab.js
index 029ee7a1..2db523be 100644
--- a/src/components/settings_modal/tabs/general_tab.js
+++ b/src/components/settings_modal/tabs/general_tab.js
@@ -1,4 +1,4 @@
-import Checkbox from 'src/components/checkbox/checkbox.vue'
+import BooleanSetting from '../helpers/boolean_setting.vue'
import InterfaceLanguageSwitcher from 'src/components/interface_language_switcher/interface_language_switcher.vue'
import SharedComputedObject from '../helpers/shared_computed_object.js'
@@ -26,7 +26,7 @@ const GeneralTab = {
}
},
components: {
- Checkbox,
+ BooleanSetting,
InterfaceLanguageSwitcher
},
computed: {
diff --git a/src/components/settings_modal/tabs/general_tab.vue b/src/components/settings_modal/tabs/general_tab.vue
index 2cfa53dd..f409e341 100644
--- a/src/components/settings_modal/tabs/general_tab.vue
+++ b/src/components/settings_modal/tabs/general_tab.vue
@@ -7,9 +7,9 @@
-
+
{{ $t('settings.hide_isp') }}
-
+
@@ -17,9 +17,9 @@
-
+
{{ $t('settings.hide_wallpaper') }}
-
+
@@ -27,51 +27,51 @@
{{ $t('nav.timeline') }}
-
- {{ $t('settings.hide_muted_posts') }} {{ $t('settings.instance_default', { value: hideMutedPostsLocalizedValue }) }}
-
+
+ {{ $t('settings.hide_muted_posts') }}
+
-
- {{ $t('settings.collapse_subject') }} {{ $t('settings.instance_default', { value: collapseMessageWithSubjectLocalizedValue }) }}
-
+
+ {{ $t('settings.collapse_subject') }}
+
-
+
{{ $t('settings.streaming') }}
-
+
-
{{ $t('settings.pause_on_unfocused') }}
-
+
-
+
{{ $t('settings.useStreamingApi') }}
{{ $t('settings.useStreamingApiWarning') }}
-
+
-
+
{{ $t('settings.emoji_reactions_on_timeline') }}
-
+
-
+
{{ $t('settings.virtual_scrolling') }}
-
+
@@ -80,14 +80,14 @@
{{ $t('settings.composing') }}
-
- {{ $t('settings.scope_copy') }} {{ $t('settings.instance_default', { value: scopeCopyLocalizedValue }) }}
-
+
+ {{ $t('settings.scope_copy') }}
+
-
- {{ $t('settings.subject_input_always_show') }} {{ $t('settings.instance_default', { value: alwaysShowSubjectInputLocalizedValue }) }}
-
+
+ {{ $t('settings.subject_input_always_show') }}
+
@@ -148,19 +148,19 @@
-
- {{ $t('settings.minimal_scopes_mode') }} {{ $t('settings.instance_default', { value: minimalScopesModeLocalizedValue }) }}
-
+
+ {{ $t('settings.minimal_scopes_mode') }} {{ minimalScopesModeDefaultValue }}
+
-
+
{{ $t('settings.autohide_floating_post_button') }}
-
+
-
+
{{ $t('settings.pad_emoji') }}
-
+
@@ -169,14 +169,14 @@
{{ $t('settings.attachments') }}