IO-3246 Remote Assist

Signed-off-by: Allan Carr <allan@imexsystems.ca>
This commit is contained in:
Allan Carr
2025-05-23 16:45:24 -07:00
parent 8c1758ae49
commit 99cf95daf0
4 changed files with 41 additions and 16 deletions

View File

@@ -15,6 +15,7 @@ import {
HomeFilled, HomeFilled,
ImportOutlined, ImportOutlined,
LineChartOutlined, LineChartOutlined,
OneToOneOutlined,
PaperClipOutlined, PaperClipOutlined,
PhoneOutlined, PhoneOutlined,
PlusCircleOutlined, PlusCircleOutlined,
@@ -24,6 +25,7 @@ import {
TeamOutlined, TeamOutlined,
ToolFilled, ToolFilled,
UnorderedListOutlined, UnorderedListOutlined,
UsergroupAddOutlined,
UserOutlined UserOutlined
} from "@ant-design/icons"; } from "@ant-design/icons";
import { useQuery } from "@apollo/client"; import { useQuery } from "@apollo/client";
@@ -40,6 +42,7 @@ import { RiSurveyLine } from "react-icons/ri";
import { connect } from "react-redux"; import { connect } from "react-redux";
import { Link } from "react-router-dom"; import { Link } from "react-router-dom";
import { createStructuredSelector } from "reselect"; import { createStructuredSelector } from "reselect";
import { useSocket } from "../../contexts/SocketIO/useSocket.js";
import { GET_UNREAD_COUNT } from "../../graphql/notifications.queries.js"; import { GET_UNREAD_COUNT } from "../../graphql/notifications.queries.js";
import { selectRecentItems, selectSelectedHeader } from "../../redux/application/application.selectors"; import { selectRecentItems, selectSelectedHeader } from "../../redux/application/application.selectors";
import { setModalContext } from "../../redux/modals/modals.actions"; import { setModalContext } from "../../redux/modals/modals.actions";
@@ -47,11 +50,10 @@ import { signOutStart } from "../../redux/user/user.actions";
import { selectBodyshop, selectCurrentUser } from "../../redux/user/user.selectors"; import { selectBodyshop, selectCurrentUser } from "../../redux/user/user.selectors";
import day from "../../utils/day.js"; import day from "../../utils/day.js";
import InstanceRenderManager from "../../utils/instanceRenderMgr"; import InstanceRenderManager from "../../utils/instanceRenderMgr";
import { useIsEmployee } from "../../utils/useIsEmployee.js";
import { HasFeatureAccess } from "../feature-wrapper/feature-wrapper.component"; import { HasFeatureAccess } from "../feature-wrapper/feature-wrapper.component";
import LockWrapper from "../lock-wrapper/lock-wrapper.component"; import LockWrapper from "../lock-wrapper/lock-wrapper.component";
import NotificationCenterContainer from "../notification-center/notification-center.container.jsx"; import NotificationCenterContainer from "../notification-center/notification-center.container.jsx";
import { useSocket } from "../../contexts/SocketIO/useSocket.js";
import { useIsEmployee } from "../../utils/useIsEmployee.js";
// Redux mappings // Redux mappings
const mapStateToProps = createStructuredSelector({ const mapStateToProps = createStructuredSelector({
@@ -642,17 +644,32 @@ function Header({
label: t("menus.header.help"), label: t("menus.header.help"),
onClick: () => window.open("https://help.imex.online/", "_blank") onClick: () => window.open("https://help.imex.online/", "_blank")
}, },
...(InstanceRenderManager({ imex: true, rome: false }) {
? [ key: "remoteassist",
{ id: "header-remote-assist",
key: "rescue", icon: <OneToOneOutlined />,
id: "header-rescue", label: t("menus.header.remoteassist"),
icon: <CarFilled />, children: [
label: t("menus.header.rescueme"), ...(InstanceRenderManager({ imex: true, rome: true })
onClick: () => window.open("https://imexrescue.com/", "_blank") ? [
} {
] key: "rescue",
: []), id: "header-rescue",
icon: <PlusCircleOutlined />,
label: t("menus.header.rescueme"),
onClick: () => window.open("https://imexrescue.com/", "_blank")
}
]
: []),
{
key: "rescue",
id: "header-rescue-zoho",
icon: <UsergroupAddOutlined />,
label: t("menus.header.rescuemezoho"),
onClick: () => window.open("https://join.zoho.com/", "_blank")
}
]
},
{ {
key: "shiftclock", key: "shiftclock",
id: "header-shiftclock", id: "header-shiftclock",

View File

@@ -2302,8 +2302,10 @@
"productionlist": "Production Board - List", "productionlist": "Production Board - List",
"readyjobs": "Ready Jobs", "readyjobs": "Ready Jobs",
"recent": "Recent Items", "recent": "Recent Items",
"remoteassist": "Remote Assist",
"reportcenter": "Report Center", "reportcenter": "Report Center",
"rescueme": "Rescue me!", "rescueme": "Rescue Me!",
"rescuemezoho": "Remote Me In!",
"schedule": "Schedule", "schedule": "Schedule",
"scoreboard": "Scoreboard", "scoreboard": "Scoreboard",
"search": { "search": {

View File

@@ -2301,8 +2301,10 @@
"productionlist": "", "productionlist": "",
"readyjobs": "", "readyjobs": "",
"recent": "", "recent": "",
"remoteassist": "",
"reportcenter": "", "reportcenter": "",
"rescueme": "", "rescueme": "",
"rescuemezoho": "",
"schedule": "Programar", "schedule": "Programar",
"scoreboard": "", "scoreboard": "",
"search": { "search": {
@@ -2498,7 +2500,8 @@
}, },
"tooltips": { "tooltips": {
"job-watchers": "", "job-watchers": "",
"not-employee": "" "not-employee": "",
"not-employee-notifications": ""
} }
}, },
"owner": { "owner": {

View File

@@ -2301,8 +2301,10 @@
"productionlist": "", "productionlist": "",
"readyjobs": "", "readyjobs": "",
"recent": "", "recent": "",
"remoteassist": "",
"reportcenter": "", "reportcenter": "",
"rescueme": "", "rescueme": "",
"rescuemezoho": "",
"schedule": "Programme", "schedule": "Programme",
"scoreboard": "", "scoreboard": "",
"search": { "search": {
@@ -2498,7 +2500,8 @@
}, },
"tooltips": { "tooltips": {
"job-watchers": "", "job-watchers": "",
"not-employee": "" "not-employee": "",
"not-employee-notifications": ""
} }
}, },
"owner": { "owner": {