UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

48 lines (45 loc) 1.28 kB
import {update_item, store_items, update_items} from './base' const initial_state = { users: {}, recruiter_users: [], current_user: null, current_recipient: null, order_by: 'app_name', order_ascending: false, users_loaded: false, } export function users(state = initial_state, action) { switch (action.type) { case "store_users": return store_items({...state, users_loaded: true}, "users", action.users) case "set_current_user": return Object.assign({}, state, { current_user: action.user_id, }) case "set_current_recipient": return Object.assign({}, state, { current_recipient: action.user_id, }) case "set_order_by": if (action.order_by === state.order_by) { return Object.assign({}, state, { order_ascending: !state.order_ascending, }) } else { return Object.assign({}, state, { order_by: action.order_by, }) } case "store_recruiter_users": return { ...state, recruiter_users: action.recruiter_users, } case "update_user": return update_item(state, "users", action.user) case "update_users": return update_items(state, "users", action.users) default: return state } }