9 Commits

Author SHA1 Message Date
Patrick FIc
59162e3028 Increase version to 1.0.4 to prevent conflicts. 2025-08-28 13:01:30 -07:00
Patrick FIc
f41728550c Include prior 1.0.3 fix. 2025-08-28 13:01:03 -07:00
Patrick Fic
cf18acc661 IO-3350 Update cors in partner to accept www. 2025-08-28 12:51:09 -07:00
Patrick Fic
be079a2e48 Merged in release/1.0.2 (pull request #4)
Release/1.0.2
2025-05-22 17:29:09 +00:00
Patrick Fic
9b90b780ef Exclude .DS_STORE Files. 2025-05-22 10:28:03 -07:00
Patrick Fic
a19026e048 Add RO icons. 2025-05-22 09:44:27 -07:00
Patrick Fic
47608a8cde Add Rome Icon, resolve translation, and set to Alpha release for testing. 2025-05-20 16:04:03 -07:00
Patrick Fic
a9fdf327b6 Updated package version for new release. 2025-05-20 15:42:36 -07:00
Patrick Fic
bd63af69e2 Merged in release/1.0.1 (pull request #3)
release/1.0.1

Approved-by: Patrick Fic
2025-05-20 22:40:41 +00:00
10 changed files with 214 additions and 22 deletions

View File

@@ -2,7 +2,7 @@ VITE_FIREBASE_CONFIG={"apiKey":"AIzaSyDPLT8GiDHDR1R4nI66Qi0BY1aYviDPioc","authDo
VITE_GRAPHQL_ENDPOINT=https://db.dev.imex.online/v1/graphql
VITE_FIREBASE_CONFIG_TEST={ "apiKey":"AIzaSyBw7_GTy7GtQyfkIRPVrWHEGKfcqeyXw0c", "authDomain":"imex-test.firebaseapp.com", "projectId":"imex-test", "storageBucket":"imex-test.appspot.com", "messagingSenderId":"991923618608", "appId":"1:991923618608:web:633437569cdad78299bef5", "measurementId":"G-TW0XLZEH18"}
VITE_GRAPHQL_ENDPOINT_TEST=https://db.test.bodyshop.app/v1/graphql
VITE_COMPANY=IMEX
VITE_COMPANY=ROME
VITE_FE_URL=https://imex.online
VITE_FE_URL_TEST=https://test.imex.online
VITE_API_URL="http://localhost:4000"

View File

@@ -17,7 +17,7 @@ asarUnpack:
- resources/**
win:
executableName: ShopPartner
icon: resources/icon.png
icon: resources/ro-icon.png
azureSignOptions:
endpoint: https://eus.codesigning.azure.net
certificateProfileName: ImEXRPS
@@ -31,6 +31,7 @@ nsis:
mac:
entitlementsInherit: build/entitlements.mac.plist
category: public.app-category.business
icon: resources/ro-icon.png
extendInfo:
- NSCameraUsageDescription: Application requests access to the device's camera.
- NSMicrophoneUsageDescription: Application requests access to the device's microphone.

View File

@@ -1,6 +1,6 @@
{
"name": "bodyshop-desktop",
"version": "1.0.1",
"version": "1.0.4",
"description": "Shop Management System Partner",
"main": "./out/main/index.js",
"author": "Convenient Brands, LLC",

BIN
resources/ro-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

View File

@@ -33,6 +33,10 @@ export default class LocalServer {
"https://imex.online",
"https://test.romeonline.io",
"https://romeonline.io",
"https://www.test.imex.online",
"https://www.imex.online",
"https://www.test.romeonline.io",
"https://www.romeonline.io",
];
this.app.use(

View File

@@ -13,7 +13,9 @@ import {
import log from "electron-log/main";
import { autoUpdater } from "electron-updater";
import path, { join } from "path";
import appIcon from "../../resources/icon.png?asset";
import imexAppIcon from "../../resources/icon.png?asset";
import romeAppIcon from "../../resources/ro-icon.png?asset";
import {
default as ErrorTypeCheck,
default as errorTypeCheck,
@@ -35,6 +37,9 @@ import {
} from "./setup-keep-alive-task";
import ensureWindowOnScreen from "./util/ensureWindowOnScreen";
const appIconToUse =
import.meta.env.VITE_COMPANY === "IMEX" ? imexAppIcon : romeAppIcon;
Sentry.init({
dsn: "https://ba41d22656999a8c1fd63bcb7df98650@o492140.ingest.us.sentry.io/4509074139447296",
});
@@ -69,7 +74,11 @@ function createWindow(): void {
minWidth: 600,
minHeight: 400,
//autoHideMenuBar: true,
...(process.platform === "linux" ? { icon: appIcon } : {}),
...(process.platform === "linux"
? {
icon: appIconToUse,
}
: {}),
title: "Shop Partner",
webPreferences: {
preload: join(__dirname, "../preload/index.js"),
@@ -497,7 +506,7 @@ app.whenReady().then(async () => {
}
//Create Tray
const trayicon = nativeImage.createFromPath(appIcon);
const trayicon = nativeImage.createFromPath(appIconToUse);
const tray = new Tray(trayicon.resize({ width: 16 }));
const contextMenu = Menu.buildFromTemplate([
{

View File

@@ -24,13 +24,13 @@ const ipcMainHandleAuthStateChanged = async (
//Need to query the currently active shop, and store the metadata as well.
//Also need to query the OP Codes for decoding reference.
log.debug("Received authentication state change from Renderer.", user);
handleShopMetaDataFetch();
await handleShopMetaDataFetch();
//Check for updates
const bodyshop = Store.get("app.bodyshop");
if (bodyshop?.convenient_company === "alpha") {
if (bodyshop?.convenient_company?.toLowerCase() === "alpha") {
autoUpdater.channel = "alpha";
log.debug("Setting update channel to ALPHA channel.");
} else if (bodyshop?.convenient_company === "beta") {
} else if (bodyshop?.convenient_company?.toLowerCase() === "beta") {
autoUpdater.channel = "beta";
log.debug("Setting update channel to BETA channel.");
}

View File

@@ -42,7 +42,10 @@ async function StartWatcher(): Promise<boolean> {
watcher = chokidar.watch(filePaths, {
ignored: (filepath, stats) => {
const p = path.parse(filepath);
return !stats?.isFile() && p.ext !== "" && p.ext.toUpperCase() !== ".ENV"; //Only watch for .ENV files.
return (
(!stats?.isFile() && p.ext !== "" && p.ext.toUpperCase() !== ".ENV") ||
p.name?.toUpperCase() === ".DS_STORE"
); //Only watch for .ENV files.
},
usePolling: pollingSettings.enabled || false,
interval: pollingSettings.interval || 30000,

View File

@@ -29,26 +29,26 @@
"duplicatePath": "The selected directory is already used in another configuration."
},
"labels": {
"actions": "Actions",
"addPaintScalePath": "Add Paint Scale Path",
"emsOutFilePath": "EMS Out File Path (Parts Order, etc.)",
"invalidPath": "Path not set or invalid",
"paintScalePath": "Paint Scale Path",
"paintScaleSettingsInput": "BSMS To Paint Scale",
"paintScaleSettingsOutput": "Paint Scale To BSMS",
"paintScaleType": "Paint Scale Type",
"pollingInterval": "Polling Interval (m)",
"pollinginterval": "Polling Interval (ms)",
"ppcfilepath": "Parts Price Change File Path",
"remove": "Remove",
"selectPaintScaleType": "Select Paint Scale Type",
"started": "Started",
"stopped": "Stopped",
"validPath": "Valid path",
"watchedpaths": "Watched Paths",
"watchermodepolling": "Polling",
"watchermoderealtime": "Real Time",
"watcherstatus": "Watcher Status",
"paintScaleSettingsInput": "BSMS To Paint Scale",
"paintScaleSettingsOutput": "Paint Scale To BSMS",
"paintScalePath": "Paint Scale Path",
"paintScaleType": "Paint Scale Type",
"addPaintScalePath": "Add Paint Scale Path",
"remove": "Remove",
"actions": "Actions",
"pollingInterval": "Polling Interval (m)",
"validPath": "Valid path",
"invalidPath": "Path not set or invalid",
"selectPaintScaleType": "Select Paint Scale Type"
"watcherstatus": "Watcher Status"
}
},
"title": {
@@ -57,6 +57,7 @@
},
"updates": {
"apply": "Apply Update",
"applying": "Applying update",
"available": "An update is available.",
"download": "Download Update",
"downloading": "An update is downloading."

View File

@@ -234,9 +234,53 @@
</concept_node>
</children>
</folder_node>
<folder_node>
<name>errors</name>
<children>
<concept_node>
<name>duplicatePath</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
</children>
</folder_node>
<folder_node>
<name>labels</name>
<children>
<concept_node>
<name>actions</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>addPaintScalePath</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>emsOutFilePath</name>
<definition_loaded>false</definition_loaded>
@@ -250,6 +294,84 @@
</translation>
</translations>
</concept_node>
<concept_node>
<name>invalidPath</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>paintScalePath</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>paintScaleSettingsInput</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>paintScaleSettingsOutput</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>paintScaleType</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>pollingInterval</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>pollinginterval</name>
<definition_loaded>false</definition_loaded>
@@ -276,6 +398,32 @@
</translation>
</translations>
</concept_node>
<concept_node>
<name>remove</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>selectPaintScaleType</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>started</name>
<definition_loaded>false</definition_loaded>
@@ -302,6 +450,19 @@
</translation>
</translations>
</concept_node>
<concept_node>
<name>validPath</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>watchedpaths</name>
<definition_loaded>false</definition_loaded>
@@ -405,6 +566,19 @@
</translation>
</translations>
</concept_node>
<concept_node>
<name>applying</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>available</name>
<definition_loaded>false</definition_loaded>