IO-3020 IO-3036 Transition enum to function to render correctly.
This commit is contained in:
@@ -240,7 +240,7 @@ export function BillsListTableComponent({
|
||||
onChange={handleTableChange}
|
||||
locale={{
|
||||
...(!hasBillsAccess && {
|
||||
emptyText: <UpsellComponent upsell={upsellEnum.bills.general} />
|
||||
emptyText: <UpsellComponent upsell={upsellEnum().bills.general} />
|
||||
})
|
||||
}}
|
||||
/>
|
||||
|
||||
@@ -147,7 +147,7 @@ export function JobAuditTrail({ bodyshop, currentUser, jobId }) {
|
||||
{!hasAuditAccess && (
|
||||
<Col span={24}>
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.audit.general} disableMask />
|
||||
<UpsellComponent upsell={upsellEnum().audit.general} disableMask />
|
||||
</Card>
|
||||
</Col>
|
||||
)}
|
||||
|
||||
@@ -336,7 +336,7 @@ export function JobBillsTotalComponent({
|
||||
{!hasBillsAccess && (
|
||||
<Col span={6}>
|
||||
<Card style={{ height: "100%" }}>
|
||||
<UpsellComponent upsell={upsellEnum.bills.autoreconcile} disableMask />
|
||||
<UpsellComponent upsell={upsellEnum().bills.autoreconcile} disableMask />
|
||||
</Card>
|
||||
</Col>
|
||||
)}
|
||||
|
||||
@@ -139,7 +139,7 @@ export function JobLifecycleComponent({ job, statuses, ...rest }) {
|
||||
style={{ width: "100%" }}
|
||||
>
|
||||
<Card type="inner" style={{ marginTop: "10px" }}>
|
||||
<UpsellComponent upsell={upsellEnum.lifecycle.general} />
|
||||
<UpsellComponent upsell={upsellEnum().lifecycle.general} />
|
||||
</Card>
|
||||
<BlurWrapperComponent featureName="lifecycle">
|
||||
<div
|
||||
|
||||
@@ -133,7 +133,7 @@ function JobsDocumentsComponent({
|
||||
{!hasMediaAccess && (
|
||||
<Col span={24}>
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.media.general} />
|
||||
<UpsellComponent upsell={upsellEnum().media.general} />
|
||||
</Card>
|
||||
</Col>
|
||||
)}
|
||||
@@ -152,7 +152,7 @@ function JobsDocumentsComponent({
|
||||
{hasMediaAccess && !hasMobileAccess && (
|
||||
<Col span={24}>
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.media.mobile} />
|
||||
<UpsellComponent upsell={upsellEnum().media.mobile} />
|
||||
</Card>
|
||||
</Col>
|
||||
)}
|
||||
|
||||
@@ -206,7 +206,7 @@ export function LaborAllocationsTable({
|
||||
...(!hasTimeTicketAccess && {
|
||||
emptyText: (
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.timetickets.allocations} />
|
||||
<UpsellComponent upsell={upsellEnum().timetickets.allocations} />
|
||||
</Card>
|
||||
)
|
||||
})
|
||||
@@ -249,7 +249,7 @@ export function LaborAllocationsTable({
|
||||
...(!hasTimeTicketAccess && {
|
||||
emptyText: (
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.timetickets.allocations} />
|
||||
<UpsellComponent upsell={upsellEnum().timetickets.allocations} />
|
||||
</Card>
|
||||
)
|
||||
})
|
||||
|
||||
@@ -48,7 +48,7 @@ export function ScheduleCalendarHeaderGraph({ bodyshop, loadData }) {
|
||||
<strong>{loadData?.expectedJobCount}</strong>
|
||||
</BlurWrapperComponent>
|
||||
</Space>
|
||||
<UpsellMaskWrapper upsell={upsellEnum.smartscheduling.general}>
|
||||
<UpsellMaskWrapper upsell={upsellEnum().smartscheduling.general}>
|
||||
<BlurWrapperComponent featureName="smartscheduling">
|
||||
<RadarChart
|
||||
// cx={300}
|
||||
|
||||
@@ -90,7 +90,7 @@ export function ScheduleCalendarHeaderComponent({
|
||||
</tbody>
|
||||
</table>
|
||||
<Card style={{ maxWidth: "30rem" }}>
|
||||
<UpsellComponent size="small" upsell={upsellEnum.smartscheduling.hrsdelta} />
|
||||
<UpsellComponent size="small" upsell={upsellEnum().smartscheduling.hrsdelta} />
|
||||
</Card>
|
||||
</div>
|
||||
);
|
||||
@@ -130,7 +130,7 @@ export function ScheduleCalendarHeaderComponent({
|
||||
</tr>
|
||||
)}
|
||||
<Card style={{ maxWidth: "30rem" }}>
|
||||
<UpsellComponent size="small" upsell={upsellEnum.smartscheduling.hrsdelta} />
|
||||
<UpsellComponent size="small" upsell={upsellEnum().smartscheduling.hrsdelta} />
|
||||
</Card>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@@ -139,7 +139,7 @@ export function ScheduleJobModalComponent({
|
||||
</Button>
|
||||
))}
|
||||
{smartOptions.length > 1 && hasSmartSchedulingAccess && (
|
||||
<UpsellComponent upsell={upsellEnum.smartscheduling.general} />
|
||||
<UpsellComponent upsell={upsellEnum().smartscheduling.general} />
|
||||
)}
|
||||
</Space>
|
||||
</>
|
||||
|
||||
@@ -364,7 +364,7 @@ export function TimeTicketList({
|
||||
...(!hasTimeTicketsAccess && {
|
||||
emptyText: (
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.timetickets.general} />
|
||||
<UpsellComponent upsell={upsellEnum().timetickets.general} />
|
||||
</Card>
|
||||
)
|
||||
})
|
||||
|
||||
@@ -18,6 +18,8 @@ import "./upsell.styles.scss";
|
||||
export default function UpsellComponent({ featureName, subFeatureName, upsell, disableMask }) {
|
||||
const { t } = useTranslation();
|
||||
const resultProps = upsell || upsellEnum[featureName][subFeatureName];
|
||||
|
||||
console.trace("***LOG ~ file: upsell.component.jsx:22 ~ UpsellComponent ~ resultProps:", resultProps);
|
||||
const componentRef = useRef(null);
|
||||
|
||||
useEffect(() => {
|
||||
@@ -64,7 +66,7 @@ export function UpsellMaskWrapper({ children, upsell, featureName, subFeatureNam
|
||||
);
|
||||
}
|
||||
//This is kept in this function as pulling it out into it's own util/enum prevents passing JSX as an `extra` prop
|
||||
export const upsellEnum = {
|
||||
export const upsellEnum = () => ({
|
||||
bills: {
|
||||
autoreconcile: {
|
||||
//icon: null,
|
||||
@@ -233,4 +235,4 @@ export const upsellEnum = {
|
||||
extra: <Button type="primary">{i18n.t("upsell.cta.learnmore")}</Button>
|
||||
}
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
@@ -63,7 +63,7 @@ export function AccountingPayablesContainer({ bodyshop, setBreadcrumbs, setSelec
|
||||
featureName="export"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.accounting.payables} />
|
||||
<UpsellComponent upsell={upsellEnum().accounting.payables} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -61,7 +61,7 @@ export function AccountingPaymentsContainer({ bodyshop, setBreadcrumbs, setSelec
|
||||
featureName="export"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.accounting.payments} />
|
||||
<UpsellComponent upsell={upsellEnum().accounting.payments} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -66,7 +66,7 @@ export function AccountingReceivablesContainer({ bodyshop, setBreadcrumbs, setSe
|
||||
featureName="export"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.accounting.receivables} />
|
||||
<UpsellComponent upsell={upsellEnum().accounting.receivables} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -59,7 +59,7 @@ export function BillsPageContainer({ setBreadcrumbs, setSelectedHeader }) {
|
||||
featureName="bills"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.bills.general} />
|
||||
<UpsellComponent upsell={upsellEnum().bills.general} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -125,7 +125,7 @@ export function ContractCreatePageContainer({ bodyshop, setBreadcrumbs, setSelec
|
||||
featureName="courtesycars"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.courtesycars.general} />
|
||||
<UpsellComponent upsell={upsellEnum().courtesycars.general} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -113,7 +113,7 @@ export function ContractDetailPageContainer({ setBreadcrumbs, addRecentItem, set
|
||||
featureName="courtesycars"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.courtesycars.general} />
|
||||
<UpsellComponent upsell={upsellEnum().courtesycars.general} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -62,7 +62,7 @@ export function ContractsPageContainer({ setBreadcrumbs, setSelectedHeader }) {
|
||||
featureName="courtesycars"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.courtesycars.general} />
|
||||
<UpsellComponent upsell={upsellEnum().courtesycars.general} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -73,7 +73,7 @@ export function CourtesyCarCreateContainer({ bodyshop, setBreadcrumbs, setSelect
|
||||
featureName="courtesycars"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.courtesycars.general} />
|
||||
<UpsellComponent upsell={upsellEnum().courtesycars.general} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -40,7 +40,7 @@ export function CourtesyCarsPageContainer({ setBreadcrumbs, setSelectedHeader })
|
||||
featureName="courtesycars"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.courtesycars.general} />
|
||||
<UpsellComponent upsell={upsellEnum().courtesycars.general} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -38,7 +38,7 @@ export function ExportsLogPageContainer({ setBreadcrumbs, setSelectedHeader }) {
|
||||
featureName="dashboard"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.dashboard.general} />
|
||||
<UpsellComponent upsell={upsellEnum().dashboard.general} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -38,7 +38,7 @@ export function ExportsLogPageContainer({ setBreadcrumbs, setSelectedHeader }) {
|
||||
featureName="export"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.accounting.receivables} />
|
||||
<UpsellComponent upsell={upsellEnum().accounting.receivables} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -66,7 +66,7 @@ export function JobsDeliverContainer({ bodyshop, setBreadcrumbs, setSelectedHead
|
||||
featureName="checklist"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.checklist.general} />
|
||||
<UpsellComponent upsell={upsellEnum().checklist.general} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -69,7 +69,7 @@ export function JobsIntakeContainer({ bodyshop, setBreadcrumbs, setSelectedHeade
|
||||
featureName="checklist"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.checklist.general} />
|
||||
<UpsellComponent upsell={upsellEnum().checklist.general} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -64,7 +64,7 @@ export function AllJobs({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
|
||||
featureName="payments"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.payments.general} />
|
||||
<UpsellComponent upsell={upsellEnum().payments.general} />
|
||||
</Card>
|
||||
}
|
||||
z
|
||||
|
||||
@@ -44,7 +44,7 @@ export function ProductionBoardContainer({ setBreadcrumbs, bodyshop, setSelected
|
||||
featureName="visualboard"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.visualboard.general} />
|
||||
<UpsellComponent upsell={upsellEnum().visualboard.general} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -71,7 +71,7 @@ export function ScoreboardContainer({ setBreadcrumbs, setSelectedHeader }) {
|
||||
featureName="scoreboard"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.scoreboard.general} />
|
||||
<UpsellComponent upsell={upsellEnum().scoreboard.general} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -11,7 +11,7 @@ export default function ShiftClock() {
|
||||
featureName="timetickets"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.dashboard.general} />
|
||||
<UpsellComponent upsell={upsellEnum().dashboard.general} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -56,7 +56,7 @@ export function ShopCsiContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }
|
||||
featureName="csi"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.csi.general} />
|
||||
<UpsellComponent upsell={upsellEnum().csi.general} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -87,7 +87,7 @@ export function TechPage({ technician }) {
|
||||
featureName="techconsole"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.techconsole.general} />
|
||||
<UpsellComponent upsell={upsellEnum().techconsole.general} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -44,7 +44,7 @@ export function TempDocumentsContainer({ setBreadcrumbs, setSelectedHeader }) {
|
||||
featureName="media"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.media.general} />
|
||||
<UpsellComponent upsell={upsellEnum().media.general} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -78,7 +78,7 @@ export function TimeTicketsContainer({ bodyshop, setBreadcrumbs, setSelectedHead
|
||||
featureName="timetickets"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.timetickets.general} />
|
||||
<UpsellComponent upsell={upsellEnum().timetickets.general} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -44,7 +44,7 @@ export function TtApprovalsPage({ setBreadcrumbs, setSelectedHeader }) {
|
||||
featureName="timetickets"
|
||||
noauth={
|
||||
<Card>
|
||||
<UpsellComponent upsell={upsellEnum.timetickets.general} />
|
||||
<UpsellComponent upsell={upsellEnum().timetickets.general} />
|
||||
</Card>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -18,7 +18,7 @@ i18n
|
||||
.use(initReactI18next)
|
||||
.init(
|
||||
{
|
||||
ns: ["translation"],
|
||||
//ns: ["translation"],
|
||||
resources,
|
||||
//lng: "en",
|
||||
detection: {},
|
||||
|
||||
Reference in New Issue
Block a user