From 96804d42f0f6aa6af85295933af6fd267b19e473 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sun, 7 Oct 2018 19:59:22 +0300 Subject: Some themeing is working!! --- src/components/post_status_form/post_status_form.vue | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/components/post_status_form') diff --git a/src/components/post_status_form/post_status_form.vue b/src/components/post_status_form/post_status_form.vue index 42e9c65c..4514e79f 100644 --- a/src/components/post_status_form/post_status_form.vue +++ b/src/components/post_status_form/post_status_form.vue @@ -153,8 +153,8 @@ padding-bottom: 0; margin-left: $fallback--attachmentRadius; margin-left: var(--attachmentRadius, $fallback--attachmentRadius); - background-color: $fallback--btn; - background-color: var(--btn, $fallback--btn); + background-color: $fallback--fg; + background-color: var(--fg, $fallback--fg); border-bottom-left-radius: 0; border-bottom-right-radius: 0; } @@ -261,8 +261,8 @@ min-width: 75%; background: $fallback--bg; background: var(--bg, $fallback--bg); - color: $fallback--lightFg; - color: var(--lightFg, $fallback--lightFg); + color: $fallback--lightText; + color: var(--lightText, $fallback--lightText); } .autocomplete { @@ -291,8 +291,8 @@ } &.highlighted { - background-color: $fallback--btn; - background-color: var(--btn, $fallback--btn); + background-color: $fallback--fg; + background-color: var(--fg, $fallback--fg); } } } -- cgit v1.2.3-70-g09d2 From dc3df7bc4e91abf4a911e4c5ecc0c627d00dcfb1 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Wed, 21 Nov 2018 18:22:05 +0300 Subject: fixes --- src/components/notifications/notifications.scss | 1 + src/components/post_status_form/post_status_form.vue | 4 ++-- src/components/timeline/timeline.vue | 2 +- src/components/user_card_content/user_card_content.js | 6 ++++-- src/services/style_setter/style_setter.js | 3 +++ 5 files changed, 11 insertions(+), 5 deletions(-) (limited to 'src/components/post_status_form') diff --git a/src/components/notifications/notifications.scss b/src/components/notifications/notifications.scss index 26455ffb..3f22b690 100644 --- a/src/components/notifications/notifications.scss +++ b/src/components/notifications/notifications.scss @@ -35,6 +35,7 @@ right: 0; left: 0; bottom: 0; + pointer-events: none; } &.unseen { diff --git a/src/components/post_status_form/post_status_form.vue b/src/components/post_status_form/post_status_form.vue index 4514e79f..751b048a 100644 --- a/src/components/post_status_form/post_status_form.vue +++ b/src/components/post_status_form/post_status_form.vue @@ -154,7 +154,7 @@ margin-left: $fallback--attachmentRadius; margin-left: var(--attachmentRadius, $fallback--attachmentRadius); background-color: $fallback--fg; - background-color: var(--fg, $fallback--fg); + background-color: var(--btn, $fallback--fg); border-bottom-left-radius: 0; border-bottom-right-radius: 0; } @@ -292,7 +292,7 @@ &.highlighted { background-color: $fallback--fg; - background-color: var(--fg, $fallback--fg); + background-color: var(--lightBg, $fallback--fg); } } } diff --git a/src/components/timeline/timeline.vue b/src/components/timeline/timeline.vue index c2d5b9e6..39f1b5bc 100644 --- a/src/components/timeline/timeline.vue +++ b/src/components/timeline/timeline.vue @@ -75,6 +75,6 @@ padding: 10px; z-index: 1; background-color: $fallback--fg; - background-color: var(--fg, $fallback--fg); + background-color: var(--panel, $fallback--fg); } diff --git a/src/components/user_card_content/user_card_content.js b/src/components/user_card_content/user_card_content.js index e8073021..6f9ed9fe 100644 --- a/src/components/user_card_content/user_card_content.js +++ b/src/components/user_card_content/user_card_content.js @@ -1,11 +1,13 @@ import StillImage from '../still-image/still-image.vue' +import { hex2rgb } from '../../services/color_convert/color_convert.js' export default { props: [ 'user', 'switcher', 'selected', 'hideBio' ], computed: { headingStyle () { - const rgb = this.$store.state.config.customTheme.colors.bg - if (rgb) { + const color = this.$store.state.config.customTheme.colors.bg + if (color) { + const rgb = (typeof color === 'string') ? hex2rgb(color) : color const tintColor = `rgba(${Math.floor(rgb.r)}, ${Math.floor(rgb.g)}, ${Math.floor(rgb.b)}, .5)` return { backgroundColor: `rgb(${Math.floor(rgb.r * 0.53)}, ${Math.floor(rgb.g * 0.56)}, ${Math.floor(rgb.b * 0.59)})`, diff --git a/src/services/style_setter/style_setter.js b/src/services/style_setter/style_setter.js index 1b7ec7f2..57bd2841 100644 --- a/src/services/style_setter/style_setter.js +++ b/src/services/style_setter/style_setter.js @@ -202,6 +202,9 @@ const generateColors = (input) => { colors[k + 'Link'].a = v colors['panelFaint'].a = v } + if (k === 'bg') { + colors['lightBg'].a = v + } if (colors[k]) { colors[k].a = v } else { -- cgit v1.2.3-70-g09d2 From 18e0828ee7bf4d90267db62bc079e1d8b3cf45ee Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Wed, 21 Nov 2018 21:40:45 +0300 Subject: last shadow override i wanted to make for now. also small tweak --- src/App.scss | 1 + src/components/post_status_form/post_status_form.vue | 2 ++ src/components/style_switcher/style_switcher.js | 2 +- src/services/style_setter/style_setter.js | 8 ++++++++ 4 files changed, 12 insertions(+), 1 deletion(-) (limited to 'src/components/post_status_form') diff --git a/src/App.scss b/src/App.scss index a41140ef..e8aa5846 100644 --- a/src/App.scss +++ b/src/App.scss @@ -430,6 +430,7 @@ nav { color: $fallback--faint; color: var(--faint, $fallback--faint); box-shadow: 0px 0px 4px rgba(0,0,0,.6); + box-shadow: var(--topBarShadow); } .fade-enter-active, .fade-leave-active { diff --git a/src/components/post_status_form/post_status_form.vue b/src/components/post_status_form/post_status_form.vue index 751b048a..1c79cab3 100644 --- a/src/components/post_status_form/post_status_form.vue +++ b/src/components/post_status_form/post_status_form.vue @@ -258,6 +258,8 @@ position: absolute; z-index: 1; box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.5); + // this doesn't match original but i don't care, making it uniform. + box-shadow: var(--popupShadow); min-width: 75%; background: $fallback--bg; background: var(--bg, $fallback--bg); diff --git a/src/components/style_switcher/style_switcher.js b/src/components/style_switcher/style_switcher.js index d0f72427..c39aa95b 100644 --- a/src/components/style_switcher/style_switcher.js +++ b/src/components/style_switcher/style_switcher.js @@ -259,7 +259,7 @@ export default { return [...Object.values(this.preview.rules), 'color: var(--text)'].join(';') }, shadowsAvailable () { - return Object.keys(this.previewTheme.shadows) + return Object.keys(this.previewTheme.shadows).sort() }, currentShadowOverriden: { get () { diff --git a/src/services/style_setter/style_setter.js b/src/services/style_setter/style_setter.js index 60eec7ea..20f54a84 100644 --- a/src/services/style_setter/style_setter.js +++ b/src/services/style_setter/style_setter.js @@ -301,6 +301,14 @@ const generateShadows = (input) => { color: '#000000', alpha: 0.6 }], + topBar: [{ + x: 0, + y: 0, + blur: 4, + spread: 0, + color: '#000000', + alpha: 0.6 + }], popup: [{ x: 2, y: 2, -- cgit v1.2.3-70-g09d2 From ba188eddab7f6eb8747bc43c179a8478d4f2a5a4 Mon Sep 17 00:00:00 2001 From: Rinpatch Date: Sat, 8 Dec 2018 18:23:21 +0300 Subject: [pleroma#36] Add upload errors --- src/boot/after_store.js | 3 ++- src/components/media_upload/media_upload.js | 4 ++++ src/components/post_status_form/post_status_form.js | 5 +++++ src/components/post_status_form/post_status_form.vue | 2 +- src/i18n/en.json | 2 ++ 5 files changed, 14 insertions(+), 2 deletions(-) (limited to 'src/components/post_status_form') diff --git a/src/boot/after_store.js b/src/boot/after_store.js index a80baaf5..38810326 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -21,11 +21,12 @@ const afterStoreSetup = ({store, i18n}) => { window.fetch('/api/statusnet/config.json') .then((res) => res.json()) .then((data) => { - const {name, closed: registrationClosed, textlimit, server} = data.site + const {name, closed: registrationClosed, textlimit, uploadlimit, server} = data.site store.dispatch('setInstanceOption', { name: 'name', value: name }) store.dispatch('setInstanceOption', { name: 'registrationOpen', value: (registrationClosed === '0') }) store.dispatch('setInstanceOption', { name: 'textlimit', value: parseInt(textlimit) }) + store.dispatch('setInstanceOption', { name: 'uploadlimit', value: parseInt(uploadlimit) }) store.dispatch('setInstanceOption', { name: 'server', value: server }) var apiConfig = data.site.pleromafe diff --git a/src/components/media_upload/media_upload.js b/src/components/media_upload/media_upload.js index 66337c3f..c2f3c3c7 100644 --- a/src/components/media_upload/media_upload.js +++ b/src/components/media_upload/media_upload.js @@ -21,6 +21,10 @@ const mediaUpload = { uploadFile (file) { const self = this const store = this.$store + if (file.size > store.state.instance.uploadlimit) { + self.$emit('upload-failed', 'upload_error_file_too_big') + return + } const formData = new FormData() formData.append('media', file) diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js index 789243cf..f7ba3cd5 100644 --- a/src/components/post_status_form/post_status_form.js +++ b/src/components/post_status_form/post_status_form.js @@ -262,6 +262,11 @@ const PostStatusForm = { let index = this.newStatus.files.indexOf(fileInfo) this.newStatus.files.splice(index, 1) }, + uploadFailed (errString) { + errString = errString || 'upload_error' + this.error = this.$t('post_status.' + errString) + this.enableSubmit() + }, disableSubmit () { this.submitDisabled = true }, diff --git a/src/components/post_status_form/post_status_form.vue b/src/components/post_status_form/post_status_form.vue index e4c46b9a..59ae9af4 100644 --- a/src/components/post_status_form/post_status_form.vue +++ b/src/components/post_status_form/post_status_form.vue @@ -64,7 +64,7 @@
- +

