import { hideLoginModal } from './ui'; export const LOGIN_SUCCESS = 'LOGIN_SUCCESS'; export const LOGIN_FAILURE = 'LOGIN_FAILURE'; export function login(credentials) { return (dispatch) => { fetch('/auth/local', { method: 'POST', body: JSON.stringify(credentials), credentials: 'same-origin', headers: { Accept: 'application/json', 'Content-Type': 'application/json', }, }) .then((res) => res.json()) .then((json) => { dispatch(hideLoginModal()); dispatch({ type: LOGIN_SUCCESS, payload: json, }); }) .catch((err) => dispatch({ type: LOGIN_FAILURE, err, })); }; } export const LOGOUT = 'LOGOUT'; export function logout() { return (dispatch) => { fetch('/auth/logout', { credentials: 'same-origin', }) .then(() => dispatch({ type: LOGOUT, })) .catch((err) => console.error('error logging out', err)); }; }