aboutsummaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/chat_panel/chat_panel.vue2
-rw-r--r--src/components/emoji_picker/emoji_picker.js5
-rw-r--r--src/components/settings_modal/tabs/data_import_export_tab.js28
-rw-r--r--src/components/settings_modal/tabs/data_import_export_tab.vue17
-rw-r--r--src/components/side_drawer/side_drawer.vue2
-rw-r--r--src/components/user_profile/user_profile.vue3
6 files changed, 45 insertions, 12 deletions
diff --git a/src/components/chat_panel/chat_panel.vue b/src/components/chat_panel/chat_panel.vue
index ca529b5a..570435e7 100644
--- a/src/components/chat_panel/chat_panel.vue
+++ b/src/components/chat_panel/chat_panel.vue
@@ -63,7 +63,7 @@
@click.stop.prevent="togglePanel"
>
<div class="title">
- <i class="icon-comment-empty" />
+ <i class="icon-megaphone" />
{{ $t('shoutbox.title') }}
</div>
</div>
diff --git a/src/components/emoji_picker/emoji_picker.js b/src/components/emoji_picker/emoji_picker.js
index 0f397b59..5c09f6ca 100644
--- a/src/components/emoji_picker/emoji_picker.js
+++ b/src/components/emoji_picker/emoji_picker.js
@@ -8,7 +8,10 @@ const LOAD_EMOJI_BY = 60
const LOAD_EMOJI_MARGIN = 64
const filterByKeyword = (list, keyword = '') => {
- return list.filter(x => x.displayText.includes(keyword))
+ const keywordLowercase = keyword.toLowerCase()
+ return list.filter(emoji =>
+ emoji.displayText.toLowerCase().includes(keywordLowercase)
+ )
}
const EmojiPicker = {
diff --git a/src/components/settings_modal/tabs/data_import_export_tab.js b/src/components/settings_modal/tabs/data_import_export_tab.js
index 168f89e1..f4b736d2 100644
--- a/src/components/settings_modal/tabs/data_import_export_tab.js
+++ b/src/components/settings_modal/tabs/data_import_export_tab.js
@@ -1,6 +1,7 @@
import Importer from 'src/components/importer/importer.vue'
import Exporter from 'src/components/exporter/exporter.vue'
import Checkbox from 'src/components/checkbox/checkbox.vue'
+import { mapState } from 'vuex'
const DataImportExportTab = {
data () {
@@ -18,21 +19,26 @@ const DataImportExportTab = {
Checkbox
},
computed: {
- user () {
- return this.$store.state.users.currentUser
- }
+ ...mapState({
+ backendInteractor: (state) => state.api.backendInteractor,
+ user: (state) => state.users.currentUser
+ })
},
methods: {
getFollowsContent () {
- return this.$store.state.api.backendInteractor.exportFriends({ id: this.$store.state.users.currentUser.id })
+ return this.backendInteractor.exportFriends({ id: this.user.id })
.then(this.generateExportableUsersContent)
},
getBlocksContent () {
- return this.$store.state.api.backendInteractor.fetchBlocks()
+ return this.backendInteractor.fetchBlocks()
+ .then(this.generateExportableUsersContent)
+ },
+ getMutesContent () {
+ return this.backendInteractor.fetchMutes()
.then(this.generateExportableUsersContent)
},
importFollows (file) {
- return this.$store.state.api.backendInteractor.importFollows({ file })
+ return this.backendInteractor.importFollows({ file })
.then((status) => {
if (!status) {
throw new Error('failed')
@@ -40,7 +46,15 @@ const DataImportExportTab = {
})
},
importBlocks (file) {
- return this.$store.state.api.backendInteractor.importBlocks({ file })
+ return this.backendInteractor.importBlocks({ file })
+ .then((status) => {
+ if (!status) {
+ throw new Error('failed')
+ }
+ })
+ },
+ importMutes (file) {
+ return this.backendInteractor.importMutes({ file })
.then((status) => {
if (!status) {
throw new Error('failed')
diff --git a/src/components/settings_modal/tabs/data_import_export_tab.vue b/src/components/settings_modal/tabs/data_import_export_tab.vue
index b5d0f5ed..a406077d 100644
--- a/src/components/settings_modal/tabs/data_import_export_tab.vue
+++ b/src/components/settings_modal/tabs/data_import_export_tab.vue
@@ -36,6 +36,23 @@
:export-button-label="$t('settings.block_export_button')"
/>
</div>
+ <div class="setting-item">
+ <h2>{{ $t('settings.mute_import') }}</h2>
+ <p>{{ $t('settings.import_mutes_from_a_csv_file') }}</p>
+ <Importer
+ :submit-handler="importMutes"
+ :success-message="$t('settings.mutes_imported')"
+ :error-message="$t('settings.mute_import_error')"
+ />
+ </div>
+ <div class="setting-item">
+ <h2>{{ $t('settings.mute_export') }}</h2>
+ <Exporter
+ :get-content="getMutesContent"
+ filename="mutes.csv"
+ :export-button-label="$t('settings.mute_export_button')"
+ />
+ </div>
</div>
</template>
diff --git a/src/components/side_drawer/side_drawer.vue b/src/components/side_drawer/side_drawer.vue
index 0587ee02..eda5a68c 100644
--- a/src/components/side_drawer/side_drawer.vue
+++ b/src/components/side_drawer/side_drawer.vue
@@ -90,7 +90,7 @@
@click="toggleDrawer"
>
<router-link :to="{ name: 'chat' }">
- <i class="button-icon icon-chat" /> {{ $t("nav.chat") }}
+ <i class="button-icon icon-megaphone" /> {{ $t("shoutbox.title") }}
</router-link>
</li>
</ul>
diff --git a/src/components/user_profile/user_profile.vue b/src/components/user_profile/user_profile.vue
index c7c67c0a..b26499b4 100644
--- a/src/components/user_profile/user_profile.vue
+++ b/src/components/user_profile/user_profile.vue
@@ -156,8 +156,7 @@
.user-profile-field {
display: flex;
- margin: 0.25em auto;
- max-width: 32em;
+ margin: 0.25em;
border: 1px solid var(--border, $fallback--border);
border-radius: $fallback--inputRadius;
border-radius: var(--inputRadius, $fallback--inputRadius);