import proxy from "../proxy"; import { toast } from "react-toastify"; const initialState = { status: { name: '', lastName: '', displayName: '', roles: [], rolesString: [ { id: 1, roleName: 'پایه ششم', }, { id: 2, roleName: 'مدیر', }, ] }, loading: false, error: null, list: null, domains: [], mothers: [], profileStatus: false, setDone: false, setLogin: false, }; export default function user(state = initialState, action) { let { type, data } = action; switch (type) { // case "user/login": // case "user/register": // case "user/switchRole": case "public/sendOTP": return { ...state, loading: false, status: data.profile, error: null }; case "user/login": case "user/otp/login": window.location.replace("/services"); // if (data.profile.username == null) { // window.location.replace("/services"); // } return { ...state, loading: false, status: data.profile, error: null, setLogin: !state.setLogin, }; case "user/getProfile": localStorage.setItem("userData", JSON.stringify(data)); return { ...state, loading: false, status: data, error: null, setDone: false, }; case "user/logout": window.location.reload() return { ...state, loading: false, status: proxy.status(), error: null }; case "user/getUserRole": return { ...state, loading: false, userRoles: data, error: null }; case "user/setProfile": toast.success("تغییرات اعمال شد."); window.location.replace("/services"); return { ...state, loading: false, error: null, setDone: true }; case "loading": return { ...state, loading: true }; case "error": return { ...state, loading: false, error: data.message }; case 'SET_USER_STATUS': return {...state, status: data}; default: return state; } }