refactor: consolidate 3 identical Redux slices into one seleniumTaskSlice
This commit is contained in:
@@ -20,7 +20,7 @@ import {
|
||||
import { apiRequest, queryClient } from "@/lib/queryClient";
|
||||
import { useToast } from "@/hooks/use-toast";
|
||||
import { useAppDispatch } from "@/redux/hooks";
|
||||
import { setTaskStatus } from "@/redux/slices/seleniumClaimSubmitTaskSlice";
|
||||
import { setTaskStatus } from "@/redux/slices/seleniumTaskSlice";
|
||||
import {
|
||||
Pagination,
|
||||
PaginationContent,
|
||||
@@ -473,6 +473,7 @@ export default function ClaimsRecentTable({
|
||||
try {
|
||||
dispatch(
|
||||
setTaskStatus({
|
||||
key: "claimSubmit",
|
||||
status: "pending",
|
||||
message: "Sending Data to Selenium...",
|
||||
})
|
||||
@@ -499,6 +500,7 @@ export default function ClaimsRecentTable({
|
||||
if (data?.status === "success") {
|
||||
dispatch(
|
||||
setTaskStatus({
|
||||
key: "claimSubmit",
|
||||
status: "success",
|
||||
message: "Claims automation completed. Browser remains open.",
|
||||
})
|
||||
@@ -509,6 +511,7 @@ export default function ClaimsRecentTable({
|
||||
} catch {
|
||||
dispatch(
|
||||
setTaskStatus({
|
||||
key: "claimSubmit",
|
||||
status: "error",
|
||||
message: "Selenium submission failed",
|
||||
})
|
||||
|
||||
@@ -7,7 +7,7 @@ import { CheckCircle, LoaderCircleIcon, X } from "lucide-react";
|
||||
import { useToast } from "@/hooks/use-toast";
|
||||
import { apiRequest, queryClient } from "@/lib/queryClient";
|
||||
import { useAppDispatch } from "@/redux/hooks";
|
||||
import { setTaskStatus } from "@/redux/slices/seleniumEligibilityCheckTaskSlice";
|
||||
import { setTaskStatus } from "@/redux/slices/seleniumTaskSlice";
|
||||
import { formatLocalDate } from "@/utils/dateUtils";
|
||||
import { QK_PATIENTS_BASE } from "@/components/patients/patient-table";
|
||||
|
||||
@@ -178,6 +178,7 @@ export function DdmaEligibilityButton({
|
||||
socket.on("connect_error", (err: any) => {
|
||||
dispatch(
|
||||
setTaskStatus({
|
||||
key: "eligibilityCheck",
|
||||
status: "error",
|
||||
message: "Connection failed",
|
||||
})
|
||||
@@ -195,6 +196,7 @@ export function DdmaEligibilityButton({
|
||||
socket.on("reconnect_attempt", (attempt: number) => {
|
||||
dispatch(
|
||||
setTaskStatus({
|
||||
key: "eligibilityCheck",
|
||||
status: "pending",
|
||||
message: `Realtime reconnect attempt #${attempt}`,
|
||||
})
|
||||
@@ -205,6 +207,7 @@ export function DdmaEligibilityButton({
|
||||
socket.on("reconnect_failed", () => {
|
||||
dispatch(
|
||||
setTaskStatus({
|
||||
key: "eligibilityCheck",
|
||||
status: "error",
|
||||
message: "Reconnect failed",
|
||||
})
|
||||
@@ -223,6 +226,7 @@ export function DdmaEligibilityButton({
|
||||
socket.on("disconnect", (reason: any) => {
|
||||
dispatch(
|
||||
setTaskStatus({
|
||||
key: "eligibilityCheck",
|
||||
status: "error",
|
||||
message: "Connection disconnected",
|
||||
})
|
||||
@@ -245,6 +249,7 @@ export function DdmaEligibilityButton({
|
||||
setOtpModalOpen(true);
|
||||
dispatch(
|
||||
setTaskStatus({
|
||||
key: "eligibilityCheck",
|
||||
status: "pending",
|
||||
message: "OTP required for DDMA eligibility. Please enter the OTP.",
|
||||
})
|
||||
@@ -256,6 +261,7 @@ export function DdmaEligibilityButton({
|
||||
if (!payload?.session_id) return;
|
||||
dispatch(
|
||||
setTaskStatus({
|
||||
key: "eligibilityCheck",
|
||||
status: "pending",
|
||||
message: "OTP submitted. Finishing DDMA eligibility check...",
|
||||
})
|
||||
@@ -270,6 +276,7 @@ export function DdmaEligibilityButton({
|
||||
if (status === "completed") {
|
||||
dispatch(
|
||||
setTaskStatus({
|
||||
key: "eligibilityCheck",
|
||||
status: "success",
|
||||
message:
|
||||
"DDMA eligibility updated and PDF attached to patient documents.",
|
||||
@@ -298,6 +305,7 @@ export function DdmaEligibilityButton({
|
||||
"DDMA eligibility session failed.";
|
||||
dispatch(
|
||||
setTaskStatus({
|
||||
key: "eligibilityCheck",
|
||||
status: "error",
|
||||
message: msg,
|
||||
})
|
||||
@@ -325,6 +333,7 @@ export function DdmaEligibilityButton({
|
||||
|
||||
dispatch(
|
||||
setTaskStatus({
|
||||
key: "eligibilityCheck",
|
||||
status: "error",
|
||||
message: msg,
|
||||
})
|
||||
@@ -396,6 +405,7 @@ export function DdmaEligibilityButton({
|
||||
// 1) Ensure socket is connected (lazy)
|
||||
dispatch(
|
||||
setTaskStatus({
|
||||
key: "eligibilityCheck",
|
||||
status: "pending",
|
||||
message: "Opening realtime channel for DDMA eligibility...",
|
||||
})
|
||||
@@ -412,6 +422,7 @@ export function DdmaEligibilityButton({
|
||||
// 2) Start the selenium job via backend
|
||||
dispatch(
|
||||
setTaskStatus({
|
||||
key: "eligibilityCheck",
|
||||
status: "pending",
|
||||
message: "Starting DDMA eligibility check via selenium...",
|
||||
})
|
||||
@@ -461,6 +472,7 @@ export function DdmaEligibilityButton({
|
||||
setSessionId(result.session_id as string);
|
||||
dispatch(
|
||||
setTaskStatus({
|
||||
key: "eligibilityCheck",
|
||||
status: "pending",
|
||||
message:
|
||||
"DDMA eligibility job started. Waiting for OTP or final result...",
|
||||
@@ -470,6 +482,7 @@ export function DdmaEligibilityButton({
|
||||
// fallback if backend returns immediate result
|
||||
dispatch(
|
||||
setTaskStatus({
|
||||
key: "eligibilityCheck",
|
||||
status: "success",
|
||||
message: "DDMA eligibility completed.",
|
||||
})
|
||||
@@ -479,6 +492,7 @@ export function DdmaEligibilityButton({
|
||||
console.error("startDdmaEligibility error:", err);
|
||||
dispatch(
|
||||
setTaskStatus({
|
||||
key: "eligibilityCheck",
|
||||
status: "error",
|
||||
message: err?.message || "Failed to start DDMA eligibility",
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user