IO-3020 IO-3036 Transition enum to function to render correctly.

This commit is contained in:
Patrick Fic
2024-12-10 13:23:07 -08:00
parent 7fdf109e14
commit d869dbe97b
34 changed files with 40 additions and 38 deletions

View File

@@ -240,7 +240,7 @@ export function BillsListTableComponent({
onChange={handleTableChange}
locale={{
...(!hasBillsAccess && {
emptyText: <UpsellComponent upsell={upsellEnum.bills.general} />
emptyText: <UpsellComponent upsell={upsellEnum().bills.general} />
})
}}
/>

View File

@@ -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>
)}

View File

@@ -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>
)}

View File

@@ -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

View File

@@ -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>
)}

View File

@@ -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>
)
})

View File

@@ -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}

View File

@@ -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>

View File

@@ -139,7 +139,7 @@ export function ScheduleJobModalComponent({
</Button>
))}
{smartOptions.length > 1 && hasSmartSchedulingAccess && (
<UpsellComponent upsell={upsellEnum.smartscheduling.general} />
<UpsellComponent upsell={upsellEnum().smartscheduling.general} />
)}
</Space>
</>

View File

@@ -364,7 +364,7 @@ export function TimeTicketList({
...(!hasTimeTicketsAccess && {
emptyText: (
<Card>
<UpsellComponent upsell={upsellEnum.timetickets.general} />
<UpsellComponent upsell={upsellEnum().timetickets.general} />
</Card>
)
})

View File

@@ -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>
}
}
};
});

View File

@@ -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>
}
>

View File

@@ -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>
}
>

View File

@@ -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>
}
>

View File

@@ -59,7 +59,7 @@ export function BillsPageContainer({ setBreadcrumbs, setSelectedHeader }) {
featureName="bills"
noauth={
<Card>
<UpsellComponent upsell={upsellEnum.bills.general} />
<UpsellComponent upsell={upsellEnum().bills.general} />
</Card>
}
>

View File

@@ -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>
}
>

View File

@@ -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>
}
>

View File

@@ -62,7 +62,7 @@ export function ContractsPageContainer({ setBreadcrumbs, setSelectedHeader }) {
featureName="courtesycars"
noauth={
<Card>
<UpsellComponent upsell={upsellEnum.courtesycars.general} />
<UpsellComponent upsell={upsellEnum().courtesycars.general} />
</Card>
}
>

View File

@@ -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>
}
>

View File

@@ -40,7 +40,7 @@ export function CourtesyCarsPageContainer({ setBreadcrumbs, setSelectedHeader })
featureName="courtesycars"
noauth={
<Card>
<UpsellComponent upsell={upsellEnum.courtesycars.general} />
<UpsellComponent upsell={upsellEnum().courtesycars.general} />
</Card>
}
>

View File

@@ -38,7 +38,7 @@ export function ExportsLogPageContainer({ setBreadcrumbs, setSelectedHeader }) {
featureName="dashboard"
noauth={
<Card>
<UpsellComponent upsell={upsellEnum.dashboard.general} />
<UpsellComponent upsell={upsellEnum().dashboard.general} />
</Card>
}
>

View File

@@ -38,7 +38,7 @@ export function ExportsLogPageContainer({ setBreadcrumbs, setSelectedHeader }) {
featureName="export"
noauth={
<Card>
<UpsellComponent upsell={upsellEnum.accounting.receivables} />
<UpsellComponent upsell={upsellEnum().accounting.receivables} />
</Card>
}
>

View File

@@ -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>
}
>

View File

@@ -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>
}
>

View File

@@ -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

View File

@@ -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>
}
>

View File

@@ -71,7 +71,7 @@ export function ScoreboardContainer({ setBreadcrumbs, setSelectedHeader }) {
featureName="scoreboard"
noauth={
<Card>
<UpsellComponent upsell={upsellEnum.scoreboard.general} />
<UpsellComponent upsell={upsellEnum().scoreboard.general} />
</Card>
}
>

View File

@@ -11,7 +11,7 @@ export default function ShiftClock() {
featureName="timetickets"
noauth={
<Card>
<UpsellComponent upsell={upsellEnum.dashboard.general} />
<UpsellComponent upsell={upsellEnum().dashboard.general} />
</Card>
}
>

View File

@@ -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>
}
>

View File

@@ -87,7 +87,7 @@ export function TechPage({ technician }) {
featureName="techconsole"
noauth={
<Card>
<UpsellComponent upsell={upsellEnum.techconsole.general} />
<UpsellComponent upsell={upsellEnum().techconsole.general} />
</Card>
}
>

View File

@@ -44,7 +44,7 @@ export function TempDocumentsContainer({ setBreadcrumbs, setSelectedHeader }) {
featureName="media"
noauth={
<Card>
<UpsellComponent upsell={upsellEnum.media.general} />
<UpsellComponent upsell={upsellEnum().media.general} />
</Card>
}
>

View File

@@ -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>
}
>

View File

@@ -44,7 +44,7 @@ export function TtApprovalsPage({ setBreadcrumbs, setSelectedHeader }) {
featureName="timetickets"
noauth={
<Card>
<UpsellComponent upsell={upsellEnum.timetickets.general} />
<UpsellComponent upsell={upsellEnum().timetickets.general} />
</Card>
}
>

View File

@@ -18,7 +18,7 @@ i18n
.use(initReactI18next)
.init(
{
ns: ["translation"],
//ns: ["translation"],
resources,
//lng: "en",
detection: {},