148 lines
6.1 KiB
TypeScript
148 lines
6.1 KiB
TypeScript
/**
|
|
* @description 성공 메세지 상수 객체
|
|
*/
|
|
export const SUCCESS_MESSAGE = {
|
|
/** 저장 성공 - "저장되었습니다." */
|
|
SAVE_SUCCESS: '保存されました。',
|
|
|
|
/** 임시 저장 성공 - "임시 저장되었습니다." */
|
|
TEMP_SAVE_SUCCESS: '一時保存されました。',
|
|
|
|
/** 삭제 성공 - "삭제되었습니다." */
|
|
DELETE_SUCCESS: '削除されました。',
|
|
|
|
/** 제출 성공 - "제출이 완료되었습니다." */
|
|
SUBMIT_SUCCESS: '提出が完了しました。',
|
|
|
|
/** 문의 제목 최대값 메세지 - "문의 제목은 100자 이내로 입력하세요." */
|
|
INQUIRY_TITLE_MAX_LENGTH: 'お問い合わせタイトルは100文字以内で入力してください。',
|
|
|
|
/** 문의 내용 최대값 메세지 - "문의 내용은 2,000자 이내로 입력하세요." */
|
|
INQUIRY_CONTENTS_MAX_LENGTH: 'お問い合わせ内容は2,000文字以内で入力してください。',
|
|
|
|
/** PDF 생성 성공 - "PDF 생성이 완료되었습니다.\n팝업 창에서 다운로드 하세요." */
|
|
PDF_GENERATION_SUCCESS: 'PDFの生成が完了しました。\nポップアップウィンドウからダウンロードしてください。',
|
|
}
|
|
|
|
/**
|
|
* @description 확인 메세지 상수 객체
|
|
*/
|
|
export const CONFIRM_MESSAGE = {
|
|
/** 제출 확인 - "제출하시겠습니까?" */
|
|
SUBMIT_CONFIRM: '提出しますか?',
|
|
|
|
/** 저장 확인 - "저장하시겠습니까?" */
|
|
SAVE_CONFIRM: '保存しますか?',
|
|
|
|
/** 삭제 확인 - "삭제하시겠습니까?" */
|
|
DELETE_CONFIRM: '削除しますか?',
|
|
|
|
/** 저장 및 제출 확인 - "입력한 정보를 저장하고 보내시겠습니까?" */
|
|
SAVE_AND_SUBMIT_CONFIRM: '記入した情報を保存して送信しますか?',
|
|
|
|
/** 문의 저장 확인 메세지 - "문의를 등록 하시겠습니까? 한화재팬 담당자에게 문의 메일이 발송됩니다." */
|
|
SAVE_INQUIRY_CONFIRM: 'お問い合わせを登録しますか? Hanwha Japanの担当者にお問い合わせメールが送信されます。',
|
|
}
|
|
|
|
export const WARNING_MESSAGE = {
|
|
/** 입력 오류 경고 메세지 */
|
|
/** 필수 입력 메세지 - "~ 항목이 비어 있습니다."*/
|
|
REQUIRED_FIELD_IS_EMPTY: '項目が空です。',
|
|
|
|
/* 전기계약 용량 단위 입력 메세지 - "전기 계약 용량의 단위를 입력하세요."*/
|
|
REQUIRED_UNIT_IS_EMPTY: '電気契約容量の単位を入力してください。',
|
|
|
|
/** 이메일 유효성 에러 - "유효한 이메일 주소를 입력해 주세요." */
|
|
EMAIL_PREFIX_IS_INVALID: '有効なメールアドレスを入力してください。',
|
|
|
|
/** 최소값 오류 - "2자 이상 입력하세요" */
|
|
KEYWORD_MINIMUM_LENGTH: '2文字以上入力してください',
|
|
|
|
/** 최대값 오류 - "30자 이내로 입력하세요" */
|
|
KEYWORD_MAX_LENGTH: '30文字以内で入力してください',
|
|
|
|
/** 제목 최대값 오류 - "100자 이내로 입력하세요" */
|
|
TITLE_MAX_LENGTH: '100文字以内で入力してください',
|
|
|
|
/** 내용 최대값 오류 - "2,000자 이내로 입력하세요" */
|
|
CONTENTS_MAX_LENGTH: '2,000文字以内で入力してください',
|
|
|
|
/** 소수점 오류 - "소수점 이하 1자리까지만 허용됩니다." */
|
|
DECIMAL_POINT_CANNOT_EXCEED: '小数点以下1桁までしか許されません。',
|
|
|
|
/** 숫자 최대값 오류 - "저장할 수 있는 크기를 초과했습니다." */
|
|
SAVE_SIZE_OVERFLOW: '保存できるサイズを超えました。',
|
|
|
|
/** 최대 선택 오류 메세지 - "지붕재는 최대 2개까지 선택할 수 있습니다." */
|
|
ROOF_MATERIAL_MAX_SELECT: '屋根材は最大2個まで選択できます。',
|
|
|
|
/** 임시 저장 제출 오류 - "임시 저장된 데이터는 제출할 수 없습니다." */
|
|
TEMP_CANNOT_SUBMIT: '一時保存されたデータは提出できません。',
|
|
}
|
|
|
|
/**
|
|
* @description 에러 메세지 상수 객체
|
|
* - 입력 오류 경고 메세지
|
|
* - 결과 실패 메세지
|
|
* - 서버 에러 메세지
|
|
*/
|
|
export const ERROR_MESSAGE = {
|
|
/** 결과 실패 메세지 */
|
|
/** PDF 생성 오류 - "PDF 생성에 실패했습니다." */
|
|
PDF_GENERATION_ERROR: 'PDF 生成に失敗しました。',
|
|
|
|
/** 이메일 전송 오류 - "이메일 전송에 실패했습니다. 다시 시도해주세요." */
|
|
EMAIL_SEND_ERROR: 'メール送信に失敗しました。 再度送信してください。',
|
|
|
|
/** 서버 에러 메세지 */
|
|
/** 데이터를 찾을 수 없습니다. - 404 */
|
|
NOT_FOUND: 'データが見つかりません。',
|
|
|
|
/** 승인되지 않았습니다. - 401 */
|
|
UNAUTHORIZED: '承認されていません。',
|
|
|
|
/** 권한이 없습니다. - 403 */
|
|
FORBIDDEN: '権限がありません。',
|
|
|
|
/** 데이터의 조회에 실패했습니다. - 500 */
|
|
FETCH_ERROR: 'データの取得に失敗しました。',
|
|
|
|
/** 서버 에러 - "일시적인 오류가 발생했습니다. 계속되는 경우 관리자에게 문의하시기 바랍니다." - 500 */
|
|
SERVER_ERROR: '一時的なエラーが発生しました。 継続的な場合は、管理者に連絡してください。',
|
|
|
|
/** 잘못된 요청입니다. - 400 */
|
|
BAD_REQUEST: '間違ったリクエストです。',
|
|
|
|
/** 데이터베이스 오류가 발생했습니다. - 500 */
|
|
PRISMA_ERROR: 'データベース エラーが発生しました。',
|
|
}
|
|
|
|
export function useAlertMsg(): {
|
|
showErrorAlert: (message: string, requiredField?: string) => void
|
|
showConfirm: (message: string, onConfirm: () => void, onCancel?: () => void) => void
|
|
showSuccessAlert: (message: string) => void
|
|
} {
|
|
const showErrorAlert = (message: string, requiredField?: string) => {
|
|
if (message.trim() === '' || message === null || message === undefined) return
|
|
if (message.length > 100) {
|
|
alert(ERROR_MESSAGE.SERVER_ERROR)
|
|
return
|
|
}
|
|
requiredField ? alert(`${requiredField} ${message}`) : alert(message)
|
|
}
|
|
|
|
const showConfirm = (message: string, onConfirm: () => void, onCancel?: () => void) => {
|
|
window.neoConfirm(message, onConfirm, onCancel)
|
|
}
|
|
|
|
const showSuccessAlert = (message: string) => {
|
|
alert(message)
|
|
}
|
|
|
|
return {
|
|
showErrorAlert,
|
|
showConfirm,
|
|
showSuccessAlert,
|
|
}
|
|
}
|