Rome whitelabelling.

This commit is contained in:
Patrick Fic
2023-01-24 14:11:53 -08:00
parent 39b9cfb348
commit d8cc25a54f
19 changed files with 46 additions and 51 deletions

View File

@@ -11,7 +11,7 @@ module.exports = {
authToken:
"6b45b028a02342db97a9a2f92c0959058665443d379d4a3a876430009e744260",
org: "snapt-software",
project: "imexonline",
project: "rome-online",
release: process.env.REACT_APP_GIT_SHA,
// webpack-specific configuration

View File

@@ -2,10 +2,10 @@
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.png" />
<link rel="icon" href="%PUBLIC_URL%/ro-favicon.png" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#002366" />
<meta name="description" content="ImEX Online" />
<meta name="description" content="Rome Online" />
<!-- <link rel="apple-touch-icon" href="logo192.png" /> -->
<link rel="apple-touch-icon" href="logo192.png" />
<script type="text/javascript">
@@ -77,7 +77,7 @@
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<title>ImEX Online</title>
<title>Rome Online</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>

View File

@@ -1,6 +1,6 @@
{
"short_name": "ImEX Online",
"name": "ImEX Online",
"short_name": "Rome Online",
"name": "Rome Online",
"description": "The ultimate bodyshop management system.",
"icons": [
{

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -27,6 +27,12 @@ export default function AppContainer() {
//componentSize="small"
input={{ autoComplete: "new-password" }}
locale={enLocale}
theme={{
token: {
colorPrimary: "#326ade",
colorInfo: "#326ade"
},
}}
form={{
validateMessages: {
// eslint-disable-next-line no-template-curly-in-string

View File

@@ -78,7 +78,6 @@ export function App({
client.setAttribute("imexshopid", bodyshop.imexshopid);
if (client.getTreatment("LogRocket_Tracking") === "on") {
console.log("LR Start");
LogRocket.init("gvfvfw/bodyshopapp");
}
}
@@ -109,7 +108,7 @@ export function App({
return (
<Switch>
<Suspense fallback={<LoadingSpinner message="ImEX Online" />}>
<Suspense fallback={<LoadingSpinner />}>
<ErrorBoundary>
<Route exact path="/" component={LandingPage} />
</ErrorBoundary>

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

View File

@@ -493,13 +493,6 @@ function Header({
},
label: t("menus.header.help"),
},
{
key: "rescue",
onClick: () => {
window.open("https://imexrescue.com/", "_blank");
},
label: t("menus.header.rescueme"),
},
{
key: "shiftclock",
label: (

View File

@@ -1,6 +1,5 @@
import { Alert, Table } from "antd";
import { Table } from "antd";
import Dinero from "dinero.js";
import { object } from "prop-types";
import React, { useMemo, useState } from "react";
import { useTranslation } from "react-i18next";
import { alphaSort } from "../../utils/sorters";
@@ -26,7 +25,7 @@ export default function JobTotalsTableParts({ job }) {
});
return adjs;
}, [job.job_totals.parts.adjustments]);
}, [job.job_totals]);
const data = useMemo(() => {
return Object.keys(job.job_totals.parts.parts.list)

View File

@@ -409,7 +409,7 @@ async function CheckTaxRates(estData, bodyshop) {
estData.parts_tax_rates?.PAL?.prt_tax_rt === 0
) {
const res = await confirmDialog(
`ImEX Online has detected that there is a missing tax rate for LKQ parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.`
`Rome Online has detected that there is a missing tax rate for LKQ parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.`
);
if (res) {
if (!estData.parts_tax_rates.PAL) {
@@ -432,7 +432,7 @@ async function CheckTaxRates(estData, bodyshop) {
estData.parts_tax_rates?.PAC?.prt_tax_rt === 0
) {
const res = await confirmDialog(
`ImEX Online has detected that there is a missing tax rate for rechromed parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.`
`Rome Online has detected that there is a missing tax rate for rechromed parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.`
);
if (res) {
if (!estData.parts_tax_rates.PAC) {
@@ -455,7 +455,7 @@ async function CheckTaxRates(estData, bodyshop) {
estData.parts_tax_rates?.PAM?.prt_tax_rt === 0
) {
const res = await confirmDialog(
`ImEX Online has detected that there is a missing tax rate for remanufactured parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.`
`Rome Online has detected that there is a missing tax rate for remanufactured parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.`
);
if (res) {
if (!estData.parts_tax_rates.PAM) {
@@ -478,7 +478,7 @@ async function CheckTaxRates(estData, bodyshop) {
estData.parts_tax_rates?.PAR?.prt_tax_rt === 0
) {
const res = await confirmDialog(
`ImEX Online has detected that there is a missing tax rate for recored parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.`
`Rome Online has detected that there is a missing tax rate for recored parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.`
);
if (res) {
if (!estData.parts_tax_rates.PAR) {

View File

@@ -6,7 +6,7 @@ import { useTranslation } from "react-i18next";
import { connect } from "react-redux";
import { Link, Redirect, useLocation } from "react-router-dom";
import { createStructuredSelector } from "reselect";
import ImEXOnlineLogo from "../../assets/logo192.png";
import RomeLogo from "../../assets/romelogo.png";
import {
emailSignInStart,
sendPasswordReset,
@@ -53,7 +53,7 @@ export function SignInComponent({
return (
<div className="login-container">
<div className="login-logo-container">
<img src={ImEXOnlineLogo} height="100" width="100" alt="ImEX Online" />
<img src={RomeLogo} width={200} alt="Rome Online" />
<Typography.Title>{t("titles.app")}</Typography.Title>
</div>
<Form onFinish={handleFinish} form={form} size="large">

View File

@@ -20,7 +20,7 @@ Dinero.globalRoundingMode = "HALF_EVEN";
if (process.env.NODE_ENV !== "development") {
Sentry.init({
dsn: "https://fd7e89369b6b4bdc9c6c4c9f22fa4ee4@o492140.ingest.sentry.io/5651027",
dsn: "https://a6acc91c073e414196014b8484627a61@o492140.ingest.sentry.io/4504561071161344",
ignoreErrors: [
"ResizeObserver loop",
"Module specifier, 'fs' does not start",

View File

@@ -171,7 +171,7 @@ export function CsiContainerPage({ currentUser }) {
)}
<Layout.Footer>
{`Copyright ImEX.Online. Survey ID: ${surveyId}`}
{`Survey ID: ${surveyId}`}
</Layout.Footer>
</Layout>
);

View File

@@ -8,8 +8,8 @@ export default function AboutPage() {
level={2}
>{`ImEX Online V.${process.env.NODE_ENV}-${process.env.REACT_APP_GIT_SHA}`}</Typography.Title>
<Typography.Title level={4}>
&copy; 2019 - {new Date().getFullYear()} Snapt Software Inc. used under
license to ImEX Systems Inc.
&copy; 2019 - {new Date().getFullYear()} ImEX Systems Inc. used under
license to Rome Technologies Inc.
</Typography.Title>
<Typography.Title level={2}>Third Party Notices</Typography.Title>
<a href="/3rdparty-app.txt">

View File

@@ -21,7 +21,7 @@ import TestComponent from "../../components/_test/test.component";
import { requestForToken } from "../../firebase/firebase.utils";
import {
selectBodyshop,
selectInstanceConflict
selectInstanceConflict,
} from "../../redux/user/user.selectors";
import "./manage.page.styles.scss";
@@ -193,9 +193,8 @@ export function Manage({ match, conflict, bodyshop }) {
<Suspense
fallback={<LoadingSpinner message={t("general.labels.loadingapp")} />}
>
<PaymentModalContainer />
<PaymentModalContainer />
<BreadCrumbs />
<BillEnterModalContainer />
<JobCostingModal />
@@ -403,7 +402,6 @@ export function Manage({ match, conflict, bodyshop }) {
{PageContent}
</Sentry.ErrorBoundary>
<Footer>
<div
style={{
@@ -416,7 +414,7 @@ export function Manage({ match, conflict, bodyshop }) {
>
<div style={{ display: "flex" }}>
<div>
{`ImEX Online ${
{`${t("titles.app")} ${
process.env.REACT_APP_GIT_SHA
} - ${preval`module.exports = new Date().toLocaleString("en-US", {timeZone: "America/Los_Angeles"});`}`}
</div>

View File

@@ -158,7 +158,7 @@
"deleting": "Error deleting bill. {{error}}",
"existinginventoryline": "This bill cannot be deleted as it is tied to items in inventory.",
"exporting": "Error exporting payable(s). {{error}}",
"exporting-partner": "Unable to connect to ImEX Partner. Please ensure it is running and logged in.",
"exporting-partner": "Unable to connect to Rome Partner. Please ensure it is running and logged in.",
"invalidro": "Not a valid RO.",
"invalidvendor": "Not a valid vendor.",
"validation": "Please ensure all fields are entered correctly. "
@@ -787,8 +787,8 @@
"created_at": "Created At"
},
"labels": {
"nologgedinuser": "Please log out of ImEX Online",
"nologgedinuser_sub": "Users of ImEX Online cannot complete CSI surveys while logged in. Please log out and try again.",
"nologgedinuser": "Please log out of $t(titles.app)",
"nologgedinuser_sub": "Users of $t(titles.app) cannot complete CSI surveys while logged in. Please log out and try again.",
"noneselected": "No response selected.",
"title": "Customer Satisfaction Survey"
},
@@ -1067,14 +1067,14 @@
},
"messages": {
"exception": "$t(titles.app) has encountered an error. Please try again. If the problem persists, please submit a support ticket or contact us.",
"newversionmessage": "Click refresh below to update to the latest available version of ImEX Online. Please make sure all other tabs and windows are closed.",
"newversiontitle": "New version of ImEX Online Available",
"newversionmessage": "Click refresh below to update to the latest available version of $t(titles.app). Please make sure all other tabs and windows are closed.",
"newversiontitle": "New version of $t(titles.app) Available",
"noacctfilepath": "There is no accounting file path set. You will not be able to export any items.",
"nofeatureaccess": "You do not have access to this feature of ImEX Online. Please contact support to request a license for this feature.",
"nofeatureaccess": "You do not have access to this feature of $t(titles.app). Please contact support to request a license for this feature.",
"noshop": "You do not have access to any shops. Please reach out to your shop manager or technical support. ",
"notfoundsub": "Please make sure that you have access to the data or that the link is correct.",
"notfoundtitle": "We couldn't find what you're looking for...",
"partnernotrunning": "ImEX Online has detected that the partner is not running. Please ensure it is running to enable full functionality.",
"partnernotrunning": "$t(titles.app) has detected that the partner is not running. Please ensure it is running to enable full functionality.",
"rbacunauth": "You are not authorized to view this content. Please reach out to your shop manager to change your access level.",
"unsavedchanges": "You have unsaved changes.",
"unsavedchangespopup": "You have unsaved changes. Are you sure you want to leave?"
@@ -1082,7 +1082,7 @@
"validation": {
"invalidemail": "Please enter a valid email.",
"invalidphone": "Please enter a valid phone number.",
"required": "{{label}} is required. "
"required": "{{label}} is required."
}
},
"help": {
@@ -1091,7 +1091,7 @@
},
"labels": {
"codeplacholder": "6 digit PIN code",
"rescuedesc": "Enter the 6 digit code provided by ImEX Online Support below and click connect.",
"rescuedesc": "Enter the 6 digit code provided by $t(titles.app) Support below and click connect.",
"rescuetitle": "Rescue Me!"
}
},
@@ -1284,7 +1284,7 @@
"creating": "Error encountered while creating job. {{error}}",
"deleted": "Error deleting job. {{error}}",
"exporting": "Error exporting job. {{error}}",
"exporting-partner": "Unable to connect to ImEX Partner. Please ensure it is running and logged in.",
"exporting-partner": "Unable to connect to Rome Partner. Please ensure it is running and logged in.",
"invoicing": "Error invoicing job. {{error}}",
"noaccess": "This job does not exist or you do not have access to it.",
"nodamage": "No damage points on estimate.",
@@ -1766,7 +1766,7 @@
},
"landing": {
"bigfeature": {
"subtitle": "ImEX Online is built using world class technology by experts in the collision repair industry. This translates to software that is tailor made for the unique challenges faced by repair facilities with no compromises. ",
"subtitle": "Rome Online is built using world class technology by experts in the collision repair industry. This translates to software that is tailor made for the unique challenges faced by repair facilities with no compromises. ",
"title": "Bringing the latest technology to the automotive repair industry. "
},
"footer": {
@@ -1779,10 +1779,10 @@
},
"io": {
"help": "Help",
"name": "ImEX Online",
"name": "Rome Online",
"status": "System Status"
},
"slogan": "ImEX Systems Inc. is a technology leader in the collision repair industry. We specialize in creating collision repair management systems and bodyshop management systems that lower cycle times and promote efficiency."
"slogan": "Rome Technologies. is a technology leader in the collision repair industry. We specialize in creating collision repair management systems and bodyshop management systems that lower cycle times and promote efficiency."
},
"hero": {
"button": "Learn More",
@@ -2639,7 +2639,7 @@
"accounting-payables": "Payables | $t(titles.app)",
"accounting-payments": "Payments | $t(titles.app)",
"accounting-receivables": "Receivables | $t(titles.app)",
"app": "ImEX Online",
"app": "Rome Online",
"bc": {
"accounting-payables": "Payables",
"accounting-payments": "Payments",

View File

@@ -2639,7 +2639,7 @@
"accounting-payables": "",
"accounting-payments": "",
"accounting-receivables": "",
"app": "ImEX Online",
"app": "Rome Online",
"bc": {
"accounting-payables": "",
"accounting-payments": "",

View File

@@ -2639,7 +2639,7 @@
"accounting-payables": "",
"accounting-payments": "",
"accounting-receivables": "",
"app": "ImEX Online",
"app": "Rome Online",
"bc": {
"accounting-payables": "",
"accounting-payments": "",

View File

@@ -1,7 +1,7 @@
import i18n from "i18next";
//import { store } from "../redux/store";
export const EmailSettings = {
fromNameDefault: "ImEX Online",
fromNameDefault: "Rome Online",
fromAddress: "noreply@imex.online",
};