Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(frontend): add discard changes button on edit wheel screen bb-467 #601

Open
wants to merge 126 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
a6a4d4a
feat: slicing form design ui bb-9
iqbalalayubbi Aug 18, 2024
6789363
Merge branch '9-feat-sign-up' into fix-lint
iqbalalayubbi Aug 18, 2024
1a07082
fix: remove lint css root folder bb-0
iqbalalayubbi Aug 18, 2024
0d9786c
feat: make toggle visibility password bb-9
iqbalalayubbi Aug 19, 2024
91c4a09
feat: add user data in redux store bb-9
iqbalalayubbi Aug 19, 2024
eef6fb3
feat: make validation confirm password bb-9
iqbalalayubbi Aug 19, 2024
4f1c228
fix: refactor unused code and comment bb-9
iqbalalayubbi Aug 20, 2024
5fc8a04
style: adjust css variabel to match with other bb-9
iqbalalayubbi Aug 20, 2024
fcffd3e
refactor: make other props instead className bb-9
iqbalalayubbi Aug 20, 2024
f6aaac0
style: adjust css variabel conflict bb-9
iqbalalayubbi Aug 21, 2024
5842e98
Merge branch 'main' into 9-feat-sign-up
iqbalalayubbi Aug 21, 2024
8c9ae6e
Merge branch 'main' into 9-feat-sign-up
iqbalalayubbi Aug 21, 2024
18bc6f6
Merge branch 'main' into 9-feat-sign-up
iqbalalayubbi Aug 21, 2024
d97f37c
chore: release-1.6.0 (#95)
github-actions[bot] Aug 21, 2024
dc53cac
fix: handle conflict with main branch bb-9
iqbalalayubbi Aug 21, 2024
2e7c7b7
fix: update version in package.json bb-9
iqbalalayubbi Aug 21, 2024
a1bfc0e
refactor: using getValidClassNames and seperate each style in compone…
iqbalalayubbi Aug 21, 2024
979b4e6
fix: handle conflict in app.tsx bb-9
iqbalalayubbi Aug 21, 2024
24512fe
Merge branch 'main' into 9-feat-sign-up
iqbalalayubbi Aug 21, 2024
3451234
style: change all changelog file bb-9
iqbalalayubbi Aug 21, 2024
ef12676
refactor: remove unused img and code bb-9
iqbalalayubbi Aug 22, 2024
e985ddc
style: change folder structure and handle typo name in class bb-9
iqbalalayubbi Aug 22, 2024
ba27cbc
fix: update package.json bb-9
iqbalalayubbi Aug 22, 2024
78a277c
fix: update with main branch bb-9
iqbalalayubbi Aug 27, 2024
21a4f00
fix: solve UI issue in sign up UI bb-9
iqbalalayubbi Aug 27, 2024
0967b82
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Aug 27, 2024
e290950
feat: redirect user to root after sign up bb-9
iqbalalayubbi Aug 27, 2024
37dc177
feat: navigate user to root path bb-9
iqbalalayubbi Aug 28, 2024
078b9c9
refactor: remove use navigate in sign up form bb-9
iqbalalayubbi Aug 28, 2024
69db1ae
fix: solve conflict with main branch bb-9
iqbalalayubbi Aug 28, 2024
584b46e
feat: add error handling sign up bb-9
iqbalalayubbi Aug 29, 2024
cc7a1cb
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Aug 30, 2024
37f852b
fix: up to date package-lock with main bb-9
iqbalalayubbi Aug 30, 2024
350f6ec
feat: remove try catch block bb-9
iqbalalayubbi Aug 31, 2024
1120e37
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Aug 31, 2024
3bb2bcb
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 1, 2024
8d12c26
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 1, 2024
4913cbf
feat: follow rules and messages from doc validation bb-209
iqbalalayubbi Sep 1, 2024
e45870e
feat: disabled button when schema invalid bb-209
iqbalalayubbi Sep 2, 2024
ecd974b
feat: add mode onchange in react hook form bb-209
iqbalalayubbi Sep 2, 2024
9837a6a
refactor: remove unused user validation schema bb-209
iqbalalayubbi Sep 2, 2024
bce3fdf
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 2, 2024
774e5a1
refactor: remove unused validation & seperate const for user bb-209
iqbalalayubbi Sep 2, 2024
60ba455
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 2, 2024
9981e2f
fix: remove confirm input in schema validation bb-209
iqbalalayubbi Sep 3, 2024
f8fa8b1
fix: solve conflict validation schema, rule, and regex form fe bb-209
iqbalalayubbi Sep 3, 2024
6eade86
refactor: remove duplicate message for confirm input bb-209
iqbalalayubbi Sep 3, 2024
8283027
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 3, 2024
f2abc4e
style: add type in variabel no error bb-209
iqbalalayubbi Sep 4, 2024
d133335
refactor: remove unused message in user validation bb-209
iqbalalayubbi Sep 4, 2024
1d516a5
style: change email placeholder bb-209
iqbalalayubbi Sep 4, 2024
7b4bfeb
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 4, 2024
f0ed650
style: change no error input const in user modules bb-209
iqbalalayubbi Sep 4, 2024
9a1ac91
style: create constan folder in user module bb-209
iqbalalayubbi Sep 4, 2024
8caaf63
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 4, 2024
17fa38d
fix: solved conflict validation regex rule bb-209
iqbalalayubbi Sep 8, 2024
0c9ccdd
fix: show error popup auth & reorder password validation bb-209
iqbalalayubbi Sep 8, 2024
920b748
chore: change package-lock.json bb-209
iqbalalayubbi Sep 9, 2024
55c38cb
fix: change regex rule for email bb-209
iqbalalayubbi Sep 9, 2024
26b42eb
fix: solve conflict package lock json bb-209
iqbalalayubbi Sep 9, 2024
259c9b5
fix: change email rule validation bb-209
iqbalalayubbi Sep 9, 2024
384f802
refactor: make notification as global for any page bb-209
iqbalalayubbi Sep 10, 2024
2b6d65c
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 10, 2024
a2bdc10
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 10, 2024
9dcd2ee
feat: show logout confirmation bb-365
iqbalalayubbi Sep 10, 2024
de03868
refactor: wrap logout confirm popup using dialog tag bb-365
iqbalalayubbi Sep 10, 2024
e0841d6
fix: set false logout popup as default state bb-365
iqbalalayubbi Sep 10, 2024
1d7d037
style: add class for img tag bb-365
iqbalalayubbi Sep 10, 2024
eb9d265
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 10, 2024
e87e177
style: change variabel popup into meaningful bb-365
iqbalalayubbi Sep 11, 2024
d0a5816
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 11, 2024
e220840
Merge branch 'main' into 365-feat-add-logout-confirmation
fshabanov Sep 11, 2024
dae6e9a
style: add variant for confirm button bb-365
iqbalalayubbi Sep 11, 2024
02bb12d
fix: solve conflict with main branch bb-365
iqbalalayubbi Sep 11, 2024
00f1ab6
Merge branch '365-feat-add-logout-confirmation' of https://github.com…
iqbalalayubbi Sep 11, 2024
7b3fc5d
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 13, 2024
fcb082b
feat: add logo to sigin & signup pages bb-373
iqbalalayubbi Sep 13, 2024
7daab72
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 13, 2024
9f957b6
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 14, 2024
72c3f7f
feat: update password functionality backend-frontend bb-417
iqbalalayubbi Sep 16, 2024
278a2f2
feat: add success notification update password bb-417
iqbalalayubbi Sep 16, 2024
f32600a
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 16, 2024
bcd74bc
style: remove unused comment bb-417
iqbalalayubbi Sep 16, 2024
5b6ea75
style: change response status swager spec bb-417
iqbalalayubbi Sep 16, 2024
4a2b320
style: remove unused comment bb-417
iqbalalayubbi Sep 16, 2024
2104a3f
refactor: remove token in update req & make helper check password bb-417
iqbalalayubbi Sep 17, 2024
90dc845
fix: solve conflict main branch bb-417
iqbalalayubbi Sep 17, 2024
b1782dc
refactor: move check password to auth service and using API handler t…
iqbalalayubbi Sep 18, 2024
e2562b7
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 18, 2024
13f6a46
Merge branch 'main' into 417-feat-change-password-funcionality-in-pro…
fshabanov Sep 18, 2024
1d9ba50
feat: add toggle eye button password bb-417
iqbalalayubbi Sep 20, 2024
ecfe48e
Merge branch '417-feat-change-password-funcionality-in-profile-screen…
iqbalalayubbi Sep 20, 2024
de8d9e5
Merge branch 'main' into 417-feat-change-password-funcionality-in-pro…
fshabanov Sep 20, 2024
93a07d0
fix: solve not match confirm new password bb-417
iqbalalayubbi Sep 20, 2024
867fcc6
Merge branch '417-feat-change-password-funcionality-in-profile-screen…
iqbalalayubbi Sep 20, 2024
17135e8
fix: solve conflict main branch bb-417
iqbalalayubbi Sep 20, 2024
83acb9a
refactor: remove fields object in confirm password custom validation …
iqbalalayubbi Sep 20, 2024
185997c
refactor: remove fields object in confirm password custom validation …
iqbalalayubbi Sep 20, 2024
e9c7c5d
fix: solve conflict this branch bb-417
iqbalalayubbi Sep 20, 2024
62eae78
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 21, 2024
3af9236
refactor: move confirm new password field to enum bb-417
iqbalalayubbi Sep 21, 2024
1c2adb2
style: change enum property of confirm password custom validation bb-417
iqbalalayubbi Sep 21, 2024
2c0804f
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 21, 2024
fdf4073
refactor: using get values instead watch in sign up mobile bb-417
iqbalalayubbi Sep 21, 2024
8d420af
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 21, 2024
58ef8fb
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 22, 2024
97097b4
feat: add discard changes button on edit wheel screen bb-467
iqbalalayubbi Sep 22, 2024
55bc3df
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 22, 2024
95a5ff6
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 23, 2024
cfc9074
refactor: change slider ref into prop value bb-467
iqbalalayubbi Sep 23, 2024
2c79dd5
refactor: replace timing function with use effect bb-467
iqbalalayubbi Sep 23, 2024
a390ccd
refactor: remove areChangesDiscarded prop from slider component bb-467
iqbalalayubbi Sep 23, 2024
990ba36
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 23, 2024
433fce2
refactor: using state hook to replace ref hook for scores data bb-467
iqbalalayubbi Sep 24, 2024
74ed482
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 24, 2024
f9bae8e
refactor: call api to get original scores bb-467
iqbalalayubbi Sep 24, 2024
65034ea
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 24, 2024
60010f6
Merge branch 'main' into 467-feat-add-discard-changes-button-on-edit-…
fshabanov Sep 24, 2024
83b0ed6
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 25, 2024
8c1d9da
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 26, 2024
07f73c3
fix: discard button disabled when click and reset the scores when swi…
iqbalalayubbi Sep 27, 2024
3fdb953
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 27, 2024
bc35260
Merge branch '467-feat-add-discard-changes-button-on-edit-wheel-scree…
iqbalalayubbi Sep 27, 2024
9dd1593
style: add constant value for reset changes state bb-467
iqbalalayubbi Sep 27, 2024
9fbf356
Merge branch 'main' of https://github.com/BinaryStudioAcademy/bsa-202…
iqbalalayubbi Sep 27, 2024
586dd6a
style: replace json stringify with for of to compare two objects bb-467
iqbalalayubbi Sep 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
const IS_DISCARD_BUTTON_DISABLED_INITIAL_VALUE = true;
const AFTER_DISCARD_CHANGES_DELAY = 100;
const IS_RESET_CHANGES_SCORES_INITIAL_VALUE = false;

export { IS_DISCARD_BUTTON_DISABLED_INITIAL_VALUE };
export {
AFTER_DISCARD_CHANGES_DELAY,
IS_DISCARD_BUTTON_DISABLED_INITIAL_VALUE,
IS_RESET_CHANGES_SCORES_INITIAL_VALUE,
};
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@ import {
import { actions as quizActions } from "~/modules/quiz/quiz.js";
import { type QuizScoresGetAllItemResponseDto } from "~/modules/quiz/quiz.js";

import { IS_DISCARD_BUTTON_DISABLED_INITIAL_VALUE } from "./libs/constants/constants.js";
import {
AFTER_DISCARD_CHANGES_DELAY,
IS_DISCARD_BUTTON_DISABLED_INITIAL_VALUE,
IS_RESET_CHANGES_SCORES_INITIAL_VALUE,
} from "./libs/constants/constants.js";
import { type ModalData } from "./libs/types/types.js";
import styles from "./styles.module.css";

Expand All @@ -30,8 +34,9 @@ const ScoresEditModal: React.FC<Properties> = ({
const [scores, setScores] = useState<ModalData[]>(data);
const [isDiscardButtonDisabled, setIsDiscardButtonDisabled] =
useState<boolean>(IS_DISCARD_BUTTON_DISABLED_INITIAL_VALUE);
const [areChangesDiscarded, setAreChangesDiscarded] =
useState<boolean>(false);
const [isResetChanges, setIsResetChanges] = useState<boolean>(
IS_RESET_CHANGES_SCORES_INITIAL_VALUE,
);

const handleSaveChanges = useCallback(() => {
if (!isDiscardButtonDisabled) {
Expand All @@ -45,6 +50,19 @@ const ScoresEditModal: React.FC<Properties> = ({
onSaveChanges();
}, [onSaveChanges, dispatch, scores, isDiscardButtonDisabled]);

const areChangesScores = useCallback(() => {
for (const [index, score] of scores.entries()) {
if (
originalScores[index] &&
originalScores[index].score !== score.score
) {
return true;
}
}

return false;
}, [originalScores, scores]);

const handleSliderChange = useCallback(
(categoryId: number, value: number) => {
setIsDiscardButtonDisabled(!IS_DISCARD_BUTTON_DISABLED_INITIAL_VALUE);
Expand Down Expand Up @@ -73,17 +91,22 @@ const ScoresEditModal: React.FC<Properties> = ({

const handleDiscardChanges = useCallback(() => {
void dispatch(quizActions.getScores());
setAreChangesDiscarded((previousValue) => !previousValue);
}, [setAreChangesDiscarded, dispatch]);
setIsResetChanges(!IS_RESET_CHANGES_SCORES_INITIAL_VALUE);
}, [setIsResetChanges, dispatch]);

useEffect(() => {
setScores(originalScores);

if (areChangesDiscarded) {
setAreChangesDiscarded((previousValue) => !previousValue);
setIsDiscardButtonDisabled(IS_DISCARD_BUTTON_DISABLED_INITIAL_VALUE);
if (areChangesScores()) {
setScores(originalScores);
setIsResetChanges(IS_RESET_CHANGES_SCORES_INITIAL_VALUE);
setTimeout(() => {
setIsDiscardButtonDisabled(IS_DISCARD_BUTTON_DISABLED_INITIAL_VALUE);
}, AFTER_DISCARD_CHANGES_DELAY);
}
}, [areChangesDiscarded, setScores, originalScores]);
}, [isResetChanges, setScores, originalScores, scores, areChangesScores]);

useEffect(() => {
return (): void => void dispatch(quizActions.getScores());
}, [dispatch]);

return (
<div className={styles["container"]}>
Expand Down
Loading