diff --git a/src/components/molecules/group-verify-switch/group-verify-switch.component.jsx b/src/components/molecules/group-verify-switch/group-verify-switch.component.jsx
new file mode 100644
index 0000000..130a251
--- /dev/null
+++ b/src/components/molecules/group-verify-switch/group-verify-switch.component.jsx
@@ -0,0 +1,50 @@
+import { CheckOutlined, CloseOutlined } from "@ant-design/icons";
+import { useMutation } from "@apollo/client";
+import { message, Switch } from "antd";
+import React from "react";
+import { connect } from "react-redux";
+import { createStructuredSelector } from "reselect";
+import { UPDATE_JOB } from "../../../graphql/jobs.queries";
+import { toggleGroupVerified } from "../../../redux/reporting/reporting.actions";
+
+const mapStateToProps = createStructuredSelector({});
+
+const mapDispatchToProps = (dispatch) => ({
+ toggleGroupVerified: (jobId) => dispatch(toggleGroupVerified(jobId)),
+});
+
+export default connect(mapStateToProps, mapDispatchToProps)(GroupVerifySwitch);
+
+export function GroupVerifySwitch({
+ job,
+ loading,
+ loadingCallback,
+ toggleGroupVerified,
+}) {
+ const [updateJob] = useMutation(UPDATE_JOB);
+
+ const handleVerifyGroup = async (val) => {
+ if (loadingCallback) loadingCallback(true);
+ const result = await updateJob({
+ variables: { jobId: job.id, job: { group_verified: val } },
+ });
+
+ if (!result.errors) {
+ message.success("Vehicle group updated.");
+ toggleGroupVerified(job.id);
+ } else {
+ message.error("Error updating job.");
+ }
+ if (loadingCallback) loadingCallback(false);
+ };
+
+ return (
+ }
+ unCheckedChildren={}
+ disabled={loading}
+ checked={job.group_verified}
+ onChange={handleVerifyGroup}
+ />
+ );
+}
diff --git a/src/components/molecules/job-group/job-group.molecule.jsx b/src/components/molecules/job-group/job-group.molecule.jsx
index 56313f0..f8a6862 100644
--- a/src/components/molecules/job-group/job-group.molecule.jsx
+++ b/src/components/molecules/job-group/job-group.molecule.jsx
@@ -1,18 +1,13 @@
-import {
- AlertFilled,
- DownOutlined,
- LoadingOutlined,
- CloseOutlined,
- CheckOutlined,
-} from "@ant-design/icons";
+import { AlertFilled, DownOutlined, LoadingOutlined } from "@ant-design/icons";
import { useMutation } from "@apollo/client";
-import { Dropdown, Menu, message, Space, Switch } from "antd";
+import { Dropdown, Menu, message, Space } from "antd";
import React, { useState } from "react";
import { connect } from "react-redux";
import { createStructuredSelector } from "reselect";
import { UPDATE_JOB } from "../../../graphql/jobs.queries";
import ipcTypes from "../../../ipc.types";
import { selectBodyshop } from "../../../redux/user/user.selectors";
+import GroupVerifySwitch from "../group-verify-switch/group-verify-switch.component";
import JobsGroupModalMolecule from "../jobs-group-modal/jobs-group-modal.molecule";
const { ipcRenderer } = window;
@@ -49,20 +44,6 @@ export function JobGroupMolecule({ bodyshop, jobId, group, job }) {
setLoading(false);
};
- const handleVerifyGroup = async (val) => {
- setLoading(true);
- const result = await updateJob({
- variables: { jobId: jobId, job: { group_verified: val } },
- });
-
- if (!result.errors) {
- message.success("Vehicle group updated.");
- } else {
- message.error("Error updating job.");
- }
- setLoading(false);
- };
-
const menu = (