@@ -110,8 +110,12 @@ export const setAuthlevel = (authlevel) => ({
|
||||
payload: authlevel,
|
||||
});
|
||||
|
||||
export const setEulaContentToShow = (eulaContent) => ({
|
||||
type: UserActionTypes.SET_EULA_CONTENT,
|
||||
payload: eulaContent,
|
||||
export const setCurrentEula = (eula) => ({
|
||||
type: UserActionTypes.SET_CURRENT_EULA,
|
||||
payload: eula,
|
||||
});
|
||||
|
||||
export const acceptEula = () => ({
|
||||
type: UserActionTypes.EULA_ACCEPTED,
|
||||
});
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ const INITIAL_STATE = {
|
||||
loading: false,
|
||||
},
|
||||
authLevel: 0,
|
||||
eulaContentToShow:null
|
||||
currentEula: null,
|
||||
};
|
||||
|
||||
const userReducer = (state = INITIAL_STATE, action) => {
|
||||
@@ -65,11 +65,19 @@ const userReducer = (state = INITIAL_STATE, action) => {
|
||||
loading: false,
|
||||
},
|
||||
};
|
||||
case UserActionTypes.EULA_ACCEPTED:
|
||||
return {
|
||||
...state,
|
||||
currentUser:{...state.currentUser, eulaIsAccepted: true},
|
||||
currentEula: null,
|
||||
};
|
||||
case UserActionTypes.SIGN_IN_SUCCESS:
|
||||
const{ currentEula,...currentUser} = action.payload
|
||||
return {
|
||||
...state,
|
||||
loginLoading: false,
|
||||
currentUser: action.payload,
|
||||
currentUser: currentUser,
|
||||
currentEula,
|
||||
error: null,
|
||||
};
|
||||
case UserActionTypes.SIGN_OUT_SUCCESS:
|
||||
|
||||
@@ -97,7 +97,7 @@ export function* isUserAuthenticated() {
|
||||
},
|
||||
});
|
||||
|
||||
const isEulaAccepted = eulaQuery.data.eulas.length > 0 && eulaQuery.data.eulas[0].eula_acceptances.length > 0;
|
||||
const eulaIsAccepted = eulaQuery.data.eulas.length > 0 && eulaQuery.data.eulas[0].eula_acceptances.length > 0;
|
||||
|
||||
yield put(
|
||||
signInSuccess({
|
||||
@@ -106,7 +106,8 @@ export function* isUserAuthenticated() {
|
||||
displayName: user.displayName,
|
||||
photoURL: user.photoURL,
|
||||
authorized: true,
|
||||
isEulaAccepted,
|
||||
eulaIsAccepted,
|
||||
currentEula: eulaIsAccepted ? null : eulaQuery.data.eulas[0],
|
||||
})
|
||||
);
|
||||
} catch (error) {
|
||||
|
||||
@@ -37,7 +37,7 @@ export const selectLoginLoading = createSelector(
|
||||
(user) => user.loginLoading
|
||||
);
|
||||
|
||||
export const selectEulaContentToShow = createSelector(
|
||||
export const selectCurrentEula = createSelector(
|
||||
[selectUser],
|
||||
(user) => user.eulaContentToShow
|
||||
(user) => user.currentEula
|
||||
);
|
||||
|
||||
@@ -32,6 +32,7 @@ const UserActionTypes = {
|
||||
CHECK_ACTION_CODE_START: "CHECK_ACTION_CODE_START",
|
||||
CHECK_ACTION_CODE_SUCCESS: "CHECK_ACTION_CODE_SUCCESS",
|
||||
CHECK_ACTION_CODE_FAILURE: "CHECK_ACTION_CODE_FAILURE",
|
||||
SET_EULA_CONTENT: "SET_EULA_CONTENT"
|
||||
SET_CURRENT_EULA: "SET_CURRENT_EULA",
|
||||
EULA_ACCEPTED : "EULA_ACCEPTED",
|
||||
};
|
||||
export default UserActionTypes;
|
||||
|
||||
Reference in New Issue
Block a user