diff options
| author | lambadalambda <gitgud@rogerbraun.net> | 2017-06-21 12:22:28 -0400 |
|---|---|---|
| committer | lambadalambda <gitgud@rogerbraun.net> | 2017-06-21 12:22:28 -0400 |
| commit | 937705ccb0b53f22e9e5e3397a0d03142142d8c6 (patch) | |
| tree | 4d617491309a5b4868efb4d12854f6329fbc6dc0 /src/components/settings/settings.js | |
| parent | e113d0a250d914fa490e632e21abd53206e6482e (diff) | |
| parent | 1a5ee95ee4e7b739158bc7571b01b32b1af792ad (diff) | |
Merge branch 'feature/registration' into 'develop'
Add a registration form.
See merge request !76
Diffstat (limited to 'src/components/settings/settings.js')
| -rw-r--r-- | src/components/settings/settings.js | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/src/components/settings/settings.js b/src/components/settings/settings.js index 998aa354..8d6a6713 100644 --- a/src/components/settings/settings.js +++ b/src/components/settings/settings.js @@ -7,14 +7,58 @@ const settings = { hideAttachmentsLocal: this.$store.state.config.hideAttachments, hideAttachmentsInConvLocal: this.$store.state.config.hideAttachmentsInConv, hideNsfwLocal: this.$store.state.config.hideNsfw, + muteWordsString: this.$store.state.config.muteWords.join('\n'), autoLoadLocal: this.$store.state.config.autoLoad, hoverPreviewLocal: this.$store.state.config.hoverPreview, - muteWordsString: this.$store.state.config.muteWords.join('\n') + previewfile: null } }, components: { StyleSwitcher }, + computed: { + user () { + return this.$store.state.users.currentUser + } + }, + methods: { + uploadAvatar ({target}) { + const file = target.files[0] + // eslint-disable-next-line no-undef + const reader = new FileReader() + reader.onload = ({target}) => { + const img = target.result + this.previewfile = img + } + reader.readAsDataURL(file) + }, + submitAvatar () { + if (!this.previewfile) { return } + + const img = this.previewfile + // eslint-disable-next-line no-undef + let imginfo = new Image() + let cropX, cropY, cropW, cropH + imginfo.src = this.previewfile + if (imginfo.height > imginfo.width) { + cropX = 0 + cropW = imginfo.width + cropY = Math.floor((imginfo.height - imginfo.width) / 2) + cropH = imginfo.width + } else { + cropY = 0 + cropH = imginfo.height + cropX = Math.floor((imginfo.width - imginfo.height) / 2) + cropW = imginfo.height + } + this.$store.state.api.backendInteractor.updateAvatar({params: {img, cropX, cropY, cropW, cropH}}).then((user) => { + if (!user.error) { + this.$store.commit('addNewUsers', [user]) + this.$store.commit('setCurrentUser', user) + } + }) + } + }, watch: { hideAttachmentsLocal (value) { this.$store.dispatch('setOption', { name: 'hideAttachments', value }) |
