Skip to content

Commit

Permalink
fix: comment out for future use
Browse files Browse the repository at this point in the history
  • Loading branch information
ter1203 committed Aug 29, 2024
1 parent 48f5981 commit a3cd567
Showing 1 changed file with 49 additions and 158 deletions.
207 changes: 49 additions & 158 deletions client/src/pages/Onboard/Onboard.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
import React, { useState, useEffect, useRef } from "react";
import { Box, Paper, Typography, Divider } from "@mui/material";
import { useNavigate } from "react-router-dom";
import ProspectingCriteriaSelector from "../../components/ProspectingCriteriaSelector/ProspectingCriteriaSelector";
import InfoGatheringStep from "../../components/InfoGatheringStep/InfoGatheringStep";
import { Box, Paper, Divider } from "@mui/material";
// import { useNavigate } from "react-router-dom";
import ProgressTracker from "../../components/ProgressTracker/ProgressTracker";
import {
fetchLoggedInSalesforceUser,
fetchSalesforceTasksByUserIds,
fetchTaskFields,
fetchTaskFilterFields,
generateCriteria,
saveSettings as saveSettingsToSupabase,
// generateCriteria,
// saveSettings as saveSettingsToSupabase,
} from "../../components/Api/Api";

/**
Expand All @@ -36,10 +34,10 @@ const REQUIRED_PROSPECTING_CATEGORIES = [
];

const Onboard = () => {
const navigate = useNavigate();
// const navigate = useNavigate();
const [step, setStep] = useState(1); // Start from step 1
/** @type {[FilterContainer[], Function]} */
const [filters, setFilters] = useState(
const [filters] = useState(
REQUIRED_PROSPECTING_CATEGORIES.map((category) => ({
name: category,
filters: [],
Expand All @@ -55,7 +53,6 @@ const Onboard = () => {

/** @type {[GatheringResponses, React.Dispatch<React.SetStateAction<GatheringResponses>>]} */
const [gatheringResponses, setGatheringResponses] = useState({});
const [isLargeDialog, setIsLargeDialog] = useState(false);
const [isTransitioning, setIsTransitioning] = useState(false);
/** @type {[TableData, Function]} */
const [categoryFormTableData, setCategoryFormTableData] = useState({
Expand Down Expand Up @@ -198,33 +195,33 @@ const Onboard = () => {
}
};

const saveSettings = async () => {
try {
/** @type {Settings} */
let settings = getSettingsFromResponses();

settings = Object.keys(settings).reduce((acc, key) => {
acc[key] =
settings[key] === "Yes"
? true
: settings[key] === "No"
? false
: settings[key];
return acc;
}, /** @type {Settings} */({}));

const result = await saveSettingsToSupabase(settings);

if (!result.success) {
throw new Error(result.message);
}

console.log("Settings saved successfully");
navigate("/app/settings");
} catch (error) {
console.error("Error saving settings:", error);
}
};
// const saveSettings = async () => {
// try {
// /** @type {Settings} */
// let settings = getSettingsFromResponses();

// settings = Object.keys(settings).reduce((acc, key) => {
// acc[key] =
// settings[key] === "Yes"
// ? true
// : settings[key] === "No"
// ? false
// : settings[key];
// return acc;
// }, /** @type {Settings} */({}));

// const result = await saveSettingsToSupabase(settings);

// if (!result.success) {
// throw new Error(result.message);
// }

// console.log("Settings saved successfully");
// navigate("/app/settings");
// } catch (error) {
// console.error("Error saving settings:", error);
// }
// };

/**
* Formats the settings data from the form responses.
Expand Down Expand Up @@ -274,98 +271,22 @@ const Onboard = () => {
* @param {[{label: string, value: string}]} response
* @returns {void}
*/
const handleInfoGatheringComplete = (response) => {
setGatheringResponses(
/**
* @param {{ [key: string]: any }} prev
*/
(prev) => {
const newResponses = { ...prev };
// Handle the case where we have multiple responses
response.forEach((res) => {
newResponses[res.label] = { value: res.value };
});
return newResponses;
}
);
handleNext();
};

/**
* @param {FilterContainer} filterContainer
*/
const handleProspectingFilterChanged = (updatedFilter) => {
setFilters((prev) =>
prev.map((filter) =>
filter.name === updatedFilter.name ? updatedFilter : filter
)
);

setGatheringResponses((prev) => {
const newResponses = { ...prev };
if (!newResponses.criteria) {
newResponses.criteria = { value: [] };
}
const criteriaIndex = newResponses.criteria.value.findIndex(
(criteria) => criteria.name === updatedFilter.name
);
if (criteriaIndex !== -1) {
newResponses.criteria.value[criteriaIndex] = updatedFilter;
} else {
newResponses.criteria.value.push(updatedFilter);
}
return newResponses;
});
};

const handleTaskSelection = async (selectedTaskIds) => {
try {
const selectedTasks = tasks.filter((task) =>
selectedTaskIds.includes(task.id)
);
const response = await generateCriteria(
selectedTasks,
categoryFormTableData.columns
);
return response.data[0];
} catch (error) {
console.error("Error generating criteria:", error);
}
};

const renderStep = () => {
if (step <= ONBOARD_WIZARD_STEPS.length) {
return (
<InfoGatheringStep
key={step}
stepData={ONBOARD_WIZARD_STEPS[step - 1]}
onTableDisplay={handleTableDisplay}
onComplete={handleInfoGatheringComplete}
settings={getSettingsFromResponses()}
/>
);
} else if (step === ONBOARD_WIZARD_STEPS.length + 1) {
return (
<>
<Typography variant="h6" gutterBottom>
Define criteria by which we will recognize an Inbound Call, Outbound
Call, Inbound Email and Outbound Email.
</Typography>
<ProspectingCriteriaSelector
title="Prospecting Activity Criteria"
initialFilterContainers={filters}
filterFields={taskFilterFields.current}
tableData={categoryFormTableData}
onFilterChange={handleProspectingFilterChanged}
onTaskSelection={handleTaskSelection}
onSave={saveSettings}
/>
</>
);
} else {
return <div>Invalid step</div>;
}
};
// const handleInfoGatheringComplete = (response) => {
// setGatheringResponses(
// /**
// * @param {{ [key: string]: any }} prev
// */
// (prev) => {
// const newResponses = { ...prev };
// // Handle the case where we have multiple responses
// response.forEach((res) => {
// newResponses[res.label] = { value: res.value };
// });
// return newResponses;
// }
// );
// handleNext();
// };

const getProgressSteps = () => {
return [
Expand All @@ -375,36 +296,6 @@ const Onboard = () => {
];
};

const isLargeDialogStep = () => {
return isLargeDialog || step > ONBOARD_WIZARD_STEPS.length;
};

const dialogStyle = {
transition: "all 0.3s ease-in-out",
boxShadow: "0 4px 20px rgba(0,0,0,0.1)",
border: "1px solid #e0e0e0",
...(isLargeDialogStep()
? {
maxWidth: "60vw",
width: "60vw",
maxHeight: "90vh",
height: "90vh",
}
: {
maxWidth: "600px", // Adjust as needed for small dialog
width: "100%",
maxHeight: "80vh",
height: "auto",
}),
};

/**
* @param {boolean} isDisplayed
*/
const handleTableDisplay = (isDisplayed) => {
setIsTransitioning(true);
setIsLargeDialog(isDisplayed);
};

return (
<Box sx={{ display: "flex", height: "100vh", width: "100vw" }}>
Expand Down

0 comments on commit a3cd567

Please sign in to comment.