@paro.io/expert-shared-components 1.14.36 → 1.14.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -40,11 +40,12 @@ const ExpertStatusCalculator = (statusData, setLeftSideStatus, setRightSideStatu
|
|
|
40
40
|
setLeftSideStatus('This Expert has been churned from the Network and cannot take on new projects.');
|
|
41
41
|
setRightSideStatus(`! Churned ${formattedDate}, see notes.`);
|
|
42
42
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
43
|
+
// Should not be mark Not available due to inactivity
|
|
44
|
+
// else if (isDespiseExpert(earningsData, expertMetricsData?.getExpertMetrics.lastPitchDate, statusData?.lastLoginDate, applicationStatus)) {
|
|
45
|
+
// setLeftSideStatus('This Expert is inactive and cannot take on new projects until they log in, submit a pitch, or log time.')
|
|
46
|
+
// setRightSideStatus('! Inactive, Expert must log in, submit a pitch, or log time into the Platform to become active or respond to matches')
|
|
47
|
+
// setInfoColor({leftSideStatus: false, rightSideStatus: false, Matching: false, FaF: false, JobBoard: false})
|
|
48
|
+
// }
|
|
48
49
|
// else if (statusData.isInactive) {
|
|
49
50
|
// setLeftSideStatus('This Expert is inactive and cannot take on new projects until they log in.')
|
|
50
51
|
// setRightSideStatus('! Inactive, Expert must log into the Platform to become active.')
|
|
@@ -12,9 +12,9 @@ type HeaderNavBarProps = {
|
|
|
12
12
|
setOpenFirmAvailabilityModal?: (open: boolean) => void;
|
|
13
13
|
isByob?: boolean;
|
|
14
14
|
featureStatus?: Record<string, any>;
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
updateFeatureStatus?: (status: string) => void;
|
|
16
|
+
updatingFeatureStatus?: boolean;
|
|
17
17
|
firmAvailabilityEnabled?: boolean;
|
|
18
18
|
};
|
|
19
|
-
export declare const HeaderNavBar: ({ setOpenDocumentModal, setOpenServiceLinesTemplate, setOpenExpertWallet, isWalletTester, isClientPortal, setFaqModal, setOpenOrganizationModal, isAIGPEnabled, setOpenImportClients, setOpenFirmAvailabilityModal, isByob, featureStatus,
|
|
19
|
+
export declare const HeaderNavBar: ({ setOpenDocumentModal, setOpenServiceLinesTemplate, setOpenExpertWallet, isWalletTester, isClientPortal, setFaqModal, setOpenOrganizationModal, isAIGPEnabled, setOpenImportClients, setOpenFirmAvailabilityModal, isByob, featureStatus, updateFeatureStatus, updatingFeatureStatus, firmAvailabilityEnabled, }: HeaderNavBarProps) => React.JSX.Element;
|
|
20
20
|
export {};
|
|
@@ -29,7 +29,6 @@ const base_icons_1 = require("@paro.io/base-icons");
|
|
|
29
29
|
const base_ui_1 = require("@paro.io/base-ui");
|
|
30
30
|
const icons_1 = require("@material-ui/icons");
|
|
31
31
|
const core_1 = require("@material-ui/core");
|
|
32
|
-
const ReviewsTab_1 = require("../ReviewsTab/ReviewsTab");
|
|
33
32
|
const react_hot_toast_1 = require("react-hot-toast");
|
|
34
33
|
const CustomSwitch = (0, core_1.styled)(core_1.Switch)(({ theme }) => ({
|
|
35
34
|
width: 44,
|
|
@@ -68,54 +67,24 @@ const CustomSwitch = (0, core_1.styled)(core_1.Switch)(({ theme }) => ({
|
|
|
68
67
|
backgroundColor: '#FFFFFF',
|
|
69
68
|
},
|
|
70
69
|
}));
|
|
71
|
-
const HeaderNavBar = ({ setOpenDocumentModal, setOpenServiceLinesTemplate, setOpenExpertWallet, isWalletTester = false, isClientPortal = false, setFaqModal, setOpenOrganizationModal, isAIGPEnabled = false, setOpenImportClients, setOpenFirmAvailabilityModal, isByob = false, featureStatus = {},
|
|
70
|
+
const HeaderNavBar = ({ setOpenDocumentModal, setOpenServiceLinesTemplate, setOpenExpertWallet, isWalletTester = false, isClientPortal = false, setFaqModal, setOpenOrganizationModal, isAIGPEnabled = false, setOpenImportClients, setOpenFirmAvailabilityModal, isByob = false, featureStatus = {}, updateFeatureStatus, updatingFeatureStatus = false, firmAvailabilityEnabled = false, }) => {
|
|
72
71
|
const [value, setValue] = (0, react_1.useState)('');
|
|
73
|
-
const [updating, setUpdtaing] = (0, react_1.useState)(false);
|
|
74
72
|
(0, react_1.useEffect)(() => {
|
|
75
73
|
if (featureStatus.hasOwnProperty('byobDashboardView')) {
|
|
76
74
|
featureStatus.hasOwnProperty('byobDashboardView') && featureStatus.byobDashboardView === 'aigp' ? setValue('aigp') : setValue('marketPlace');
|
|
77
75
|
}
|
|
78
76
|
}, [featureStatus]);
|
|
79
|
-
const updateFeatureStatus = (status) => {
|
|
80
|
-
const updateFeatureStatus = Object.assign(Object.assign({}, featureStatus), { byobDashboardView: status });
|
|
81
|
-
setUpdtaing(true);
|
|
82
|
-
updateExpert && updateExpert({
|
|
83
|
-
variables: {
|
|
84
|
-
expertId: expertId,
|
|
85
|
-
input: {
|
|
86
|
-
featureStatus: updateFeatureStatus
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
}).then(() => {
|
|
90
|
-
(0, ReviewsTab_1.toastNotification)({
|
|
91
|
-
position: 'top-center',
|
|
92
|
-
color: 'success',
|
|
93
|
-
message: 'Updated successfully!',
|
|
94
|
-
icon: 'success',
|
|
95
|
-
});
|
|
96
|
-
setValue(status);
|
|
97
|
-
}).catch(() => {
|
|
98
|
-
(0, ReviewsTab_1.toastNotification)({
|
|
99
|
-
position: 'top-center',
|
|
100
|
-
color: 'warning',
|
|
101
|
-
message: 'Update failed!',
|
|
102
|
-
icon: 'warning'
|
|
103
|
-
});
|
|
104
|
-
}).finally(() => {
|
|
105
|
-
setUpdtaing(false);
|
|
106
|
-
});
|
|
107
|
-
};
|
|
108
77
|
return (react_1.default.createElement("div", { className: "flex w-full bg-white p-2 shadow-sm justify-start" },
|
|
109
78
|
react_1.default.createElement("div", { style: { display: 'flex', justifyContent: 'flex-end', gap: '8px' } },
|
|
110
79
|
!isClientPortal && react_1.default.createElement(react_1.default.Fragment, null, localStorage.getItem('isByob') === 'true' && featureStatus.hasOwnProperty('byobDashboardView') || isByob && featureStatus.hasOwnProperty('byobDashboardView')
|
|
111
80
|
?
|
|
112
81
|
react_1.default.createElement("div", { className: "flex flex-row justify-start items-center space-x-2" },
|
|
113
82
|
react_1.default.createElement("p", { className: `text-sm ${value === "marketPlace" && "font-bold text-success"}` }, "Market Place"),
|
|
114
|
-
|
|
83
|
+
updatingFeatureStatus
|
|
115
84
|
?
|
|
116
85
|
react_1.default.createElement(core_1.CircularProgress, { size: 18 })
|
|
117
86
|
:
|
|
118
|
-
react_1.default.createElement(CustomSwitch, { checked: value === "aigp", onChange: (e) => { updateFeatureStatus(e.target.checked ? 'aigp' : 'marketPlace'); } }),
|
|
87
|
+
react_1.default.createElement(CustomSwitch, { checked: value === "aigp", onChange: (e) => { updateFeatureStatus && updateFeatureStatus(e.target.checked ? 'aigp' : 'marketPlace'); } }),
|
|
119
88
|
react_1.default.createElement("p", { className: `text-sm ${value === 'aigp' && "font-bold text-success"}` }, "AI Growth Platform"))
|
|
120
89
|
: react_1.default.createElement(base_ui_1.Button, { onClick: () => { setOpenImportClients && setOpenImportClients(true); }, label: "AI Growth Platform", iconLeft: react_1.default.createElement(icons_1.Android, { fontSize: "medium", className: "text-black" }), size: "sm", id: "aigp_button", color: "primary", iconRight: react_1.default.createElement(base_ui_1.Tag, { color: "danger", label: "New!", variant: "subtle" }) })),
|
|
121
90
|
!isClientPortal && (react_1.default.createElement(base_ui_1.Button, { id: "reactour__inviteToFirmButton", onClick: () => { setOpenOrganizationModal && setOpenOrganizationModal(true); }, label: "Manage Firm", iconLeft: react_1.default.createElement(icons_1.GroupAdd, { fontSize: "medium", className: "text-black" }), size: "sm" })),
|