diff options
Diffstat (limited to 'src/components')
| -rw-r--r-- | src/components/settings/settings.js | 22 | ||||
| -rw-r--r-- | src/components/settings/settings.vue | 7 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/components/settings/settings.js b/src/components/settings/settings.js index 4d0528b6..347dd8f2 100644 --- a/src/components/settings/settings.js +++ b/src/components/settings/settings.js @@ -13,6 +13,28 @@ const settings = { components: { StyleSwitcher }, + computed: { + user () { + return this.$store.state.users.currentUser + } + }, + methods: { + uploadAvatar ({target}) { + const file = target.files[0] + const reader = new FileReader() + reader.onload = ({target}) => { + const img = target.result + + this.$store.state.api.backendInteractor.updateAvatar({params: {img}}).then((user) => { + if (!user.error) { + this.$store.commit('addNewUsers', [user]) + this.$store.commit('setCurrentUser', user) + } + }) + } + reader.readAsDataURL(file) + } + }, watch: { hideAttachmentsLocal (value) { this.$store.dispatch('setOption', { name: 'hideAttachments', value }) diff --git a/src/components/settings/settings.vue b/src/components/settings/settings.vue index 33d46e7e..7ceac828 100644 --- a/src/components/settings/settings.vue +++ b/src/components/settings/settings.vue @@ -9,6 +9,13 @@ <style-switcher></style-switcher> </div> <div class="setting-item"> + <h2>Avatar</h2> + <img :src="user.profile_image_url_original"></img> + <div> + <input name="avatar-upload" id="avatar-upload" type="file" @change="uploadAvatar" ></input> + </div> + </div> + <div class="setting-item"> <h2>Filtering</h2> <p>All notices containing these words will be muted, one per line</p> <textarea id="muteWords" v-model="muteWordsString"></textarea> |
