Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 44cedf2f65 | |||
| fbcba191b0 |
@@ -47,19 +47,25 @@ export default function SocketIOContextProvider({children}) {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
socket.on("receive_message", (data) => {
|
socket.on("receive_message", (data) => {
|
||||||
// setSocketMsgReceived(data.message);
|
// setSocketMsgReceived(data.message);
|
||||||
dispatch(tableReload({type:'CHATMESSAGELIST'}))
|
dispatch(tableReload({type:'CHATMESSAGELIST'})) // dispatches to update chat message sending from owner to worker and vice versa
|
||||||
});
|
});
|
||||||
|
|
||||||
socket.on("received_refreshmarket_jobs", (data) => {
|
socket.on("received_refreshmarket_jobs", (data) => {
|
||||||
// setSocketMsgReceived(data.message);
|
// setSocketMsgReceived(data.message);
|
||||||
dispatch(tableReload({type:'MARKETTABLELIST'}))
|
dispatch(tableReload({type:'MARKETTABLELIST'})) // dispatches to update market list on full account
|
||||||
});
|
});
|
||||||
|
|
||||||
socket.on("family_actions", (data) => {
|
socket.on("family_actions", (data) => {
|
||||||
// setSocketMsgReceived(data.message);
|
// setSocketMsgReceived(data.message);
|
||||||
let user_uid = userDetails.account_type == 'FULL' ? userDetails.uid : sessionStorage.getItem('family_uid')
|
let user_uid = userDetails.account_type == 'FULL' ? userDetails.uid : sessionStorage.getItem('family_uid') // gets user UID
|
||||||
let {message} = data
|
let {message} = data
|
||||||
if(message.action == "REFRESH_OFFER" && message.family_uid == user_uid && message.audience == "MEMBER"){
|
if(message.action == "REFRESH_OFFER" && message.family_uid == user_uid && message.audience == "MEMBER"){ // for refreshing child account when parent assigns a job
|
||||||
dispatch(tableReload({type:'FAMILYOFFERLIST'}))
|
dispatch(tableReload({type:'FAMILYOFFERLIST'})) // dispatches to update family pending/offer list on family side
|
||||||
}
|
}
|
||||||
|
if(message.action == "REFRESH_TASK" && message.audience == "PARENT"){ // for refreshing parent account when child accepts or rejects a job
|
||||||
|
dispatch(tableReload({type:'PARENTFAMILYTASKLIST'})) // dispatches to update parent family task list on parent side
|
||||||
|
}
|
||||||
|
// console.log('DATA', data)
|
||||||
});
|
});
|
||||||
}, [socket]);
|
}, [socket]);
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import { apiConst } from "../../lib/apiConst";
|
|||||||
import usersService from "../../services/UsersService";
|
import usersService from "../../services/UsersService";
|
||||||
import LoadingSpinner from "../Spinners/LoadingSpinner";
|
import LoadingSpinner from "../Spinners/LoadingSpinner";
|
||||||
import AssignTaskPopout from "./FamilyPopout/AssignTaskPopout";
|
import AssignTaskPopout from "./FamilyPopout/AssignTaskPopout";
|
||||||
|
import { useSelector } from "react-redux";
|
||||||
|
|
||||||
// Lazy Imports for components
|
// Lazy Imports for components
|
||||||
const FamilyWaitlist = lazy(() => import("./Tabs/FamilyNewWaitlist"));
|
const FamilyWaitlist = lazy(() => import("./Tabs/FamilyNewWaitlist"));
|
||||||
@@ -11,11 +12,15 @@ const FamilyTasks = lazy(() => import("./Tabs/FamilyNewTasks"));
|
|||||||
const FamilyPending = lazy(() => import("./Tabs/FamilyNewPending"));
|
const FamilyPending = lazy(() => import("./Tabs/FamilyNewPending"));
|
||||||
|
|
||||||
export default function FamilyTableNew() {
|
export default function FamilyTableNew() {
|
||||||
|
|
||||||
|
const { parentFamilyTaskList } = useSelector((state) => state.tableReload);
|
||||||
|
console.log('parentFamilyTaskList', parentFamilyTaskList)
|
||||||
|
|
||||||
let { pathname } = useLocation();
|
let { pathname } = useLocation();
|
||||||
|
|
||||||
// Initial state for family details
|
// Initial state for family details
|
||||||
const initialDetailState = {
|
const initialDetailState = {
|
||||||
loading: false,
|
loading: true,
|
||||||
data: null,
|
data: null,
|
||||||
link: "",
|
link: "",
|
||||||
};
|
};
|
||||||
@@ -115,13 +120,13 @@ export default function FamilyTableNew() {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const manageFamily = async () => {
|
const manageFamily = async () => {
|
||||||
try {
|
try {
|
||||||
resetDetails();
|
// resetDetails();
|
||||||
|
|
||||||
setDetails({
|
// setDetails({
|
||||||
familyTasks: { loading: true },
|
// familyTasks: { loading: true },
|
||||||
familyWaitList: { loading: true },
|
// familyWaitList: { loading: true },
|
||||||
familyPending: { loading: true },
|
// familyPending: { loading: true },
|
||||||
});
|
// });
|
||||||
|
|
||||||
// const { family_uid } = accountDetails;
|
// const { family_uid } = accountDetails;
|
||||||
// const reqData = { family_uid };
|
// const reqData = { family_uid };
|
||||||
@@ -169,7 +174,13 @@ export default function FamilyTableNew() {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
resetDetails();
|
// resetDetails();
|
||||||
|
setDetails({
|
||||||
|
familyDetails: { ...initialDetailState, loading: false, },
|
||||||
|
familyTasks: { ...initialDetailState, loading: false, },
|
||||||
|
familyWaitList: { ...initialDetailState, loading: false,},
|
||||||
|
familyPending: { ...initialDetailState, loading: false, },
|
||||||
|
})
|
||||||
setErrMsg("An error occurred");
|
setErrMsg("An error occurred");
|
||||||
throw new Error(error);
|
throw new Error(error);
|
||||||
}
|
}
|
||||||
@@ -177,7 +188,7 @@ export default function FamilyTableNew() {
|
|||||||
|
|
||||||
// Invoke the manageFamily function when the component mounts
|
// Invoke the manageFamily function when the component mounts
|
||||||
manageFamily();
|
manageFamily();
|
||||||
}, [updatePage]);
|
}, [updatePage, parentFamilyTaskList]);
|
||||||
|
|
||||||
// Effect to manage family tasks
|
// Effect to manage family tasks
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|||||||
@@ -10,7 +10,12 @@ import localImgLoad from "../../lib/localImgLoad";
|
|||||||
import { tableReload } from "../../store/TableReloads";
|
import { tableReload } from "../../store/TableReloads";
|
||||||
import { useDispatch } from "react-redux";
|
import { useDispatch } from "react-redux";
|
||||||
|
|
||||||
|
import { SocketValues } from "../Contexts/SocketIOContext";
|
||||||
|
|
||||||
function FamilyOfferJobPopout({ details, onClose, situation }) {
|
function FamilyOfferJobPopout({ details, onClose, situation }) {
|
||||||
|
|
||||||
|
const {parentAssignJobToKid} = SocketValues()
|
||||||
|
|
||||||
const apiUrl = new usersService();
|
const apiUrl = new usersService();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
@@ -69,6 +74,18 @@ function FamilyOfferJobPopout({ details, onClose, situation }) {
|
|||||||
message: `Offer ${name}ed Successfully`,
|
message: `Offer ${name}ed Successfully`,
|
||||||
trigger: "",
|
trigger: "",
|
||||||
});
|
});
|
||||||
|
// trigger socket event to refresh parent side
|
||||||
|
//SENDS MESSAGE TO SOCKET TO UPDATE PARENT ACCOUNT WHEN CHILD ACCEPTS OR REJECTS A JOB ASSIGNED BY PARENT
|
||||||
|
// message, room
|
||||||
|
let socketMsg = {
|
||||||
|
"audience": "PARENT",
|
||||||
|
"action": "REFRESH_TASK",
|
||||||
|
"family_uid": sessionStorage.getItem('family_uid'),
|
||||||
|
}
|
||||||
|
let socketRoom = `FAMILY-${sessionStorage.getItem('parent_uid')}`
|
||||||
|
parentAssignJobToKid(socketMsg, socketRoom) //SENDS MESSAGE TO SOCKET TO UPDATE CHILD ACCOUNT
|
||||||
|
// end of socket event trigger
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
onClose();
|
onClose();
|
||||||
dispatch(tableReload({ type: "MYTASKTABLE" }));
|
dispatch(tableReload({ type: "MYTASKTABLE" }));
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ const initialState = {
|
|||||||
chatMessageList: false,
|
chatMessageList: false,
|
||||||
marketTableList: false,
|
marketTableList: false,
|
||||||
familyOfferList: false,
|
familyOfferList: false,
|
||||||
|
parentFamilyTaskList: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
export const tableReloadSlice = createSlice({
|
export const tableReloadSlice = createSlice({
|
||||||
@@ -53,6 +54,9 @@ export const tableReloadSlice = createSlice({
|
|||||||
case "FAMILYOFFERLIST":
|
case "FAMILYOFFERLIST":
|
||||||
state.familyOfferList = !state.familyOfferList;
|
state.familyOfferList = !state.familyOfferList;
|
||||||
return;
|
return;
|
||||||
|
case "PARENTFAMILYTASKLIST": // reloads list of active family task on parent side
|
||||||
|
state.parentFamilyTaskList = !state.parentFamilyTaskList;
|
||||||
|
return;
|
||||||
default:
|
default:
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user