Skip to content

Commit 05d89f6

Browse files
fix code formating and using proper variable name
1 parent 8de8b8c commit 05d89f6

File tree

1 file changed

+33
-53
lines changed

1 file changed

+33
-53
lines changed

src/pages/sidepanel/JarvisScreen.tsx

+33-53
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,15 @@ const JarvisScreen = () => {
1313
const meetingIdRef = useRef<number | null>(null);
1414
const [repText, setRepText] = useState<string>("");
1515
const timerRef = useRef<NodeJS.Timeout | null>(null);
16-
const [endMeetingResponseType, setEndMeetingResponseType] =
17-
useState<string>();
16+
const [endMeetingAction, setEndMeetingAction] = useState<string>();
1817
const [asanaTask, setAsanaTask] = useState<string[]>();
1918
const [slackSummary, setSummarySlack] = useState<string>();
20-
const [apiCallingStart, setAPICallingStart] = useState<boolean>(false);
21-
const [selectedTasks, setSelectedTasks] = useState<string[]>([]);
19+
const [isEndMettingAPICall, setIsEndMeetingAPICall] =
20+
useState<boolean>(false);
21+
const [asanaCreateAPICalling, setAsanaCreateAPICalling] =
22+
useState<boolean>(false);
23+
const [slackTaskCreateAPICalling, setSlackTaskCreateAPICalling] =
24+
useState<boolean>(false);
2225
const [loading, setLoading] = useState<boolean>(false);
2326

2427
useEffect(() => {
@@ -29,7 +32,9 @@ const JarvisScreen = () => {
2932
case "REP_TRANSCRIPT":
3033
{
3134
const { message_text } = request.message.data;
32-
setRepText((m) => m + message_text);
35+
if (!isEndMettingAPICall || !asanaCreateAPICalling) {
36+
setRepText((m) => m + message_text);
37+
}
3338
const message: Message = {
3439
speaker_type: SpeakerType.REP,
3540
message_text,
@@ -43,38 +48,38 @@ const JarvisScreen = () => {
4348
}, []);
4449

4550
useEffect(() => {
46-
// Start or reset the timer when repText changes
4751
if (repText.length) {
48-
if (timerRef.current) clearTimeout(timerRef.current); // Reset the timer if already set
52+
if (timerRef.current) clearTimeout(timerRef.current);
4953
timerRef.current = setTimeout(() => {
50-
// Call the API after 4 seconds if repText hasn't changed
51-
setAPICallingStart(true);
52-
console.log("API call after 4 seconds");
54+
if (!endMeetingAction) {
55+
setIsEndMeetingAPICall(true);
56+
} else if (endMeetingAction === "create_asana_tasks") {
57+
setAsanaCreateAPICalling(true);
58+
} else if (endMeetingAction === "send_summary_to_slack") {
59+
setSlackTaskCreateAPICalling(true);
60+
}
5361
}, 4000);
5462
}
5563
}, [repText]);
5664

5765
useEffect(() => {
58-
if (apiCallingStart && !endMeetingResponseType) {
66+
if (isEndMettingAPICall && !endMeetingAction) {
5967
handleRecordingStart().then(() => {
60-
sendTranscriptToBackend(meetingIdRef.current);
68+
sendEndMeetingTranscript(meetingIdRef.current);
6169
});
62-
} else if (
63-
apiCallingStart &&
64-
endMeetingResponseType === "create_asana_tasks"
65-
) {
70+
} else if (isEndMettingAPICall && asanaCreateAPICalling) {
6671
handleCreateAsanaTask().then(() => {
6772
console.log("asana task created successfully");
6873
});
6974
}
70-
}, [apiCallingStart, endMeetingResponseType]);
75+
}, [isEndMettingAPICall, asanaCreateAPICalling]);
7176

7277
async function handleRecordingStart() {
7378
const { id } = await addAndGetMeetingInfo();
7479
meetingIdRef.current = id;
7580
}
7681

77-
async function sendTranscriptToBackend(meeting_id: number) {
82+
async function sendEndMeetingTranscript(meeting_id: number) {
7883
try {
7984
if (!meeting_id) throw new Error("meetingId required");
8085

@@ -99,10 +104,10 @@ const JarvisScreen = () => {
99104
const { data, type } = response.data;
100105

101106
if (type === "create_asana_tasks" && data) {
102-
setEndMeetingResponseType(type);
107+
setEndMeetingAction(type);
103108
setAsanaTask(data);
104109
} else if (type === "send_summary_to_slack") {
105-
setEndMeetingResponseType(type);
110+
setEndMeetingAction(type);
106111
setSummarySlack(data);
107112
}
108113
} catch (error) {
@@ -113,14 +118,6 @@ const JarvisScreen = () => {
113118
}
114119
}
115120

116-
const handleCheckboxChange = (task: string) => {
117-
setSelectedTasks((prevSelectedTasks) =>
118-
prevSelectedTasks.includes(task)
119-
? prevSelectedTasks.filter((t) => t !== task)
120-
: [...prevSelectedTasks, task]
121-
);
122-
};
123-
124121
const handleCreateAsanaTask = async () => {
125122
try {
126123
if (!meetingIdRef.current) throw new Error("meetingId required");
@@ -153,7 +150,7 @@ const JarvisScreen = () => {
153150
} catch (error) {
154151
toast.error("Failed");
155152
console.error("Error Failed Create Asana API", error);
156-
}
153+
}
157154
};
158155

159156
const handleSendSlackSummary = async () => {
@@ -167,7 +164,6 @@ const JarvisScreen = () => {
167164
}
168165
const postData = {
169166
meetingId: meetingIdRef.current,
170-
transcription: selectedTasks,
171167
};
172168

173169
// Make the POST request using Axios
@@ -206,40 +202,24 @@ const JarvisScreen = () => {
206202
</h2>
207203
{!!repText.length && <span className="text-lg">{repText}</span>}
208204
<div className="flex flex-col gap-1 ml-2 mt-2">
209-
{endMeetingResponseType === "create_asana_tasks" &&
205+
{endMeetingAction === "create_asana_tasks" &&
210206
asanaTask &&
211207
asanaTask.map((task, index) => (
212208
<div className="flex gap-2 p-1" key={index}>
213-
{/* <input
214-
type="checkbox"
215-
value={task}
216-
checked={selectedTasks.includes(task)}
217-
onChange={() => handleCheckboxChange(task)}
218-
className="text-black rounded"
219-
/> */}
220209
<span>{index + 1}</span>
221210
<p className="text-sm text-start font-medium text-gray-900">
222211
{task}
223212
</p>
224213
</div>
225214
))}
226-
{/* {endMeetingResponseType === "create_asana_tasks" && (
227-
<button
228-
onClick={handleCreateAsanaTask}
229-
className="m-2 px-2 py-2 flex justify-center bg-blue-600 text-white rounded hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2"
230-
>
231-
{loading ? <Loader /> : "Create Asana Task"}
232-
</button>
233-
)} */}
234215
</div>
235216
<div className="flex flex-col gap-1 ml-2 mt-2">
236-
{endMeetingResponseType === "send_summary_to_slack" &&
237-
slackSummary && (
238-
<p className="text-sm text-start font-medium text-gray-900">
239-
{slackSummary}
240-
</p>
241-
)}
242-
{endMeetingResponseType === "send_summary_to_slack" && (
217+
{endMeetingAction === "send_summary_to_slack" && slackSummary && (
218+
<p className="text-sm text-start font-medium text-gray-900">
219+
{slackSummary}
220+
</p>
221+
)}
222+
{endMeetingAction === "send_summary_to_slack" && (
243223
<button
244224
onClick={handleSendSlackSummary}
245225
className="m-2 px-2 py-2 flex justify-center bg-blue-600 text-white rounded hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2"

0 commit comments

Comments
 (0)