diff --git a/.env b/.env index 82f1509..23f68d3 100644 --- a/.env +++ b/.env @@ -1,6 +1,8 @@ -VITE_APP_API_URL=https://bxt-dev.api.adaptiveagriculture.ca/v1 +VITE_APP_API_URL=https://api.brandxtech.ca/v1 +VITE_APP_API_STAGING_URL=https://stagingapi.brandxtech.ca/v1 +VITE_APP_API_DEV_URL=https://bxt-dev.api.adaptiveagriculture.ca/v1 #Auth0 VITE_AUTH0_CLIENT_DOMAIN=brandxtech.auth0.com -VITE_AUTH0_AUDIENCE=bxt-dev.api.adaptiveagriculture.ca +VITE_AUTH0_AUDIENCE=api.brandxtech.ca VITE_AUTH0_DEV_CLIENT_ID=dzJTpqIeMA4Rwk4xujtwPbAO3TY32bM1 \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a081149..61461f8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -303,9 +303,6 @@ deploy:development: - cat /etc/os-release - "echo DEPLOY_TARGET=${DEPLOY_TARGET}" - "echo DOCKER_HOST=${DOCKER_HOST}" - - "echo \"Dev Key length: ${#DEVELOPMENT_SSH_PRIV_KEY}\"" - # - "echo \"Staging Key length: ${#STAGING_SSH_PRIV_KEY}\"" - # - "echo \"$STAGING_SSH_PRIV_KEY\" | tr -d '\r' | ssh-add - > /dev/null" - "echo \"$DEVELOPMENT_SSH_PRIV_KEY\" | tr -d '\r' | ssh-add - " # - "ssh -Mo StrictHostKeyChecking=no -S deploy-ctrl-socket -fnNTL /var/run/docker.sock:/var/run/docker.sock ${DEPLOY_TARGET}" # - "ssh -S deploy-ctrl-socket -O check ${DEPLOY_TARGET}" diff --git a/package.json b/package.json index 9650294..0f1adf1 100644 --- a/package.json +++ b/package.json @@ -5,14 +5,14 @@ "type": "module", "scripts": { "start": "vite", - "start-local": "VITE_APP_API_URL=http://localhost:50052/v1 VITE_APP_WS_URL=ws://localhost:50052/v1/live VITE_APP_BILLING_URL=http://localhost:50053/v1 VITE_APP_RECLUSE_URL=http://localhost:50054/v1 VITE_APP_GITLAB_URL=http://localhost:50055/v1 vite", - "start-dev": "VITE_AUTH0_CLIENT_DOMAIN=brandxtech.auth0.com VITE_AUTH0_AUDIENCE=bxt-dev.api.adaptiveagriculture.ca VITE_AUTH0_DEV_CLIENT_ID=dzJTpqIeMA4Rwk4xujtwPbAO3TY32bM1 vite", - "start-staging": "REACT_APP_API_URL=https://stagingapi.brandxtech.ca/v1 REACT_APP_WS_URL=ws://stagingapi.brandxtech.ca/v1/live REACT_APP_AUTH0_CLIENT_DOMAIN=adaptivestaging.us.auth0.com REACT_APP_AUTH0_AUDIENCE=stagingapi.brandxtech.ca react-scripts start", + "start-local": "VITE_AUTH0_AUDIENCE=bxt-dev.api.adaptiveagriculture.ca VITE_APP_API_URL=http://localhost:50052/v1 VITE_APP_WS_URL=ws://localhost:50052/v1/live VITE_APP_BILLING_URL=http://localhost:50053/v1 VITE_APP_RECLUSE_URL=http://localhost:50054/v1 VITE_APP_GITLAB_URL=http://localhost:50055/v1 vite", + "start-dev": "VITE_APP_API_URL=https://bxt-dev.api.adaptiveagriculture.ca/v1 VITE_AUTH0_CLIENT_DOMAIN=brandxtech.auth0.com VITE_AUTH0_AUDIENCE=bxt-dev.api.adaptiveagriculture.ca VITE_AUTH0_DEV_CLIENT_ID=dzJTpqIeMA4Rwk4xujtwPbAO3TY32bM1 vite", + "start-staging": "VITE_APP_API_URL=https://stagingapi.brandxtech.ca/v1 VITE_APP_WS_URL=ws://stagingapi.brandxtech.ca/v1/live VITE_APP_AUTH0_CLIENT_DOMAIN=adaptivestaging.us.auth0.com VITE_APP_AUTH0_AUDIENCE=stagingapi.brandxtech.ca vite", "build": "tsc -b && vite build", "lint": "eslint .", "preview": "vite preview", "build:staging": "NODE_OPTIONS=--max_old_space_size=4096 VITE_APP_GOOGLE_API_KEY=${GOOGLE_API_KEY} VITE_APP_STRIPE_PUBLIC_KEY=${STRIPE_PUBLIC_KEY_STAGING} VITE_APP_MAPBOX_ACCESS_TOKEN=${MAPBOX_ACCESS_TOKEN} VITE_APP_CNHI_CLIENT_ID=${CNHI_CLIENT_ID} VITE_APP_CNHI_AUTHORIZE_URL=${CNHI_AUTHORIZE_URL} VITE_APP_CNHI_REDIRECT_URI=${CNHI_REDIRECT_URI} VITE_APP_CNHI_SCOPES=${CNHI_SCOPES} VITE_APP_CNHI_CONNECTION=${CNHI_CONNECTION} VITE_APP_CNHI_AUDIENCE=${CNHI_AUDIENCE} VITE_APP_IMAGE4IO_USERNAME=${IMAGE4IO_USERNAME} VITE_APP_IMAGE4IO_PASSWORD=${IMAGE4IO_PASSWORD} VITE_APP_JD_CLIENT_ID=${JD_CLIENT_ID} VITE_APP_JD_AUTHORIZE_URL=${JD_AUTHORIZE_URL} VITE_APP_JD_REDIRECT_URI=${JD_REDIRECT_URI} VITE_APP_JD_SCOPES=${JD_SCOPES} VITE_APP_JD_STATE=${JD_STATE} vite build", - "build:development": "NODE_OPTIONS=--max_old_space_size=4096 VITE_APP_GOOGLE_API_KEY=${GOOGLE_API_KEY} VITE_APP_STRIPE_PUBLIC_KEY=${STRIPE_PUBLIC_KEY_DEVELOPMENT} VITE_APP_MAPBOX_ACCESS_TOKEN=${MAPBOX_ACCESS_TOKEN} VITE_APP_CNHI_CLIENT_ID=${CNHI_CLIENT_ID} VITE_APP_CNHI_AUTHORIZE_URL=${CNHI_AUTHORIZE_URL} VITE_APP_CNHI_REDIRECT_URI=${CNHI_REDIRECT_URI} VITE_APP_CNHI_SCOPES=${CNHI_SCOPES} VITE_APP_CNHI_CONNECTION=${CNHI_CONNECTION} VITE_APP_CNHI_AUDIENCE=${CNHI_AUDIENCE} VITE_APP_IMAGE4IO_USERNAME=${IMAGE4IO_USERNAME} VITE_APP_IMAGE4IO_PASSWORD=${IMAGE4IO_PASSWORD} VITE_APP_JD_CLIENT_ID=${JD_CLIENT_ID} VITE_APP_JD_AUTHORIZE_URL=${JD_AUTHORIZE_URL} VITE_APP_JD_REDIRECT_URI=${JD_REDIRECT_URI} VITE_APP_JD_SCOPES=${JD_SCOPES} VITE_APP_JD_STATE=${JD_STATE} vite build", + "build:development": "VITE_AUTH0_AUDIENCE=bxt-dev.api.adaptiveagriculture.ca VITE_APP_API_URL=https://bxt-dev.api.adaptiveagriculture.ca/v1 NODE_OPTIONS=--max_old_space_size=4096 VITE_APP_GOOGLE_API_KEY=${GOOGLE_API_KEY} VITE_APP_STRIPE_PUBLIC_KEY=${STRIPE_PUBLIC_KEY_DEVELOPMENT} VITE_APP_MAPBOX_ACCESS_TOKEN=${MAPBOX_ACCESS_TOKEN} VITE_APP_CNHI_CLIENT_ID=${CNHI_CLIENT_ID} VITE_APP_CNHI_AUTHORIZE_URL=${CNHI_AUTHORIZE_URL} VITE_APP_CNHI_REDIRECT_URI=${CNHI_REDIRECT_URI} VITE_APP_CNHI_SCOPES=${CNHI_SCOPES} VITE_APP_CNHI_CONNECTION=${CNHI_CONNECTION} VITE_APP_CNHI_AUDIENCE=${CNHI_AUDIENCE} VITE_APP_IMAGE4IO_USERNAME=${IMAGE4IO_USERNAME} VITE_APP_IMAGE4IO_PASSWORD=${IMAGE4IO_PASSWORD} VITE_APP_JD_CLIENT_ID=${JD_CLIENT_ID} VITE_APP_JD_AUTHORIZE_URL=${JD_AUTHORIZE_URL} VITE_APP_JD_REDIRECT_URI=${JD_REDIRECT_URI} VITE_APP_JD_SCOPES=${JD_SCOPES} VITE_APP_JD_STATE=${JD_STATE} vite build", "build:production": "NODE_OPTIONS=--max_old_space_size=4096 VITE_APP_GOOGLE_API_KEY=${GOOGLE_API_KEY} VITE_APP_STRIPE_PUBLIC_KEY=${STRIPE_PUBLIC_KEY_PRODUCTION} VITE_APP_MAPBOX_ACCESS_TOKEN=${MAPBOX_ACCESS_TOKEN} VITE_APP_CNHI_CLIENT_ID=${CNHI_CLIENT_ID} VITE_APP_CNHI_AUTHORIZE_URL=${CNHI_AUTHORIZE_URL} VITE_APP_CNHI_REDIRECT_URI=${CNHI_REDIRECT_URI} VITE_APP_CNHI_SCOPES=${CNHI_SCOPES} VITE_APP_CNHI_CONNECTION=${CNHI_CONNECTION} VITE_APP_CNHI_AUDIENCE=${CNHI_AUDIENCE} VITE_APP_IMAGE4IO_USERNAME=${IMAGE4IO_USERNAME} VITE_APP_IMAGE4IO_PASSWORD=${IMAGE4IO_PASSWORD} VITE_APP_JD_CLIENT_ID=${JD_CLIENT_ID} VITE_APP_JD_AUTHORIZE_URL=${JD_AUTHORIZE_URL} VITE_APP_JD_REDIRECT_URI=${JD_REDIRECT_URI} VITE_APP_JD_SCOPES=${JD_SCOPES} VITE_APP_JD_STATE=${JD_STATE} vite build", "build:offline": "npx env-cmd offline,whitelabel npm run build", "test": "vitest" diff --git a/src/app/App.tsx b/src/app/App.tsx index 62da61b..27a160d 100644 --- a/src/app/App.tsx +++ b/src/app/App.tsx @@ -39,15 +39,20 @@ function App() { faviconDocument.href = "BrandXTechnologies/favicon.ico" }) - let url: string | undefined = import.meta.env.VITE_AUTH0_CLIENT_DOMAIN; + let domain: string | undefined = import.meta.env.VITE_AUTH0_CLIENT_DOMAIN; let audience: string | undefined = import.meta.env.VITE_AUTH0_AUDIENCE; let client_id = import.meta.env.VITE_AUTH0_DEV_CLIENT_ID; + console.log("Domain: " + domain) + console.log("Audience: " + audience) + console.log("Client ID: " + client_id) + console.log("API URL: " + import.meta.env.VITE_APP_API_URL) + return ( + + <> {/* */} - + ); } diff --git a/src/navigation/Router.tsx b/src/navigation/Router.tsx index 65b1085..68adfa7 100644 --- a/src/navigation/Router.tsx +++ b/src/navigation/Router.tsx @@ -288,9 +288,9 @@ export default function Router() { } return ( - }> - -
+ +
+ }> {/* Redirects */} @@ -329,7 +329,7 @@ export default function Router() { } /> } /> -{/* + {/* } /> */} @@ -337,7 +337,7 @@ export default function Router() { } /> - - + + ) } \ No newline at end of file diff --git a/src/providers/pond/pond.tsx b/src/providers/pond/pond.tsx index 5121d78..bcaeaa5 100644 --- a/src/providers/pond/pond.tsx +++ b/src/providers/pond/pond.tsx @@ -36,7 +36,7 @@ import ContractProvider, { useContractAPI } from "./contractAPI"; export const pondURL = (partial: string, demo: boolean = false): string => { let url = import.meta.env.VITE_APP_API_URL + (demo ? "/demo" : "") + partial; - // console.log(url) + // console.log("API URL: "+url) // if (isStaging()) url = process.env.REACT_APP_STAGING_API_URL + (demo ? "/demo" : "") + partial; return url; }; diff --git a/src/services/whiteLabel.ts b/src/services/whiteLabel.ts index e04fa27..b26befe 100644 --- a/src/services/whiteLabel.ts +++ b/src/services/whiteLabel.ts @@ -95,10 +95,10 @@ const BXT_WHITE_LABEL: WhiteLabel = { // primaryColour: "#0000FF", secondaryColour: "yellow", // secondaryColour: "#FFFF00", - signatureColour: "#272727", - // signatureColour: "#005bb0", + // signatureColour: "#272727", + signatureColour: "#005bb0", signatureAccentColour: "#fff", - auth0ClientId: import.meta.env.REACT_APP_AUTH0_STAGING_CLIENT_ID, + auth0ClientId: import.meta.env.VITE_AUTH0_DEV_CLIENT_ID, redirectOnLogout: false, logoutRedirectTarget: "", darkLogo: BXTDarkLogo, diff --git a/src/theme/AppThemeProvider.tsx b/src/theme/AppThemeProvider.tsx index 4cedb98..003519e 100644 --- a/src/theme/AppThemeProvider.tsx +++ b/src/theme/AppThemeProvider.tsx @@ -1,4 +1,4 @@ -import React, { createContext, useContext, useMemo, useState, useEffect } from "react"; +import React, { createContext, useContext, useMemo, useState } from "react"; import { ThemeProvider, createTheme, PaletteMode } from "@mui/material/styles"; import useMediaQuery from "@mui/material/useMediaQuery"; @@ -24,7 +24,11 @@ export const useThemeMode = () => { }; export const AppThemeProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => { - const [mode, setMode] = useState("system"); + + const savedTheme = localStorage.getItem("theme"); + const isValidTheme = (theme: string | null): theme is ThemeMode => + theme === "light" || theme === "dark" || theme === "system"; + const [mode, setMode] = useState(isValidTheme(savedTheme) ? savedTheme : "system"); const prefersDark = useMediaQuery("(prefers-color-scheme: dark)"); const resolvedMode: PaletteMode = mode === "system" ? (prefersDark ? "dark" : "light") : mode;