From eb01e35c75700e45bc573ec8a9fd0f8a88f8ba4f Mon Sep 17 00:00:00 2001 From: Ebube Date: Sat, 8 Jul 2023 22:52:36 +0100 Subject: [PATCH] Continue Suggested Task --- .../FamilyPopout/AssignTaskPopout.jsx | 70 ++++++++++-------- .../FamilyAcc/FamilyPopout/forms/NewTasks.jsx | 10 ++- .../FamilyAcc/Tabs/FamilyWaitlist.jsx | 19 +++++ src/components/FamilyPopup/SuggestTask.jsx | 73 +++++++++++-------- 4 files changed, 107 insertions(+), 65 deletions(-) diff --git a/src/components/FamilyAcc/FamilyPopout/AssignTaskPopout.jsx b/src/components/FamilyAcc/FamilyPopout/AssignTaskPopout.jsx index 22e80ab..b58e7b1 100644 --- a/src/components/FamilyAcc/FamilyPopout/AssignTaskPopout.jsx +++ b/src/components/FamilyAcc/FamilyPopout/AssignTaskPopout.jsx @@ -6,7 +6,7 @@ import LoadingSpinner from "../../Spinners/LoadingSpinner"; import { PriceFormatter } from "../../Helpers/PriceFormatter"; import { NewTasks } from "./forms"; -function AssignTaskPopout({ action, situation, familyDetails }) { +function AssignTaskPopout({ action, details, situation, familyDetails }) { const apiCall = new usersService(); let [requestStatus, setRequestStatus] = useState({ @@ -17,7 +17,7 @@ function AssignTaskPopout({ action, situation, familyDetails }) { let [familyTask, setFamilyTask] = useState({ loading: true, data: [] }); - let [taskType, setTaskType] = useState("select"); // SWITCHES BTW SELECT TASK AND NEW TASK + let [taskType, setTaskType] = useState(details ? "new" : "select"); // SWITCHES BTW SELECT TASK AND NEW TASK let [activeTask, setActiveTask] = useState({ id: 0, data: {} }); // HOLDS SELECTED TASK @@ -34,14 +34,14 @@ function AssignTaskPopout({ action, situation, familyDetails }) { // New Task const [formState, setFormState] = useState({ // Initialize form state with desired fields - banner: "" || "default.jpg", - country: "" || "", - price: "" || "", - title: "" || "", - description: "" || "", - job_detail: "" || "", - timeline_days: "" || "", - category: [] || "", + banner: details?.banner || "default.jpg", + country: details?.country || "", + price: details?.price || "", + title: details?.title || "", + description: details?.description || "", + job_detail: details?.job_detail || "", + timeline_days: details?.timeline_days || "", + category: details?.category || "", }); const assignFamilyTask = () => { @@ -81,30 +81,28 @@ function AssignTaskPopout({ action, situation, familyDetails }) { title, } = formState; - const requiredFields = [ + const requiredFields = { banner, - category, + // category, country, description, job_detail, price, timeline_days, title, - ]; + }; - if (requiredFields.some((field) => !field)) { - const emptyField = requiredFields.find((field) => !field); - setRequestStatus({ - loading: false, - status: false, - message: `${emptyField} Empty`, - }); - - setTimeout(() => { - setRequestStatus({ loading: false, status: false, message: "" }); - }, 3000); - - return; + for (let field in requiredFields) { + if (requiredFields[field] == "") { + setRequestStatus({ + loading: false, + status: false, + message: `${field} is empty`, + }); + return setTimeout(() => { + setRequestStatus({ loading: false, status: false, message: "" }); + }, 3000); + } } reqData = { @@ -117,7 +115,7 @@ function AssignTaskPopout({ action, situation, familyDetails }) { timeline_days, title, assign_mode: 110055, - family_uid: familyDetails.uid, + family_uid: details?.family_uid || familyDetails?.uid, }; } @@ -156,6 +154,8 @@ function AssignTaskPopout({ action, situation, familyDetails }) { }); }; + console.log("state >>--<<", familyDetails); + useEffect(() => { const reqData = { limit: 30, @@ -180,14 +180,17 @@ function AssignTaskPopout({ action, situation, familyDetails }) { }); }, []); - console.log("Trying to see form data >>", formState); return ( <> - +

- Assign task to {familyDetails?.firstname} + Assign task to {familyDetails?.firstname || details.firstName}

@@ -380,6 +383,7 @@ function AssignTaskPopout({ action, situation, familyDetails }) {
) ))} + {/* End of error or success display */} )} diff --git a/src/components/FamilyAcc/FamilyPopout/forms/NewTasks.jsx b/src/components/FamilyAcc/FamilyPopout/forms/NewTasks.jsx index 22d8e76..508d47e 100644 --- a/src/components/FamilyAcc/FamilyPopout/forms/NewTasks.jsx +++ b/src/components/FamilyAcc/FamilyPopout/forms/NewTasks.jsx @@ -1,9 +1,8 @@ import React, { useEffect, useState } from "react"; import usersService from "../../../../services/UsersService"; import InputCom from "../../../Helpers/Inputs/InputCom"; -import debounce from "../../../../hooks/debounce"; -const DEFAULT_IMAGE = require("../../../../assets/images/taskbanners/default.jpg"); +// const DEFAULT_IMAGE = export default function NewTasks({ formState, setFormState }) { let [currency, setCurrency] = useState({ loading: true, @@ -11,6 +10,9 @@ export default function NewTasks({ formState, setFormState }) { data: null, }); + const selectImage = require(`../../../../assets/images/taskbanners/${ + formState.banner || "default.jpg" + }`); const ApiCall = new usersService(); // FUNCTION TO GET Currency @@ -47,7 +49,7 @@ export default function NewTasks({ formState, setFormState }) { }, []); return ( -
+
{/* inputs starts here */}
@@ -207,7 +209,7 @@ export default function NewTasks({ formState, setFormState }) {
task_banner_img diff --git a/src/components/FamilyAcc/Tabs/FamilyWaitlist.jsx b/src/components/FamilyAcc/Tabs/FamilyWaitlist.jsx index 7fe5d5c..fd4b968 100644 --- a/src/components/FamilyAcc/Tabs/FamilyWaitlist.jsx +++ b/src/components/FamilyAcc/Tabs/FamilyWaitlist.jsx @@ -2,9 +2,14 @@ import { useState } from "react"; import { handlePagingFunc, PaginatedList } from "../../Pagination"; import LoadingSpinner from "../../Spinners/LoadingSpinner"; import SuggestTask from "../../FamilyPopup/SuggestTask"; +import AssignTaskPopout from "../FamilyPopout/AssignTaskPopout"; const FamilyWaitlist = ({ familyData, className, accountDetails, loader }) => { const [popUp, setPopUp] = useState({ show: false, data: {} }); + const [continueTaskPopup, setContinueTaskPopup] = useState({ + show: false, + data: {}, + }); let filteredFamilyData = familyData?.result_list?.filter( (data) => data?.family_uid === accountDetails?.family_uid @@ -112,9 +117,23 @@ const FamilyWaitlist = ({ familyData, className, accountDetails, loader }) => { onClose={() => { setPopUp({ show: false, data: {} }); }} + continuePopupData={(value) => + setContinueTaskPopup({ show: true, data: { ...value } }) + } situation={popUp.show} /> )} + + {/* Continue Task */} + {continueTaskPopup.show && ( + { + setContinueTaskPopup({ show: false, data: {} }); + }} + situation={continueTaskPopup.show} + /> + )}
); }; diff --git a/src/components/FamilyPopup/SuggestTask.jsx b/src/components/FamilyPopup/SuggestTask.jsx index 3dbfaef..1a3cc22 100644 --- a/src/components/FamilyPopup/SuggestTask.jsx +++ b/src/components/FamilyPopup/SuggestTask.jsx @@ -7,7 +7,7 @@ import usersService from "../../services/UsersService"; import Icons from "../Helpers/Icons"; const DEFAULT_IMAGE = require("../../assets/images/family/default.jpg"); -const SuggestTask = ({ details, onClose, situation }) => { +const SuggestTask = ({ details, onClose, situation, continuePopupData }) => { const { pathname, state } = useLocation(); const [submitTask, setSubmitTask] = useState({ loading: false, @@ -29,7 +29,7 @@ const SuggestTask = ({ details, onClose, situation }) => { const apiCall = new usersService(); - const handleSubmit = async (values) => { + const handleSuggestedTask = async (values) => { if (!values.title && !values.description) return; try { setSubmitTask({ loading: true }); @@ -49,7 +49,15 @@ const SuggestTask = ({ details, onClose, situation }) => { } }; - // console.log("state >-->>", state); + const handleParentSuggestion = (values) => { + if (suggestedNextStep == "Send Task") { + let firstName = state?.firstname; + let family_uid = state?.family_uid + continuePopupData({ ...details, firstName, family_uid }); + } + onClose(); + }; + return (
@@ -87,7 +95,11 @@ const SuggestTask = ({ details, onClose, situation }) => {
{(props) => { return ( @@ -211,6 +223,7 @@ const SuggestTask = ({ details, onClose, situation }) => { )}
+
- {pathname !== "/manage-family" ? ( - - ) : ( - - )} +