From abd829a0f30aabaef42db74fc809dafc9f53991b Mon Sep 17 00:00:00 2001 From: csawatzky Date: Mon, 26 Jan 2026 11:48:58 -0600 Subject: [PATCH] update the readme and created a new whitelabel for MiPCA that will be used to replace the omniAir one --- README.md | 37 +++++++++++++++ public/MiPCA/android-chrome-192x192.png | Bin 0 -> 4124 bytes public/MiPCA/android-chrome-512x512.png | Bin 0 -> 11378 bytes public/MiPCA/apple-touch-icon.png | Bin 0 -> 4034 bytes public/MiPCA/browserconfig.xml | 9 ++++ public/MiPCA/favicon-16x16.png | Bin 0 -> 808 bytes public/MiPCA/favicon-32x32.png | Bin 0 -> 1450 bytes public/MiPCA/favicon.ico | Bin 0 -> 15086 bytes public/MiPCA/manifest.json | 33 ++++++++++++++ public/MiPCA/mstile-150x150.png | Bin 0 -> 3506 bytes public/MiPCA/safari-pinned-tab.svg | 50 +++++++++++++++++++++ src/assets/whitelabels/MiPCA/MiPCALogo.png | Bin 0 -> 23120 bytes src/navigation/BottomNavigator.tsx | 9 ++-- src/navigation/SideNavigator.tsx | 8 ++-- src/pages/Gate.tsx | 2 +- src/services/whiteLabel.ts | 31 ++++++++++++- 16 files changed, 169 insertions(+), 10 deletions(-) create mode 100644 public/MiPCA/android-chrome-192x192.png create mode 100644 public/MiPCA/android-chrome-512x512.png create mode 100644 public/MiPCA/apple-touch-icon.png create mode 100644 public/MiPCA/browserconfig.xml create mode 100644 public/MiPCA/favicon-16x16.png create mode 100644 public/MiPCA/favicon-32x32.png create mode 100644 public/MiPCA/favicon.ico create mode 100644 public/MiPCA/manifest.json create mode 100644 public/MiPCA/mstile-150x150.png create mode 100644 public/MiPCA/safari-pinned-tab.svg create mode 100644 src/assets/whitelabels/MiPCA/MiPCALogo.png diff --git a/README.md b/README.md index 74872fd..b7a7555 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,43 @@ Currently, two official plugins are available: - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh +### White-labeling + +Steps to add a new white label + +1. Client Instructions: + +- supply assets and colours to be used for the white-label (favicon if necessary) +- determine a sub-domain to use as mask, dashboard is preferred (ex: dashboard.example.com) +- add a `CNAME` record pointing their custom subdomain (ex: dashboard.example.com) to brandxtech.ca +- add a login button on their website point to `/login` of their custom subdomain (ex: dashboard.example.com/login) + + +2. Create a PWA folder in `public` that is named after the client and generate PWA assets using [this](https://realfavicongenerator.net/) website (use the company logo but you might need to use a custom favicon depending on the result) + +- https://maskable.app/ also create a maskable icon for PWA +- create a 512x512 png as well for PWA + +3. Create a white-label branding folder in `src/assets/whitelabels` and create a `darkLogo.png` and `lightLogo.png` from the client's logo +4. In `src/services/whiteLabel.ts`, add a new `Whitelabel` instance with the required fields and add its hostname mapping to the `whitelabels` map (it is very similar to step one but had some constraints when dealing with the `public` folder) +5. If there are any pages specific to the whitelabel be sure to update the side and bottom navigator + + +6. In `dynamic-config.prod.yml`, add a router entry for the new whitelabel +7. In `pond/http/server.go`, add the sub-domain to the `allowedOrigins` +8. In `pond/whitelabel.go`, add an entry for the new white label + +7. Create a new `Auth0` application for the client + - use a image bucket like [postimg](https://postimages.org/) to store their company logo and favicon + - add a whitelabel logo + - allow necessary `origins`, `callback URLs`, and `CORS domains` to the application settings (see the default application as a guideline) + - customize the Universal Login page to handle the new whitelabel + - check if the client ID matches this client's Auth0 application + - change the Universal Login theme using white-label colours and images stored in a bucket (ex: [postimg](https://postimages.org/)) +8. Enable the white-label sub-domain for CORS in the backend + +- in [http.go](https://gitlab.com/brandx/backend/blob/master/pond/http.go), add the white-label sub-domain to the `AllowedOrigins` list + ## Expanding the ESLint configuration If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: diff --git a/public/MiPCA/android-chrome-192x192.png b/public/MiPCA/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..4ed494c6af7ecf7e067a1c096aa781f1a07e38ad GIT binary patch literal 4124 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 literal 0 HcmV?d00001 diff --git a/public/MiPCA/android-chrome-512x512.png b/public/MiPCA/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..72ba79705c0f21d4a9641d27fab3b6ab0ef1457b GIT binary patch literal 11378 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 literal 0 HcmV?d00001 diff --git a/public/MiPCA/apple-touch-icon.png b/public/MiPCA/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c5d4d8b78cce6586872434ffcda5bba11d2d0614 GIT binary patch literal 4034 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 SYR^w10AmC5>+ke1QU3v<$8-4r literal 0 HcmV?d00001 diff --git a/public/MiPCA/browserconfig.xml b/public/MiPCA/browserconfig.xml new file mode 100644 index 0000000..b3930d0 --- /dev/null +++ b/public/MiPCA/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/public/MiPCA/favicon-16x16.png b/public/MiPCA/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..f54fc91050d2db703fe96ec69555f5671a0708de GIT binary patch literal 808 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>}GwI#~ za@b2eeO=j~bBYKu8@+z;LLDen?CIhdB5^r6VF7DGT4HMQ^9N6!JbLyp^~vM(6afJd zAu&Nw;pr2mOqw=v>g4o*fRLcDz|i397p`2ocJb=vbOQquBQrx&*meC#^|bmW27tCqM% zl%ynXPASgue|l%JNFld4csS&*ubSx}P9z)&&g@h2XR!Y~buQ~syVcs>nc zU{>bVOXe0<7WSSj!Yr)d(qM8pg;{xXh{EX`S56!`b42C{`{@Rc1zvg#ufzpQJ~^3A Q1zN%2>FVdQ&MBb@0OPTDN&o-= literal 0 HcmV?d00001 diff --git a/public/MiPCA/favicon-32x32.png b/public/MiPCA/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..48b5897941fe02b24ab851dc64526333475878f0 GIT binary patch literal 1450 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+081CwEZPlzi}!5t-?|Ns93 zNi=kmUlJ%zBtX*(N1FP-CsDW!lQw-!{bq`z_Toxz-H00Q+n)kp&v$G_~FBnK`sj;&tt8?&Z za%pHOaWKi6C@?Fsyn0}xdgY$3%VTGYH?N;9kYLQb`}tvR*fqn-sJ|ag(&ePG@^YsC zDAIm$X5Tv-)|IvYzHH%`{^_lm>dPsizoK;Kd!7{fv*Wte@y#zxH2bx?Cr;R!68Y1s z@=?WGpO(`zE|tGD^7`g&_4WDn3r*ZH0w>nWT$z{sV^i?!FFJ0Y;(8yX1%1wUkJT&O zV>|VGYucOyP621Vhc2e~?`0p~E6Ah4!^vM57GD8$JY$l#y9-kqcTEbA!(QU)>&pI| zQ$==Fma>Og5fPZ!4!i_^&o60BdC&giV^$$29)C+1F!&7M0of0%rHnw$< zu}OO5!^0yqDX8a?(WatLTwPvVr?ggOy^@+0b<1kkA|IcsUu+Jn*5y)0Qj)W0aLt?< z9T63I`^K%C))u!cEq5F2-1W97Jt^tKhcBPLef;`4ohAB&h=7EMjL<0&F}Z^x%NEE; z9z7x;D=aNOf5MC@b0%p`n>KG^=Ip6+C!apDWZ}Un)8hjojvU#rdB>71YxXSKv})I~ zZR_?e+_-Wl>zam@Ti5PgyxDs~V)}M}|NMCSh=VMruZ20P*)9+jKCFJyf8HUJQYrJp z=Uy78otwoQYQX*?YuQe|zR%CZ^&)m;e4MmYv6AQS>1n^$M@a6@diu&V`#Nj0NJrGV z>(_23>FX8xS!#&%3s=U()-yxZq?H*-D_cKp0msp)p*&o^)1{;XiPQgRmn z2C+qq-9f{HT0oX+iEBhjN@7W>RdP`(kYX@0Ff!IPu+%j&2r)FbGBCC>HPALNure^H zF_`iYMMG|WN@iLmZVkM-I^X_+~x3MG{VsS23|CCLm76>}bc z;^8O^)6h8OfBKB)(;xZee9%@5v&}!U`@8CWlj)l{bedoW618#E~;cWR9?( eZtz&(rN{6}T(IPmlj&5T6%3xPelF{r5}E+7%?RND literal 0 HcmV?d00001 diff --git a/public/MiPCA/favicon.ico b/public/MiPCA/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..48e87f644870e7f8e26a3b13fe379da340c9c919 GIT binary patch literal 15086 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 + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + + + + + diff --git a/src/assets/whitelabels/MiPCA/MiPCALogo.png b/src/assets/whitelabels/MiPCA/MiPCALogo.png new file mode 100644 index 0000000000000000000000000000000000000000..c828035272de01051308b1de473fa7af5863e37a GIT binary patch literal 23120 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

