diff --git a/web/src/components/ArchivedMemo.tsx b/web/src/components/ArchivedMemo.tsx index 14a9a523..89822607 100644 --- a/web/src/components/ArchivedMemo.tsx +++ b/web/src/components/ArchivedMemo.tsx @@ -30,7 +30,8 @@ const ArchivedMemo: React.FC = (props: Props) => { await memoService.deleteMemoById(memo.id); await memoService.fetchAllMemos(); } catch (error: any) { - toastHelper.error(error.message); + console.error(error); + toastHelper.error(error.response.data.message); } } else { toggleConfirmDeleteBtn(); @@ -46,7 +47,8 @@ const ArchivedMemo: React.FC = (props: Props) => { await memoService.fetchAllMemos(); toastHelper.info("Restored successfully"); } catch (error: any) { - toastHelper.error(error.message); + console.error(error); + toastHelper.error(error.response.data.message); } }; diff --git a/web/src/components/ArchivedMemoDialog.tsx b/web/src/components/ArchivedMemoDialog.tsx index df23bbba..0d296dbc 100644 --- a/web/src/components/ArchivedMemoDialog.tsx +++ b/web/src/components/ArchivedMemoDialog.tsx @@ -23,7 +23,8 @@ const ArchivedMemoDialog: React.FC = (props: Props) => { setArchivedMemos(result); }) .catch((error) => { - toastHelper.error("Failed to fetch archived memos: ", error); + console.error(error); + toastHelper.error(error.response.data.message); }) .finally(() => { loadingState.setFinish(); diff --git a/web/src/components/ChangePasswordDialog.tsx b/web/src/components/ChangePasswordDialog.tsx index 9f064e5f..a13ef701 100644 --- a/web/src/components/ChangePasswordDialog.tsx +++ b/web/src/components/ChangePasswordDialog.tsx @@ -66,7 +66,8 @@ const ChangePasswordDialog: React.FC = ({ destroy }: Props) => { toastHelper.info("Password changed."); handleCloseBtnClick(); } catch (error: any) { - toastHelper.error(error); + console.error(error); + toastHelper.error(error.response.data.message); } }; diff --git a/web/src/components/CreateShortcutDialog.tsx b/web/src/components/CreateShortcutDialog.tsx index 8c5ac5b8..b7ba34eb 100644 --- a/web/src/components/CreateShortcutDialog.tsx +++ b/web/src/components/CreateShortcutDialog.tsx @@ -61,7 +61,8 @@ const CreateShortcutDialog: React.FC = (props: Props) => { }); } } catch (error: any) { - toastHelper.error(error.message); + console.error(error); + toastHelper.error(error.response.data.message); } destroy(); }; diff --git a/web/src/components/Memo.tsx b/web/src/components/Memo.tsx index 351737c3..54dd51e5 100644 --- a/web/src/components/Memo.tsx +++ b/web/src/components/Memo.tsx @@ -103,7 +103,8 @@ const Memo: React.FC = (props: Props) => { rowStatus: "ARCHIVED", }); } catch (error: any) { - toastHelper.error(error.message); + console.error(error); + toastHelper.error(error.response.data.message); } if (editorStateService.getState().editMemoId === memo.id) { @@ -125,7 +126,7 @@ const Memo: React.FC = (props: Props) => { if (memoTemp) { showMemoCardDialog(memoTemp); } else { - toastHelper.error("MEMO Not Found"); + toastHelper.error("Memo Not Found"); targetEl.classList.remove("memo-link-text"); } } else if (targetEl.className === "tag-span") { diff --git a/web/src/components/MemoCardDialog.tsx b/web/src/components/MemoCardDialog.tsx index d65d1882..f8fb70c3 100644 --- a/web/src/components/MemoCardDialog.tsx +++ b/web/src/components/MemoCardDialog.tsx @@ -87,7 +87,7 @@ const MemoCardDialog: React.FC = (props: Props) => { setLinkedMemos([]); setMemo(nextMemo); } else { - toastHelper.error("MEMO Not Found"); + toastHelper.error("Memo Not Found"); targetEl.classList.remove("memo-link-text"); } } diff --git a/web/src/components/MemoEditor.tsx b/web/src/components/MemoEditor.tsx index 7e2d95ff..b525c827 100644 --- a/web/src/components/MemoEditor.tsx +++ b/web/src/components/MemoEditor.tsx @@ -119,7 +119,8 @@ const MemoEditor: React.FC = () => { const url = `/h/r/${image.id}/${image.filename}`; return url; } catch (error: any) { - toastHelper.error("Failed to upload image\n" + JSON.stringify(error, null, 4)); + console.error(error); + toastHelper.error(error.response.data.message); } finally { setState({ ...state, @@ -155,7 +156,8 @@ const MemoEditor: React.FC = () => { locationService.clearQuery(); } } catch (error: any) { - toastHelper.error(error.message); + console.error(error); + toastHelper.error(error.response.data.message); } setState({ diff --git a/web/src/components/MemoList.tsx b/web/src/components/MemoList.tsx index c681ff90..6d34846f 100644 --- a/web/src/components/MemoList.tsx +++ b/web/src/components/MemoList.tsx @@ -84,8 +84,9 @@ const MemoList: React.FC = () => { .then(() => { setFetchStatus(false); }) - .catch(() => { - toastHelper.error("😭 Fetching failed, please try again later."); + .catch((error) => { + console.error(error); + toastHelper.error(error.response.data.message); }); }, []); diff --git a/web/src/components/MenuBtnsPopup.tsx b/web/src/components/MenuBtnsPopup.tsx index 7ee97a5a..8289d174 100644 --- a/web/src/components/MenuBtnsPopup.tsx +++ b/web/src/components/MenuBtnsPopup.tsx @@ -42,7 +42,8 @@ const MenuBtnsPopup: React.FC = (props: Props) => { toastHelper.info(JSON.stringify(profile, null, 4)); }) .catch((error) => { - toastHelper.error("Failed to ping\n" + JSON.stringify(error, null, 4)); + console.error(error); + toastHelper.error(error.response.data.message); }); }; diff --git a/web/src/components/ResourcesDialog.tsx b/web/src/components/ResourcesDialog.tsx index b6aa94e6..f4f37388 100644 --- a/web/src/components/ResourcesDialog.tsx +++ b/web/src/components/ResourcesDialog.tsx @@ -29,7 +29,8 @@ const ResourcesDialog: React.FC = (props: Props) => { useEffect(() => { fetchResources() .catch((error) => { - toastHelper.error("Failed to fetch archived memos: ", error); + console.error(error); + toastHelper.error(error.response.data.message); }) .finally(() => { loadingState.setFinish(); @@ -67,7 +68,8 @@ const ResourcesDialog: React.FC = (props: Props) => { try { await resourceService.upload(file); } catch (error: any) { - toastHelper.error("Failed to upload resource\n" + JSON.stringify(error, null, 4)); + console.error(error); + toastHelper.error(error.response.data.message); } finally { setState({ ...state, diff --git a/web/src/components/Settings/MemberSection.tsx b/web/src/components/Settings/MemberSection.tsx index 27cb8f4e..9a79cec8 100644 --- a/web/src/components/Settings/MemberSection.tsx +++ b/web/src/components/Settings/MemberSection.tsx @@ -64,7 +64,8 @@ const PreferencesSection: React.FC = () => { try { await api.createUser(userCreate); } catch (error: any) { - toastHelper.error(error.message); + console.error(error); + toastHelper.error(error.response.data.message); } await fetchUserList(); setState({ diff --git a/web/src/components/Settings/MyAccountSection.tsx b/web/src/components/Settings/MyAccountSection.tsx index 6906ae7e..2102f0c9 100644 --- a/web/src/components/Settings/MyAccountSection.tsx +++ b/web/src/components/Settings/MyAccountSection.tsx @@ -46,7 +46,8 @@ const MyAccountSection: React.FC = () => { }); toastHelper.info("Username changed"); } catch (error: any) { - toastHelper.error(error.message); + console.error(error); + toastHelper.error(error.response.data.message); } }; diff --git a/web/src/components/ShareMemoImageDialog.tsx b/web/src/components/ShareMemoImageDialog.tsx index c629de65..52f9b415 100644 --- a/web/src/components/ShareMemoImageDialog.tsx +++ b/web/src/components/ShareMemoImageDialog.tsx @@ -56,10 +56,10 @@ const ShareMemoImageDialog: React.FC = (props: Props) => { destroy(); }; - const handleImageOnLoad = (ev: React.SyntheticEvent) => { - if (ev.type === "error") { - toastHelper.error("😟 Image load failed"); - (ev.target as HTMLImageElement).remove(); + const handleImageOnLoad = (event: React.SyntheticEvent) => { + if (event.type === "error") { + toastHelper.error("Image load failed"); + (event.target as HTMLImageElement).remove(); } setImgAmount(imgAmount - 1); }; diff --git a/web/src/components/ShortcutList.tsx b/web/src/components/ShortcutList.tsx index 0e78b59c..b1a0e4b5 100644 --- a/web/src/components/ShortcutList.tsx +++ b/web/src/components/ShortcutList.tsx @@ -78,7 +78,8 @@ const ShortcutContainer: React.FC = (props: ShortcutCont try { await shortcutService.deleteShortcutById(shortcut.id); } catch (error: any) { - toastHelper.error(error.message); + console.error(error); + toastHelper.error(error.response.data.message); } } else { toggleConfirmDeleteBtn(); diff --git a/web/src/pages/Auth.tsx b/web/src/pages/Auth.tsx index a2ad8c8d..bbea4787 100644 --- a/web/src/pages/Auth.tsx +++ b/web/src/pages/Auth.tsx @@ -11,7 +11,7 @@ import "../less/auth.less"; interface Props {} const validateConfig: ValidatorConfig = { - minLength: 6, + minLength: 4, maxLength: 24, noSpace: true, noChinese: true, @@ -71,11 +71,11 @@ const Auth: React.FC = () => { if (user) { locationService.replaceHistory("/"); } else { - toastHelper.error("😟 Login failed"); + toastHelper.error("Login failed"); } } catch (error: any) { console.error(error); - toastHelper.error("😟 " + error.message); + toastHelper.error(error.response.data.message); } actionBtnLoadingState.setFinish(); }; @@ -104,11 +104,11 @@ const Auth: React.FC = () => { if (user) { locationService.replaceHistory("/"); } else { - toastHelper.error("😟 Signup failed"); + toastHelper.error("Signup failed"); } } catch (error: any) { console.error(error); - toastHelper.error("😟 " + error.message); + toastHelper.error(error.response.data.message); } actionBtnLoadingState.setFinish(); };