Skip to content

Commit cabe7cd

Browse files
committed
Adding toast messages to games pages and leaderboard/achievement modals
1 parent 9d8c0ca commit cabe7cd

File tree

3 files changed

+50
-19
lines changed

3 files changed

+50
-19
lines changed

src/pages/GameEditorPage.tsx

+10
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { useParams, useNavigate } from "react-router-dom";
44
import { SyncLoader } from "react-spinners";
55
import * as Yup from "yup";
66
import { AiOutlineCheck, AiOutlineClose, AiOutlineCopy } from "react-icons/ai";
7+
import { toast } from "react-toastify";
78

89
import { getAchievements } from "../api/achievements";
910
import { getGameType, upsertGameType } from "../api/gamedev";
@@ -66,7 +67,13 @@ const GameEditorPage = function GameEditorPage({ editMode }: IProps) {
6667
try {
6768
await upsertGameType(upserGameTypeParams);
6869
navigate("/games");
70+
toast('Game successfully saved.',{
71+
type: 'success',
72+
});
6973
} catch (error: any) {
74+
toast(`Error saving game : ${error?.message}`, {
75+
type: "error",
76+
});
7077
console.log({ error });
7178
setIsLoading(false);
7279
setErrorMessage(error.message);
@@ -118,6 +125,9 @@ const GameEditorPage = function GameEditorPage({ editMode }: IProps) {
118125
return gameType;
119126
} catch (error: any) {
120127
console.log({ error });
128+
toast(`Error : ${error?.message}`, {
129+
type: "error",
130+
});
121131
setIsLoading(false);
122132
setErrorMessage(error.message);
123133
}

src/ui/AddOrEditAchievementModal/AddOrEditAchievementModal.tsx

+20-10
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { useFormik } from "formik";
22
import { useEffect } from "react";
33
import * as Yup from "yup";
44
import { useParams } from "react-router-dom";
5+
import { toast } from "react-toastify";
56

67
import { upsertAchievement } from "../../api/achievements";
78
import Button from "../Button";
@@ -30,16 +31,25 @@ const AddOrEditAchievementModal = ({
3031
const { gameTypeId } = useParams<{ gameTypeId: string }>();
3132

3233
const onSubmit = async (values: IAchievementForm) => {
33-
await upsertAchievement({
34-
...(selectedAchievement?.id && { id: selectedAchievement?.id }),
35-
_gameTypeId: selectedAchievement?._gameTypeId || parseInt(gameTypeId || ""),
36-
...(selectedAchievement?.createdAt && { createdAt: selectedAchievement?.createdAt }),
37-
description: values.description,
38-
targetValue: values.targetValue,
39-
isEnabled: values.isEnabled,
40-
updatedAt: new Date().toString(),
41-
});
42-
onClose();
34+
try{
35+
await upsertAchievement({
36+
...(selectedAchievement?.id && { id: selectedAchievement?.id }),
37+
_gameTypeId: selectedAchievement?._gameTypeId || parseInt(gameTypeId || ""),
38+
...(selectedAchievement?.createdAt && { createdAt: selectedAchievement?.createdAt }),
39+
description: values.description,
40+
targetValue: values.targetValue,
41+
isEnabled: values.isEnabled,
42+
updatedAt: new Date().toString(),
43+
});
44+
onClose();
45+
toast('Achievement successfully saved.',{
46+
type: 'success',
47+
});
48+
} catch (err: any) {
49+
toast(`Error : ${err.message}`, {
50+
type: "error",
51+
});
52+
}
4353
}
4454

4555
const validationSchema = Yup.object({

src/ui/AddOrEditLeaderboardModal/AddOrEditLeaderboardModal.tsx

+20-9
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
resetStrategies,
1313
scoreStrategies,
1414
} from "../../utils/leaderboardStrategies";
15+
import { toast } from "react-toastify";
1516

1617
interface IProps {
1718
show: boolean;
@@ -34,15 +35,25 @@ const AddOrEditLeaderboardModal = ({
3435
const { gameTypeId } = useParams<{ gameTypeId: string }>();
3536

3637
const onSubmit = async (values: ILeaderboardForm) => {
37-
await upsertLeaderboard({
38-
...(selectedLeaderboard?.id && { id: selectedLeaderboard?.id }),
39-
_gameTypeId:
40-
selectedLeaderboard?._gameTypeId || parseInt(gameTypeId || ""),
41-
name: values.name,
42-
scoreStrategy: values.scoreStrategy.toLowerCase(),
43-
resetStrategy: values.resetStrategy.toLowerCase(),
44-
});
45-
onClose();
38+
try{
39+
await upsertLeaderboard({
40+
...(selectedLeaderboard?.id && { id: selectedLeaderboard?.id }),
41+
_gameTypeId:
42+
selectedLeaderboard?._gameTypeId || parseInt(gameTypeId || ""),
43+
name: values.name,
44+
scoreStrategy: values.scoreStrategy.toLowerCase(),
45+
resetStrategy: values.resetStrategy.toLowerCase(),
46+
});
47+
onClose();
48+
toast('Leaderboard successfully saved.',{
49+
type: 'success',
50+
});
51+
52+
} catch (err: any) {
53+
toast(`Error : ${err?.message}`, {
54+
type: "error",
55+
});
56+
}
4657
};
4758

4859
const validationSchema = Yup.object({

0 commit comments

Comments
 (0)