f@dl;|7wcDKkGnP9?EK4lt5Zfg zKxOv=KChq9T>P`-f`@VP5c1L``}UvsW{c4_AjK1TMYb^5Khf=AsN44fswwI9hYIjg zK7pF5(6{ilt4cI1Q?KUbk}CZz2G$oa9KnShwM(8i6PtI!XqEaB6$AmR1V({3$;%YEnC2KkBK(nNU!}K z`eSOQwsD|o!K&@sd*hbLEq8F%#VJ?F*rbFseH+XC^kjOFaGMd-HuySRKVP|B&>o?65WmKwhf4Z|7!fR={t*m9>q9I0V(&wq@~nv$q}s-Ls;sfBM0q?P zZQE}&FcWG#^Ccq9C8>Y%0R->D3~rA}pU+|!M-YoTE!;+fF+RElQ(d}lAZ~=0BDSs_ z>J2sBt2sbtY{FFdV?sKb#?OsWFB!c{1-i(mvep*EhGAp+OeVxEJq3j$vm;m``2kNH zwcT?y^1#+Y*WQEIyk~Pz*-~%SKL+f=Fk;J?_f+&&wGY!lwVYKZb03%)V3zu$8L3t= zzm+<4kLU}>+4Ev5TD@OKnEIleSxXwho|9%F0bPfBMHTAc0_bTB$Wq{lD3%l{3ra90 zP4%IN5d5qKz5Sq2Lg&thD|If@+NePpz*(zCZEP??VzH^JFE`j;HVal`A*n}|c=*9J zuZMN4WXzJ*A3ZjFnZ{3h-%$lUPEO>O$x*f|r_C##_@ZM>+fQ$RO4<%)581}Y22M=M zxpro;6`|+3@tBmq`3>lAsQK`LQtpA(XFNDh zJtL?GZ{V?rnDeb3WSd0xywvuaFRUKSFtUN5@H0I<@;5&WjlPim9&DTSRr~i~g;D*k z_SWPMpXq3e>9yIB6YV$<)X;&|!+WHpr5P2UxjlANZ{M<2{WUQrsX}_t@6VZ~OW#*2 zUi{;8p9t|9NqRviMQP=c*zU)V(rh&&oL=5Z*z@Lm^7ABvGy7|NDubB6-w$y>Lp(j> zoaGY|^^BHHmzrEz{_Nh9-VD%~3wj`i6~&^qU-SGIEbm^h`g4Tsn+hTXm3!X2hu=Qb z`u1-8*|<&TTr{@_VXQycYvLdRUHSg4IW$eQ)YtjGpE1vc-7NrvC17Y?zP!heblUvC zPgX*XO!eARM5N;)jwzT8otYSXD2}#iZKyhzuojA`h4TTQt-h9&G!=ihtW=`m3vPaW-h1BPPzRt zHMr#lXql-+5DU3n#7!Kps~mK(?&|HG2?1NUA>8TN+o#C}BkuLlNi&uucBb+?&Nb|)tzEv?rK z`b2c~=Bc9n^Q^h&TKKYmSCq$RVuK8$^KUR3oiUSi9bF?WIas|RFS zr8q^7_^~P4#9(B8q0d$Snn`Tm}1X$Y|Pg||!XtoD~l3K{K;J3lO5sK|Nj@Zm)T-%`C3W3tYVx}xvdq<1ZR>-|tK zNA1b#wK5VUTP`!|Tv5!!;CDfI<7uDh(Hp;M#C5rK!ST50xLcLR$5-_mTvCN&ao{vDzC!EjHvKw%;1xGH!Bj`rfg9A6c1+#+8TYUP<0wUrpuPI z&>5L&*t1P(Cnj#N`e&gcx;ySR@TpPv@3;IF{A&GLobua>56%9gPg^%JY^+~tqyW-O zaX$pmfInUnCYl?9ioTVCDama?lFx-+C6f1$CH_bnzPArUvS5M*0YgCG|JB0;xCCB| zH2C5lu+*tXu-{fjnag{qaE3a5@RcZHmZy|xS*Gq%g`)97U|nh=;M+^il=;tAz}Rq* z7>AiMUq-s7NFz2LB|VuC>MSsj+Xr#X+d(uUg+-ut*|E0g@*G*g&@J|t?|=Oy9bwi_!RnLU%xG>q zs#+>n$@XcW@ZSC}SLj+TH~uWjc%>iCl^9|T{Quc-K|YHa0@%1wmutQH!&Slbj;ze<4hw{JgQ2zHF%KyGY osZP`X#e)B0!GEzp7Yi`Z`Kz0}yY2R?u_QEO`dqJ~Y24)h2db|)(*OVf literal 0 HcmV?d00001 diff --git a/src/navigation/BottomNavigator.tsx b/src/navigation/BottomNavigator.tsx index 9e36fe8..b03a153 100644 --- a/src/navigation/BottomNavigator.tsx +++ b/src/navigation/BottomNavigator.tsx @@ -13,7 +13,7 @@ import BinsIcon from "products/Bindapt/BinsIcon"; import { useGlobalState } from "providers"; import { useCallback, useEffect, useState } from "react"; import { useNavigate, useLocation } from "react-router-dom"; -import { IsAdaptiveAgriculture, isBXT, IsMiVent, IsAdCon, IsOmniAir } from "services/whiteLabel"; +import { IsAdaptiveAgriculture, isBXT, IsMiVent, IsAdCon, IsOmniAir, IsMiPCA } from "services/whiteLabel"; import FieldsIcon from "products/AgIcons/FieldsIcon"; import NexusSTIcon from "products/Construction/NexusSTIcon"; import OmniAirDeviceIcon from "products/AviationIcons/OmniAirDeviceIcon"; @@ -40,6 +40,7 @@ export default function BottomNavigator(props: Props) { const isMiVent = IsMiVent(); const isAdCon = IsAdCon(); const isOmni = IsOmniAir(); + const isMiPCA = IsMiPCA(); const reRoute = useCallback( (path: string) => { @@ -117,14 +118,14 @@ export default function BottomNavigator(props: Props) { value="constructionMap" /> )} - {isOmni && ( + {(isOmni || isMiPCA) && ( } value="aviationMap" /> )} - {isOmni && ( + {(isOmni || isMiPCA) && ( } @@ -139,7 +140,7 @@ export default function BottomNavigator(props: Props) { ) : isAdCon ? ( - ) : isOmni ? ( + ) : (isOmni || isMiPCA) ? ( ) : ( diff --git a/src/navigation/SideNavigator.tsx b/src/navigation/SideNavigator.tsx index 3365a72..6bab36c 100644 --- a/src/navigation/SideNavigator.tsx +++ b/src/navigation/SideNavigator.tsx @@ -27,6 +27,7 @@ import { IsAdaptiveAgriculture, // hasTutorialPlaylist, IsAdCon, + IsMiPCA, // isBXT, IsMiVent, IsOmniAir, @@ -166,7 +167,8 @@ export default function SideNavigator(props: Props) { const isMiVent = IsMiVent(); const isAg = IsAdaptiveAgriculture() const isStreamline = IsStreamline() - const isMiPCA = IsOmniAir() + const isOmni = IsOmniAir() + const isMiPCA = IsMiPCA() const isAdCon = IsAdCon() return ( @@ -184,7 +186,7 @@ export default function SideNavigator(props: Props) { )} - {(isMiPCA || user.hasFeature("admin")) && ( + {((isOmni || isMiPCA) || user.hasFeature("admin")) && ( )} - {(isMiPCA || user.hasFeature("admin")) && ( + {((isOmni || isMiPCA) || user.hasFeature("admin")) && ( { return ( ([ ["streamline", STREAMLINE_WHITE_LABEL], ["adaptiveag", ADAPTIVE_AGRICULTURE_WHITE_LABEL], @@ -296,7 +322,8 @@ const whitelabels = new Map([ ["10.0", ADAPTIVE_CONSTRUCTION_WHITE_LABEL], ["mivent", MIVENT_WHITE_LABEL], ["adaptiveconstruction", ADAPTIVE_CONSTRUCTION_WHITE_LABEL], - ["omniair", OMNIAIR_WHITE_LABEL] + ["omniair", OMNIAIR_WHITE_LABEL], + ["mipca", MIPCA_WHITE_LABEL] ]); export function getWhitelabel(): WhiteLabel {