diff --git a/src/components/common/EditInformation.vue b/src/components/common/EditInformation.vue index d7e4e7e..91b49c4 100644 --- a/src/components/common/EditInformation.vue +++ b/src/components/common/EditInformation.vue @@ -179,11 +179,11 @@ const validateName = () => { const regex = /[!@#$%^&*(),.?":{}|<>\p{Emoji}]/gu isInvalid.value = regex.test(name.value) if (isInvalid.value == true) { - nameError.value = '이름에는 특수문자가 포함될 수 없습니다.' + nameError.value = '이름에는 특수문자가 포함될 수 없습니다' } if (name.value.length > 10 || name.value.length < 1) { isFull.value = true - nameError.value = '이름은 1글자 이상, 10글자이하만 가능합니다.' + nameError.value = '이름은 1글자 이상, 10글자이하만 가능합니다' } else { isFull.value = false } diff --git a/src/components/common/ModalView.vue b/src/components/common/ModalView.vue index 64077d6..b9c407f 100644 --- a/src/components/common/ModalView.vue +++ b/src/components/common/ModalView.vue @@ -32,13 +32,13 @@ - @@ -36,7 +36,7 @@

- ({{ inputLength }}/{{ 254 }}) + ({{ inputLength }}/{{ 200 }})

{ const sendMessage = async () => { if (!isPossible.value || !messageText.value.trim()) return + if (inputLength.value > 200) return await postComment(taskId, messageText.value) queryClient.invalidateQueries({ queryKey: ['historyData', taskId] }) messageText.value = '' @@ -112,7 +113,6 @@ const handleFileUpload = async (event: Event) => { const target = event.target as HTMLInputElement const file = target.files?.[0] if (!file) return - if (file.size > 5 * 1024 * 1024) { handleModal() target.value = '' @@ -120,7 +120,13 @@ const handleFileUpload = async (event: Event) => { } const formData = new FormData() - formData.append('attachment', file) + + const normalizedFileName = file.name.normalize('NFC') + const truncatedFileName = normalizedFileName.slice(0, 18) + + const renamedFile = new File([file], truncatedFileName, { type: file.type }) + formData.append('attachment', renamedFile) + await postCommentAttachment(taskId, formData) queryClient.invalidateQueries({ queryKey: ['historyData', taskId] }) target.value = '' diff --git a/src/components/task-detail/TaskDetailManagerDropdown.vue b/src/components/task-detail/TaskDetailManagerDropdown.vue index 5f8cf07..5778f17 100644 --- a/src/components/task-detail/TaskDetailManagerDropdown.vue +++ b/src/components/task-detail/TaskDetailManagerDropdown.vue @@ -44,7 +44,7 @@ import { getManager } from '@/api/user' import { dropdownIcon } from '@/constants/iconPath' import { useOutsideClick } from '@/hooks/useOutsideClick' import type { ManagerTypes } from '@/types/manager' -import { onMounted, ref } from 'vue' +import { ref } from 'vue' import CommonIcons from '../common/CommonIcons.vue' import ImageContainer from '../common/ImageContainer.vue' @@ -54,12 +54,15 @@ const emit = defineEmits(['update:modelValue']) const dropdownOpen = ref(false) const managerArr = ref([]) -onMounted(async () => { +const fetchManagerData = async () => { managerArr.value = await getManager() -}) +} -const toggleDropdown = () => { +const toggleDropdown = async () => { dropdownOpen.value = !dropdownOpen.value + if (dropdownOpen.value) { + await fetchManagerData() + } } const selectOption = (option: ManagerTypes) => { diff --git a/src/components/task-detail/TaskStatusList.vue b/src/components/task-detail/TaskStatusList.vue index ed9ee78..ab1d50a 100644 --- a/src/components/task-detail/TaskStatusList.vue +++ b/src/components/task-detail/TaskStatusList.vue @@ -4,14 +4,14 @@ :is-open="isModalVisible.reject" @update:model-value="value => (rejectReason = value || '')" type="terminate" - @close="closeModal" + @close="closeAllModal" @click="rejectRequest"> + @close="closeAllModal"> { if (prevSuccess) queryClient.invalidateQueries({ queryKey: ['requested'] }) } +const closeAllModal = () => { + const prevSuccess = isModalVisible.value.success + isModalVisible.value = { reject: false, fail: false, success: false } + if (prevSuccess) queryClient.invalidateQueries({ queryKey: ['requested'] }) +} + const textColor = (taskStatus: Status) => { return currentStatus.value === taskStatus ? 'text-white' : `text-zinc-400` } diff --git a/src/components/task-management/CategoryLine.vue b/src/components/task-management/CategoryLine.vue index a0d49f4..6eb2e27 100644 --- a/src/components/task-management/CategoryLine.vue +++ b/src/components/task-management/CategoryLine.vue @@ -41,7 +41,7 @@ @click="handleDelete(selectedCategoryId)" @close="handleModal"> - + diff --git a/src/components/task-management/LabelManagement.vue b/src/components/task-management/LabelManagement.vue index c205c81..ce828d7 100644 --- a/src/components/task-management/LabelManagement.vue +++ b/src/components/task-management/LabelManagement.vue @@ -21,7 +21,7 @@
-
+
+

+ {{ newLabel.labelName.length }}/10 +