{{ charactersLeft }}

{{ charactersLeft }}

diff --git a/src/i18n/en.json b/src/i18n/en.json index 44291ad0..93a24743 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -52,6 +52,8 @@ "account_not_locked_warning": "Your account is not {0}. Anyone can follow you to view your follower-only posts.", "account_not_locked_warning_link": "locked", "attachments_sensitive": "Mark attachments as sensitive", + "upload_error": "Upload failed.", + "upload_error_file_too_big": "Upload failed. File too big", "content_type": { "plain_text": "Plain text" }, -- cgit v1.2.3-70-g09d2 From f69331e49d19a26be27d1188f721703fe04a493d Mon Sep 17 00:00:00 2001 From: rinpatch Date: Sat, 8 Dec 2018 22:36:54 +0100 Subject: Improve error messages --- src/components/media_upload/media_upload.js | 4 ++-- src/components/post_status_form/post_status_form.js | 6 +++--- src/i18n/en.json | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) (limited to 'src/components/post_status_form') diff --git a/src/components/media_upload/media_upload.js b/src/components/media_upload/media_upload.js index c2f3c3c7..91ae3627 100644 --- a/src/components/media_upload/media_upload.js +++ b/src/components/media_upload/media_upload.js @@ -22,7 +22,7 @@ const mediaUpload = { const self = this const store = this.$store if (file.size > store.state.instance.uploadlimit) { - self.$emit('upload-failed', 'upload_error_file_too_big') + self.$emit('upload-failed', 'upload_error_file_too_big', {filesize: file.size, allowedsize: store.state.instance.uploadlimit}) return } const formData = new FormData() @@ -36,7 +36,7 @@ const mediaUpload = { self.$emit('uploaded', fileData) self.uploading = false }, (error) => { // eslint-disable-line handle-callback-err - self.$emit('upload-failed') + self.$emit('upload-failed', 'upload_error_generic') self.uploading = false }) }, diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js index f7ba3cd5..5f092da3 100644 --- a/src/components/post_status_form/post_status_form.js +++ b/src/components/post_status_form/post_status_form.js @@ -262,9 +262,9 @@ const PostStatusForm = { let index = this.newStatus.files.indexOf(fileInfo) this.newStatus.files.splice(index, 1) }, - uploadFailed (errString) { - errString = errString || 'upload_error' - this.error = this.$t('post_status.' + errString) + uploadFailed (errString, templateArgs) { + templateArgs = templateArgs || {}; + this.error = this.$t('post_status.upload_error') + ' ' + this.$t('post_status.' + errString, templateArgs) this.enableSubmit() }, disableSubmit () { diff --git a/src/i18n/en.json b/src/i18n/en.json index 93a24743..17c28c61 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -53,7 +53,8 @@ "account_not_locked_warning_link": "locked", "attachments_sensitive": "Mark attachments as sensitive", "upload_error": "Upload failed.", - "upload_error_file_too_big": "Upload failed. File too big", + "upload_error_file_too_big": "File too big [{filesize}/{allowedsize}]", + "upload_error_generic": "Try again later", "content_type": { "plain_text": "Plain text" }, -- cgit v1.2.3-70-g09d2 From 4fde987e34c6b76c67d73ff1d163e8a5fed53069 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Sat, 8 Dec 2018 22:39:58 +0100 Subject: Fix formating --- src/components/post_status_form/post_status_form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/components/post_status_form') diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js index 5f092da3..f8225fb2 100644 --- a/src/components/post_status_form/post_status_form.js +++ b/src/components/post_status_form/post_status_form.js @@ -263,7 +263,7 @@ const PostStatusForm = { this.newStatus.files.splice(index, 1) }, uploadFailed (errString, templateArgs) { - templateArgs = templateArgs || {}; + templateArgs = templateArgs || {} this.error = this.$t('post_status.upload_error') + ' ' + this.$t('post_status.' + errString, templateArgs) this.enableSubmit() }, -- cgit v1.2.3-70-g09d2 From bf8bb9ce134c8712885e52d005c6d130fca4e553 Mon Sep 17 00:00:00 2001 From: Rinpatch Date: Wed, 12 Dec 2018 16:38:01 +0300 Subject: Moved upload errors in user_settings to an array. Moved upload error strings to its separate section in i18n --- src/components/media_upload/media_upload.js | 4 +-- .../post_status_form/post_status_form.js | 2 +- src/components/user_settings/user_settings.js | 41 ++++------------------ src/components/user_settings/user_settings.vue | 12 +++---- src/i18n/en.json | 22 +++++++----- 5 files changed, 29 insertions(+), 52 deletions(-) (limited to 'src/components/post_status_form') diff --git a/src/components/media_upload/media_upload.js b/src/components/media_upload/media_upload.js index 31d36487..42d900d3 100644 --- a/src/components/media_upload/media_upload.js +++ b/src/components/media_upload/media_upload.js @@ -25,7 +25,7 @@ const mediaUpload = { if (file.size > store.state.instance.uploadlimit) { const filesize = fileSizeFormatService.fileSizeFormat(file.size) const allowedsize = fileSizeFormatService.fileSizeFormat(store.state.instance.uploadlimit) - self.$emit('upload-failed', 'upload_error_file_too_big', {filesize: filesize.num, filesizeunit: filesize.unit, allowedsize: allowedsize.num, allowedsizeunit: allowedsize.unit}) + self.$emit('upload-failed', 'file_too_big', {filesize: filesize.num, filesizeunit: filesize.unit, allowedsize: allowedsize.num, allowedsizeunit: allowedsize.unit}) return } const formData = new FormData() @@ -39,7 +39,7 @@ const mediaUpload = { self.$emit('uploaded', fileData) self.uploading = false }, (error) => { // eslint-disable-line handle-callback-err - self.$emit('upload-failed', 'upload_error_generic') + self.$emit('upload-failed', 'default') self.uploading = false }) }, diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js index f8225fb2..3899027f 100644 --- a/src/components/post_status_form/post_status_form.js +++ b/src/components/post_status_form/post_status_form.js @@ -264,7 +264,7 @@ const PostStatusForm = { }, uploadFailed (errString, templateArgs) { templateArgs = templateArgs || {} - this.error = this.$t('post_status.upload_error') + ' ' + this.$t('post_status.' + errString, templateArgs) + this.error = this.$t('upload.error.base') + ' ' + this.$t('upload.error.' + errString, templateArgs) this.enableSubmit() }, disableSubmit () { diff --git a/src/components/user_settings/user_settings.js b/src/components/user_settings/user_settings.js index ed9178fa..424d0b85 100644 --- a/src/components/user_settings/user_settings.js +++ b/src/components/user_settings/user_settings.js @@ -5,9 +5,7 @@ import fileSizeFormatService from '../../services/file_size_format/file_size_for const UserSettings = { data () { return { - avataruploaderror: null, - backgrounduploaderror: null, - banneruploaderror: null, + uploaderror: [null, null, null], newname: this.$store.state.users.currentUser.name, newbio: this.$store.state.users.currentUser.description, newlocked: this.$store.state.users.currentUser.locked, @@ -73,27 +71,12 @@ const UserSettings = { uploadFile (slot, e) { const file = e.target.files[0] if (!file) { return } - var limit = 0 - var error = () => {} - switch (slot) { - case 0: - limit = this.$store.state.instance.avatarlimit - error = (error) => { this.avataruploaderror = error } - break - case 1: - limit = this.$store.state.instance.bannerlimit - error = (error) => { this.banneruploaderror = error } - break - case 2: - limit = this.$store.state.instance.backgroundlimit - error = (error) => { this.backgrounduploaderror = error } - } - console.log(this.$store) - console.log(file.size + ' ' + slot + ' ' + limit) - if (file.size > limit) { + var limit = [this.$store.state.instance.avatarlimit, this.$store.state.instance.bannerlimit, this.$store.state.instance.backgroundlimit] + console.log(file.size, limit) + if (file.size > limit[slot]) { const filesize = fileSizeFormatService.fileSizeFormat(file.size) - const allowedsize = fileSizeFormatService.fileSizeFormat(limit) - error(this.$t('post_status.upload_error_file_too_big', {filesize: filesize.num, filesizeunit: filesize.unit, allowedsize: allowedsize.num, allowedsizeunit: allowedsize.unit})) + const allowedsize = fileSizeFormatService.fileSizeFormat(limit[slot]) + this.$set(this.uploaderror, slot, this.$t('upload.error.base') + ' ' + this.$t('upload.error.file_too_big', {filesize: filesize.num, filesizeunit: filesize.unit, allowedsize: allowedsize.num, allowedsizeunit: allowedsize.unit})) return } // eslint-disable-next-line no-undef @@ -135,17 +118,7 @@ const UserSettings = { }) }, clearUploadError (slot) { - switch (slot) { - case 0: - this.avataruploaderror = null - break - case 1: - this.banneruploaderror = null - break - case 2: - this.backgrounduploaderror = null - break - } + this.$set(this.uploaderror, slot, null) }, submitBanner () { if (!this.previews[1]) { return } diff --git a/src/components/user_settings/user_settings.vue b/src/components/user_settings/user_settings.vue index 12bc953e..22c4fe41 100644 --- a/src/components/user_settings/user_settings.vue +++ b/src/components/user_settings/user_settings.vue @@ -43,8 +43,8 @@
-
- Error: {{ avataruploaderror }} +
+ Error: {{ uploaderror[0] }}
@@ -60,8 +60,8 @@ -
- Error: {{ banneruploaderror }} +
+ Error: {{ uploaderror[1] }}
@@ -75,8 +75,8 @@ -
- Error: {{ backgrounduploaderror }} +
+ Error: {{ uploaderror[2] }}
diff --git a/src/i18n/en.json b/src/i18n/en.json index 5697bae7..dae2f286 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -52,9 +52,6 @@ "account_not_locked_warning": "Your account is not {0}. Anyone can follow you to view your follower-only posts.", "account_not_locked_warning_link": "locked", "attachments_sensitive": "Mark attachments as sensitive", - "upload_error": "Upload failed.", - "upload_error_file_too_big": "File too big [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]", - "upload_error_generic": "Try again later", "content_type": { "plain_text": "Plain text" }, @@ -230,11 +227,18 @@ "favorite": "Favorite", "user_settings": "User Settings" }, - "file_size_units": { - "B": "B", - "KiB": "KiB", - "MiB": "MiB", - "GiB": "GiB", - "TiB": "TiB" + "upload":{ + "error": { + "base": "Upload failed.", + "file_too_big": "File too big [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]", + "default": "Try again later" + }, + "file_size_units": { + "B": "B", + "KiB": "KiB", + "MiB": "MiB", + "GiB": "GiB", + "TiB": "TiB" + } } } -- cgit v1.2.3-70-g09d2 From 9f480552615e00618e37b5688c25a762b121f1ba Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 13 Dec 2018 13:34:47 +0300 Subject: Fix typo that prevented scope copy from working. --- src/components/post_status_form/post_status_form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/components/post_status_form') diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js index 789243cf..f9252f73 100644 --- a/src/components/post_status_form/post_status_form.js +++ b/src/components/post_status_form/post_status_form.js @@ -46,7 +46,7 @@ const PostStatusForm = { statusText = buildMentionsString({ user: this.repliedUser, attentions: this.attentions }, currentUser) } - const scope = (this.copyMessageScope && this.$store.state.config.copyScope || this.copyMessageScope === 'direct') + const scope = (this.copyMessageScope && this.$store.state.config.scopeCopy || this.copyMessageScope === 'direct') ? this.copyMessageScope : this.$store.state.users.currentUser.default_scope -- cgit v1.2.3-70-g09d2