Skip to content

Commit

Permalink
fix: removed extra loader while updating preferences
Browse files Browse the repository at this point in the history
  • Loading branch information
sundasnoreen12 committed Oct 17, 2023
1 parent 966b59b commit bc8197a
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 4 deletions.
6 changes: 3 additions & 3 deletions src/notification-preferences/NotificationPreferenceRow.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {
selectPreference,
selectPreferenceNonEditableChannels,
selectSelectedCourseId,
selectNotificationPreferencesStatus,
selectUpdatePreferencesStatus,
} from './data/selectors';
import { updatePreferenceToggle } from './data/thunks';
import { LOADING_STATUS } from '../constants';
Expand All @@ -22,7 +22,7 @@ const NotificationPreferenceRow = ({ appId, preferenceName }) => {
const courseId = useSelector(selectSelectedCourseId());
const preference = useSelector(selectPreference(appId, preferenceName));
const nonEditable = useSelector(selectPreferenceNonEditableChannels(appId, preferenceName));
const preferencesStatus = useSelector(selectNotificationPreferencesStatus());
const updatePreferencesStatus = useSelector(selectUpdatePreferencesStatus());

const onToggle = useCallback((event) => {
const {
Expand Down Expand Up @@ -76,7 +76,7 @@ const NotificationPreferenceRow = ({ appId, preferenceName }) => {
name={channel}
value={preference[channel]}
onChange={onToggle}
disabled={nonEditable.includes(channel) || preferencesStatus === LOADING_STATUS}
disabled={nonEditable.includes(channel) || updatePreferencesStatus === LOADING_STATUS}
/>
</div>
))}
Expand Down
5 changes: 4 additions & 1 deletion src/notification-preferences/data/reducers.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ export const defaultState = {
},
preferences: {
status: IDLE_STATUS,
updatePreferenceStatus: IDLE_STATUS,
selectedCourse: null,
preferences: [],
apps: [],
Expand Down Expand Up @@ -70,6 +71,7 @@ const notificationPreferencesReducer = (state = defaultState, action = {}) => {
preferences: {
...state.preferences,
status: SUCCESS_STATUS,
updatePreferenceStatus: SUCCESS_STATUS,
...action.payload,
},
};
Expand All @@ -79,6 +81,7 @@ const notificationPreferencesReducer = (state = defaultState, action = {}) => {
preferences: {
...state.preferences,
status: FAILURE_STATUS,
updatePreferenceStatus: FAILURE_STATUS,
preferences: [],
apps: [],
nonEditable: {},
Expand All @@ -102,7 +105,7 @@ const notificationPreferencesReducer = (state = defaultState, action = {}) => {
? { ...preference, [notificationChannel]: value }
: preference
)),
status: LOADING_STATUS,
updatePreferenceStatus: LOADING_STATUS,
},
};
case Actions.UPDATE_APP_PREFERENCE:
Expand Down
4 changes: 4 additions & 0 deletions src/notification-preferences/data/selectors.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ export const selectNotificationPreferencesStatus = () => state => (
state.notificationPreferences.preferences.status
);

export const selectUpdatePreferencesStatus = () => state => (
state.notificationPreferences.preferences.updatePreferenceStatus
);

export const selectPreferences = () => state => (
state.notificationPreferences.preferences?.preferences
);
Expand Down

0 comments on commit bc8197a

Please sign in to comment.