Skip to content

Commit 39d65c1

Browse files
implemented copilot suggestions
1 parent 607f961 commit 39d65c1

File tree

2 files changed

+45
-40
lines changed

2 files changed

+45
-40
lines changed

app/eventyay/webapp/src/components/profile/ChangeAvatar.vue

Lines changed: 42 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -118,54 +118,56 @@ function pixelsRestrictions({ minWidth, minHeight, maxWidth, maxHeight }) {
118118
}
119119
120120
async function update() {
121-
const { canvas } = cropperRef.value?.getResult() || {}
122-
if (!canvas) {
123-
emit('update:modelValue', { identicon: identiconValue.value })
124-
return
125-
}
126-
if (!changedImage.value) return
121+
const { canvas } = cropperRef.value?.getResult() || {}
122+
if (!canvas) {
123+
emit('update:modelValue', { identicon: identiconValue.value })
124+
return
125+
}
126+
if (!changedImage.value) return
127127
128128
const processed = await createAvatarBlob(canvas)
129129
if (!processed) {
130-
fileError.value = 'Failed to process image. Please try a different file.'
131-
emit('blockSave', true)
132-
return
133-
}
130+
fileError.value = proxy.$t('profile/ChangeAvatar:error:process-failed')
131+
emit('blockSave', true)
132+
return
133+
}
134134
const { blob: resizedBlob, dimension } = processed
135-
console.info('[avatar-upload] original size:', selectedFileSize.value || 0, 'bytes; upload size:', resizedBlob.size, 'bytes; dimension:', dimension + 'px')
135+
if (ENV_DEVELOPMENT) {
136+
console.info('[avatar-upload] original size:', selectedFileSize.value || 0, 'bytes; upload size:', resizedBlob.size, 'bytes; dimension:', dimension + 'px')
137+
}
136138
137-
await new Promise((resolve) => {
138-
const request = api.uploadFile(resizedBlob, 'avatar.png', null, dimension, dimension)
139-
const handleFailure = (status, responseText) => {
140-
let message = 'Failed to upload avatar. Please try again.'
141-
if (status === 413) {
142-
message = 'Uploaded image is too large. Please choose a smaller file.'
143-
}
144-
console.error('[avatar-upload]', status, responseText)
145-
fileError.value = message
146-
emit('blockSave', true)
139+
await new Promise((resolve) => {
140+
const request = api.uploadFile(resizedBlob, 'avatar.png', null, dimension, dimension)
141+
const handleFailure = (status, responseText) => {
142+
let message = proxy.$t('profile/ChangeAvatar:error:upload-failed')
143+
if (status === 413) {
144+
message = proxy.$t('profile/ChangeAvatar:error:file-too-large')
145+
}
146+
console.error('[avatar-upload]', status, responseText)
147+
fileError.value = message
148+
emit('blockSave', true)
149+
resolve()
150+
}
151+
request.addEventListener('load', () => {
152+
const status = request.status
153+
const responseText = request.responseText || ''
154+
const contentType = request.getResponseHeader('content-type') || ''
155+
if (status < 200 || status >= 300 || !contentType.includes('application/json')) {
156+
return handleFailure(status, responseText)
157+
}
158+
try {
159+
const response = JSON.parse(responseText)
160+
emit('update:modelValue', { url: response.url })
161+
emit('blockSave', false)
147162
resolve()
163+
} catch (error) {
164+
return handleFailure(status, responseText)
148165
}
149-
request.addEventListener('load', () => {
150-
const status = request.status
151-
const responseText = request.responseText || ''
152-
const contentType = request.getResponseHeader('content-type') || ''
153-
if (status < 200 || status >= 300 || !contentType.includes('application/json')) {
154-
return handleFailure(status, responseText)
155-
}
156-
try {
157-
const response = JSON.parse(responseText)
158-
emit('update:modelValue', { url: response.url })
159-
emit('blockSave', false)
160-
resolve()
161-
} catch (error) {
162-
return handleFailure(status, responseText)
163-
}
164-
})
165-
request.addEventListener('error', () => {
166-
handleFailure(request.status, request.responseText)
167-
})
168166
})
167+
request.addEventListener('error', () => {
168+
handleFailure(request.status, request.responseText)
169+
})
170+
})
169171
}
170172
171173
function createAvatarBlob(sourceCanvas) {

app/eventyay/webapp/src/locales/en.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,9 @@
260260
"profile/ChangeAvatar:or": "or",
261261
"profile/ChangeAvatar:button-upload:label": "upload",
262262
"profile/ChangeAvatar:error:image-too-small": "Image must be at least 128px by 128px large.",
263+
"profile/ChangeAvatar:error:process-failed": "Failed to process image. Please try a different file.",
264+
"profile/ChangeAvatar:error:upload-failed": "Failed to upload avatar. Please try again.",
265+
"profile/ChangeAvatar:error:file-too-large": "Uploaded image is too large. Please choose a smaller file.",
263266
"profile/ConnectGravatar:gravatar-connect:label": "Connect",
264267
"profile/ConnectGravatar:gravatar-email:label": "Gravatar email address",
265268
"profile/ConnectGravatar:headline": "Fetch from gravatar",

0 commit comments

Comments
 (0)