diff options
Diffstat (limited to 'src/components')
| -rw-r--r-- | src/components/post_status_modal/post_status_modal.js | 25 | ||||
| -rw-r--r-- | src/components/post_status_modal/post_status_modal.vue | 3 | ||||
| -rw-r--r-- | src/components/side_drawer/side_drawer.vue | 11 | ||||
| -rw-r--r-- | src/components/user_settings/user_settings.js | 6 | ||||
| -rw-r--r-- | src/components/user_settings/user_settings.vue | 30 | ||||
| -rw-r--r-- | src/components/who_to_follow/who_to_follow.js | 14 |
6 files changed, 72 insertions, 17 deletions
diff --git a/src/components/post_status_modal/post_status_modal.js b/src/components/post_status_modal/post_status_modal.js index 1033ba11..38258296 100644 --- a/src/components/post_status_modal/post_status_modal.js +++ b/src/components/post_status_modal/post_status_modal.js @@ -1,24 +1,41 @@ import PostStatusForm from '../post_status_form/post_status_form.vue' +import get from 'lodash/get' const PostStatusModal = { components: { PostStatusForm }, + data () { + return { + resettingForm: false + } + }, computed: { isLoggedIn () { return !!this.$store.state.users.currentUser }, - isOpen () { - return this.isLoggedIn && this.$store.state.postStatus.modalActivated + modalActivated () { + return this.$store.state.postStatus.modalActivated + }, + isFormVisible () { + return this.isLoggedIn && !this.resettingForm && this.modalActivated }, params () { return this.$store.state.postStatus.params || {} } }, watch: { - isOpen (val) { + params (newVal, oldVal) { + if (get(newVal, 'repliedUser.id') !== get(oldVal, 'repliedUser.id')) { + this.resettingForm = true + this.$nextTick(() => { + this.resettingForm = false + }) + } + }, + isFormVisible (val) { if (val) { - this.$nextTick(() => this.$el.querySelector('textarea').focus()) + this.$nextTick(() => this.$el && this.$el.querySelector('textarea').focus()) } } }, diff --git a/src/components/post_status_modal/post_status_modal.vue b/src/components/post_status_modal/post_status_modal.vue index 3f8eec69..d3a82389 100644 --- a/src/components/post_status_modal/post_status_modal.vue +++ b/src/components/post_status_modal/post_status_modal.vue @@ -1,6 +1,7 @@ <template> <div - v-if="isOpen" + v-if="isLoggedIn && !resettingForm" + v-show="modalActivated" class="post-form-modal-view modal-view" @click="closeModal" > diff --git a/src/components/side_drawer/side_drawer.vue b/src/components/side_drawer/side_drawer.vue index 5b2d4473..214b8e0c 100644 --- a/src/components/side_drawer/side_drawer.vue +++ b/src/components/side_drawer/side_drawer.vue @@ -123,6 +123,17 @@ </router-link> </li> <li + v-if="currentUser && currentUser.role === 'admin'" + @click="toggleDrawer" + > + <a + href="/pleroma/admin/#/login-pleroma" + target="_blank" + > + {{ $t("nav.administration") }} + </a> + </li> + <li v-if="currentUser" @click="toggleDrawer" > diff --git a/src/components/user_settings/user_settings.js b/src/components/user_settings/user_settings.js index ae04ce73..f12cccae 100644 --- a/src/components/user_settings/user_settings.js +++ b/src/components/user_settings/user_settings.js @@ -41,8 +41,11 @@ const UserSettings = { newDefaultScope: this.$store.state.users.currentUser.default_scope, hideFollows: this.$store.state.users.currentUser.hide_follows, hideFollowers: this.$store.state.users.currentUser.hide_followers, + hideFollowsCount: this.$store.state.users.currentUser.hide_follows_count, + hideFollowersCount: this.$store.state.users.currentUser.hide_followers_count, showRole: this.$store.state.users.currentUser.show_role, role: this.$store.state.users.currentUser.role, + discoverable: this.$store.state.users.currentUser.discoverable, pickAvatarBtnVisible: true, bannerUploading: false, backgroundUploading: false, @@ -142,6 +145,9 @@ const UserSettings = { no_rich_text: this.newNoRichText, hide_follows: this.hideFollows, hide_followers: this.hideFollowers, + discoverable: this.discoverable, + hide_follows_count: this.hideFollowsCount, + hide_followers_count: this.hideFollowersCount, show_role: this.showRole /* eslint-enable camelcase */ } }).then((user) => { diff --git a/src/components/user_settings/user_settings.vue b/src/components/user_settings/user_settings.vue index 97833acb..ef75ac52 100644 --- a/src/components/user_settings/user_settings.vue +++ b/src/components/user_settings/user_settings.vue @@ -90,6 +90,15 @@ > <label for="account-hide-follows">{{ $t('settings.hide_follows_description') }}</label> </p> + <p class="setting-subitem"> + <input + id="account-hide-follows-count" + v-model="hideFollowsCount" + type="checkbox" + :disabled="!hideFollows" + > + <label for="account-hide-follows-count">{{ $t('settings.hide_follows_count_description') }}</label> + </p> <p> <input id="account-hide-followers" @@ -98,6 +107,15 @@ > <label for="account-hide-followers">{{ $t('settings.hide_followers_description') }}</label> </p> + <p class="setting-subitem"> + <input + id="account-hide-followers-count" + v-model="hideFollowersCount" + type="checkbox" + :disabled="!hideFollowers" + > + <label for="account-hide-followers-count">{{ $t('settings.hide_followers_count_description') }}</label> + </p> <p> <input id="account-show-role" @@ -113,6 +131,14 @@ for="account-show-role" >{{ $t('settings.show_moderator_badge') }}</label> </p> + <p> + <input + id="discoverable" + v-model="discoverable" + type="checkbox" + > + <label for="discoverable">{{ $t('settings.discoverable') }}</label> + </p> <button :disabled="newName && newName.length === 0" class="btn btn-default" @@ -619,5 +645,9 @@ width: 10em; } } + + .setting-subitem { + margin-left: 1.75em; + } } </style> diff --git a/src/components/who_to_follow/who_to_follow.js b/src/components/who_to_follow/who_to_follow.js index 1aa3a4cd..ecd97dd7 100644 --- a/src/components/who_to_follow/who_to_follow.js +++ b/src/components/who_to_follow/who_to_follow.js @@ -16,21 +16,11 @@ const WhoToFollow = { methods: { showWhoToFollow (reply) { reply.forEach((i, index) => { - const user = { - id: 0, - name: i.display_name, - screen_name: i.acct, - profile_image_url: i.avatar || '/images/avi.png', - profile_image_url_original: i.avatar || '/images/avi.png', - statusnet_profile_url: i.url - } - this.users.push(user) - - this.$store.state.api.backendInteractor.fetchUser({ id: user.screen_name }) + this.$store.state.api.backendInteractor.fetchUser({ id: i.acct }) .then((externalUser) => { if (!externalUser.error) { this.$store.commit('addNewUsers', [externalUser]) - user.id = externalUser.id + this.users.push(externalUser) } }) }) |
