diff --git a/src/components/Modal/GroupCreateModal/GroupCreateModal.vue b/src/components/Modal/GroupCreateModal/GroupCreateModal.vue index 0c157361f..b27832472 100644 --- a/src/components/Modal/GroupCreateModal/GroupCreateModal.vue +++ b/src/components/Modal/GroupCreateModal/GroupCreateModal.vue @@ -40,6 +40,7 @@ import apis from '/@/lib/apis' import { useToastStore } from '/@/store/ui/toast' import { useModalStore } from '/@/store/ui/modal' import { useMeStore } from '/@/store/domain/me' +import { AxiosError } from 'axios' const { myId } = useMeStore() const { addErrorToast } = useToastStore() @@ -63,11 +64,14 @@ const create = async () => { if (addMember.value) { await apis.addUserGroupMember(group.id, { id: myIdV, role: '' }) } - } catch { - addErrorToast('グループの作成に失敗しました') + await popModal() + } catch (e) { + if (e instanceof AxiosError && e.response?.status === 409) { + addErrorToast('既に同じ名前のグループが存在しています') + } else { + addErrorToast('グループの作成に失敗しました') + } } - - await popModal() } diff --git a/src/components/Modal/UserModal/TagsTabAdd.vue b/src/components/Modal/UserModal/TagsTabAdd.vue index 74310d561..a784855e0 100644 --- a/src/components/Modal/UserModal/TagsTabAdd.vue +++ b/src/components/Modal/UserModal/TagsTabAdd.vue @@ -27,6 +27,7 @@ import apis from '/@/lib/apis' import type { UserId } from '/@/types/entity-ids' import useMaxLength from '/@/composables/utils/useMaxLength' import { useToastStore } from '/@/store/ui/toast' +import { AxiosError } from 'axios' const props = defineProps<{ userId: UserId @@ -47,8 +48,12 @@ const addTag = async () => { tag: newTagName.value }) newTagName.value = '' - } catch { - addErrorToast('タグの追加に失敗しました') + } catch (e) { + if (e instanceof AxiosError && e.response?.status === 409) { + addErrorToast('既に同じ名前のタグがついています') + } else { + addErrorToast('タグの追加に失敗しました') + } } adding.value = false }