You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.5 KiB
49 lines
1.5 KiB
import proxy from "../proxy"; |
|
import { toast } from "react-toastify"; |
|
|
|
const initialState = { |
|
status: proxy.status(), |
|
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": |
|
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": |
|
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("تغییرات اعمال شد."); |
|
return { ...state, loading: false, error: null, setDone : true }; |
|
case "loading": |
|
return { ...state, loading: true }; |
|
case "error": |
|
return { ...state, loading: false, error: data.message }; |
|
default: |
|
return state; |
|
} |
|
}
|
|
|