Skip to content

Instantly share code, notes, and snippets.

View AndrejGajdos's full-sized avatar

Andrej Gajdos AndrejGajdos

View GitHub Profile
import Cookies from 'js-cookie';
import * as ActionTypes from '../constants/actionTypes';
const initialState = {
user: {
isAuthenticated: typeof Cookies.get('auth__flow__spa__loggedUserObj') !== 'undefined',
loggedUserObj: Cookies.getJSON('auth__flow__spa__loggedUserObj'),
},
error: null,
};
import * as ActionTypes from '../constants/actionTypes';
export default function toggleModal(state = { login: false }, action) {
switch (action.type) {
case ActionTypes.TOGGLE_MODAL_SUCCEEDED:
return { login: action.newState };
default:
return state;
}
}
import access from 'state/access.reducers';
import toggleModal from 'state/modals.reducers';
export default {
access,
toggleModal,
};
import { put, takeLatest } from 'redux-saga/effects';
import * as ActionTypes from 'constants/actionTypes';
function* toggleModal(action) {
const { newState } = action;
if (!newState) {
// if login modal is closed, reset error
yield put({ type: ActionTypes.LOGIN_FAILED, error: null });
}
yield put({ type: ActionTypes.TOGGLE_MODAL_SUCCEEDED, newState });
import { put, call, takeLatest } from 'redux-saga/effects';
import Cookies from 'js-cookie';
import * as ActionTypes from 'constants/actionTypes';
import { get, post } from 'utils/api';
import lGet from 'lodash/get';
function* login(action) {
const { email, password } = action;
try {
const response = yield call(
import { all, fork } from 'redux-saga/effects';
import { watchGetProfile, watchLogout, watchLogin } from './access.sagas';
import watchToggleModal from './modals.sagas';
export default function* rootSaga() {
yield all([
fork(watchGetProfile),
fork(watchLogin),
fork(watchLogout),
fork(watchToggleModal),
import * as ActionTypes from 'constants/actionTypes';
const toggleLogin = newState => ({
type: ActionTypes.TOGGLE_MODAL_REQUESTED,
newState,
});
export default toggleLogin;
import * as ActionTypes from 'constants/actionTypes';
export const login = (email, password) => ({
type: ActionTypes.LOGIN_REQUESTED,
email,
password,
});
export const logout = () => ({
type: ActionTypes.LOGOUT_REQUESTED,
onFacebookLogin = () => {
const inOneHour = new Date(new Date().getTime() + 60 * 60 * 1000);
Cookies.set('lastLocation_before_logging', this.props.location.pathname, { expires: inOneHour });
window.location.href = `${window.location.origin}/auth/facebook`;
};
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { withRouter } from 'react-router';
import { connect } from 'react-redux';
import Cookies from 'js-cookie';
import get from 'lodash/get';
import includes from 'lodash/includes';
import { login } from 'actions/access.actions';
import toggleLogin from 'actions/modals.actions';
import cn from 'classnames';