mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-11-18 23:21:30 +08:00
71 lines
2.3 KiB
JavaScript
71 lines
2.3 KiB
JavaScript
import {
|
|
SET_CURRENT_USER,
|
|
CHANGE_CURRENT_USER_FULL_NAME,
|
|
CHANGE_CURRENT_USER_INITIALS,
|
|
CHANGE_CURRENT_USER_EMAIL,
|
|
CHANGE_CURRENT_USER_PASSWORD,
|
|
CHANGE_CURRENT_USER_AVATAR,
|
|
CHANGE_CURRENT_USER_TIMEZONE,
|
|
CHANGE_ASSIGNMENTS_NOTIFICATION,
|
|
CHANGE_ASSIGNMENTS_NOTIFICATION_EMAIL,
|
|
CHANGE_RECENT_NOTIFICATION,
|
|
CHANGE_RECENT_NOTIFICATION_EMAIL,
|
|
CHANGE_SYSTEM_MESSAGE_NOTIFICATION_EMAIL
|
|
} from "../../app/action_types";
|
|
|
|
export function currentUser(
|
|
state = {
|
|
id: 0,
|
|
fullName: "",
|
|
initials: "",
|
|
email: "",
|
|
avatarPath: "",
|
|
avatarThumbPath: "",
|
|
timezone: "",
|
|
assignmentsNotification: false,
|
|
assignmentsNotificationEmail: false,
|
|
recentNotification: false,
|
|
recentNotificationEmail: false,
|
|
systemMessageNotificationEmail: false
|
|
},
|
|
action
|
|
) {
|
|
switch (action.type) {
|
|
case SET_CURRENT_USER:
|
|
return Object.assign({}, state, action.payload);
|
|
case CHANGE_CURRENT_USER_FULL_NAME:
|
|
return Object.assign({}, state, { fullName: action.payload });
|
|
case CHANGE_CURRENT_USER_INITIALS:
|
|
return Object.assign({}, state, { initials: action.payload });
|
|
case CHANGE_CURRENT_USER_EMAIL:
|
|
return Object.assign({}, state, { email: action.payload });
|
|
case CHANGE_CURRENT_USER_PASSWORD:
|
|
console.log("handle sending password to the server");
|
|
// return Object.assign({}, state, { password: action.payload });
|
|
return state;
|
|
case CHANGE_CURRENT_USER_AVATAR:
|
|
return Object.assign({}, state, { avatar: action.payload });
|
|
case CHANGE_CURRENT_USER_TIMEZONE:
|
|
return Object.assign({}, state, { timezone: action.payload });
|
|
case CHANGE_ASSIGNMENTS_NOTIFICATION:
|
|
return Object.assign({}, state, {
|
|
assignmentsNotification: action.payload
|
|
});
|
|
case CHANGE_ASSIGNMENTS_NOTIFICATION_EMAIL:
|
|
return Object.assign({}, state, {
|
|
assignmentsNotificationEmail: action.payload
|
|
});
|
|
case CHANGE_RECENT_NOTIFICATION:
|
|
return Object.assign({}, state, { recentNotification: action.payload });
|
|
case CHANGE_RECENT_NOTIFICATION_EMAIL:
|
|
return Object.assign({}, state, {
|
|
recentNotificationEmail: action.payload
|
|
});
|
|
case CHANGE_SYSTEM_MESSAGE_NOTIFICATION_EMAIL:
|
|
return Object.assign({}, state, {
|
|
systemMessageNotificationEmail: action.payload
|
|
});
|
|
default:
|
|
return state;
|
|
}
|
|
}
|