fix: display error if attachments exceed limit (#666)
parent
53fc28bf61
commit
4713db9adc
|
@ -54,6 +54,7 @@ const currentVisibility = $computed(() => {
|
||||||
})
|
})
|
||||||
|
|
||||||
let isUploading = $ref<boolean>(false)
|
let isUploading = $ref<boolean>(false)
|
||||||
|
let isExceedingAttachmentLimit = $ref<boolean>(false)
|
||||||
let failed = $ref<File[]>([])
|
let failed = $ref<File[]>([])
|
||||||
|
|
||||||
async function handlePaste(evt: ClipboardEvent) {
|
async function handlePaste(evt: ClipboardEvent) {
|
||||||
|
@ -92,17 +93,25 @@ async function uploadAttachments(files: File[]) {
|
||||||
isUploading = true
|
isUploading = true
|
||||||
failed = []
|
failed = []
|
||||||
// TODO: display some kind of message if too many media are selected
|
// TODO: display some kind of message if too many media are selected
|
||||||
|
// DONE
|
||||||
const limit = currentInstance.value!.configuration.statuses.maxMediaAttachments || 4
|
const limit = currentInstance.value!.configuration.statuses.maxMediaAttachments || 4
|
||||||
for (const file of files.slice(0, limit)) {
|
for (const file of files.slice(0, limit)) {
|
||||||
try {
|
if (draft.attachments.length < limit) {
|
||||||
const attachment = await masto.mediaAttachments.create({
|
isExceedingAttachmentLimit = false
|
||||||
file,
|
try {
|
||||||
})
|
const attachment = await masto.mediaAttachments.create({
|
||||||
draft.attachments.push(attachment)
|
file,
|
||||||
|
})
|
||||||
|
draft.attachments.push(attachment)
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
// TODO: add some human-readable error message, problem is that masto api will not return response code
|
||||||
|
console.error(e)
|
||||||
|
failed = [...failed, file]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (e) {
|
else {
|
||||||
// TODO: add some human-readable error message, problem is that masto api will not return response code
|
isExceedingAttachmentLimit = true
|
||||||
console.error(e)
|
|
||||||
failed = [...failed, file]
|
failed = [...failed, file]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -246,6 +255,9 @@ defineExpose({
|
||||||
</button>
|
</button>
|
||||||
</CommonTooltip>
|
</CommonTooltip>
|
||||||
</head>
|
</head>
|
||||||
|
<div v-if="isExceedingAttachmentLimit" pl-2 sm:pl-1 text-small>
|
||||||
|
{{ $t('state.attachments_exceed_server_limit') }}
|
||||||
|
</div>
|
||||||
<ol pl-2 sm:pl-1>
|
<ol pl-2 sm:pl-1>
|
||||||
<li v-for="file in failed" :key="file.name">
|
<li v-for="file in failed" :key="file.name">
|
||||||
{{ file.name }}
|
{{ file.name }}
|
||||||
|
|
|
@ -260,6 +260,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"state": {
|
"state": {
|
||||||
|
"attachments_exceed_server_limit": "The number of attachments exceeded the limit per post.",
|
||||||
"edited": "(Edited)",
|
"edited": "(Edited)",
|
||||||
"editing": "Editing",
|
"editing": "Editing",
|
||||||
"loading": "Loading...",
|
"loading": "Loading...",
|
||||||
|
|
|
@ -260,6 +260,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"state": {
|
"state": {
|
||||||
|
"attachments_exceed_server_limit": "The number of attachments exceeded the limit per post.",
|
||||||
"edited": "(Edited)",
|
"edited": "(Edited)",
|
||||||
"editing": "Editing",
|
"editing": "Editing",
|
||||||
"loading": "Loading...",
|
"loading": "Loading...",
|
||||||
|
|
Loading…
Reference in New Issue