diff --git a/components/admin/AdminMarkdownEditor.vue b/components/admin/AdminMarkdownEditor.vue
index 7c439f9..b698145 100644
--- a/components/admin/AdminMarkdownEditor.vue
+++ b/components/admin/AdminMarkdownEditor.vue
@@ -2747,6 +2747,10 @@ defineExpose({
* @returns {void}
*/
const closeMediaPicker = () => {
+ if (isUploading.value) {
+ return
+ }
+
isMediaPickerOpen.value = false
selectedMediaUrls.value = []
activeMediaPickerTab.value = 'library'
@@ -2999,7 +3003,7 @@ const handleFileInput = async (event, target) => {
}
/**
- * 미디어 모달 업로드 탭에서 파일을 삽입한다.
+ * 미디어 모달 업로드 탭에서 파일을 업로드하고 라이브러리 목록을 갱신한다.
* @param {FileList|Array} files - 업로드 파일 목록
* @returns {Promise}
*/
@@ -3008,10 +3012,6 @@ const uploadFromMediaModal = async (files) => {
return
}
- const target = mediaPickerTarget.value === 'gallery' || mediaPickerTarget.value === 'active-gallery'
- ? 'gallery'
- : mediaPickerTarget.value
-
isUploading.value = true
try {
@@ -3020,8 +3020,10 @@ const uploadFromMediaModal = async (files) => {
...uploadedFiles,
...mediaItems.value
])
- insertSelectedMediaItems(target === 'gallery' ? uploadedFiles : uploadedFiles.slice(0, 1))
- closeMediaPicker()
+ selectedMediaUrls.value = []
+ activeMediaPickerTab.value = 'library'
+ mediaSearchQuery.value = ''
+ showToast('success', '업로드가 완료되었습니다. 목록에서 파일을 선택해 삽입해 주세요.')
} catch (error) {
showToast('error', resolveUploadFetchErrorMessage(error))
} finally {
@@ -3360,7 +3362,12 @@ const handleKeydown = (event) => {
{{ selectedMediaUrls.length }}개 선택됨
-