From 895edb988a5196dce480c22710646a39276950ea Mon Sep 17 00:00:00 2001 From: Declan Freeman-Gleason Date: Sun, 28 Jun 2020 03:11:09 -0700 Subject: [PATCH] UI Rebrand (#1) * Rebrand UI and increase responsiveness * Fix typo in PipelineViews and SettingsViews directory name * Inset FPS indicator in stream preview * Rebrand favicon --- photon-client/README.md | 9 +- photon-client/package-lock.json | 2 +- photon-client/package.json | 2 +- photon-client/public/Roboto.css | 336 ------------------ photon-client/public/favicon.png | Bin 12626 -> 0 bytes photon-client/public/index.html | 10 +- photon-client/src/App.vue | 20 +- photon-client/src/assets/logo.png | Bin 71202 -> 13134 bytes .../src/components/common/cv-radio.vue | 2 +- .../src/components/common/cv-range-slider.vue | 2 +- .../src/components/common/cv-select.vue | 4 +- .../src/components/common/cv-slider.vue | 2 +- .../src/components/common/cv-switch.vue | 2 +- .../pipeline/CameraAndPipelineSelect.vue | 6 +- .../pipeline/OutputTab/DualCalibration.vue | 4 +- .../pipeline/OutputTab/SingleCalibration.vue | 2 +- .../src/store/modules/generalSettings.js | 4 +- photon-client/src/views/PipelineView.vue | 49 +-- .../{PipelineViewes => PipelineViews}/3D.vue | 2 +- .../ContoursTab.vue | 0 .../InputTab.vue | 0 .../OutputTab.vue | 0 .../ThresholdTab.vue | 60 ++-- photon-client/src/views/SettingsView.vue | 8 +- .../Cameras.vue | 2 +- .../General.vue | 2 +- 26 files changed, 101 insertions(+), 429 deletions(-) delete mode 100644 photon-client/public/Roboto.css delete mode 100644 photon-client/public/favicon.png rename photon-client/src/views/{PipelineViewes => PipelineViews}/3D.vue (99%) rename photon-client/src/views/{PipelineViewes => PipelineViews}/ContoursTab.vue (100%) rename photon-client/src/views/{PipelineViewes => PipelineViews}/InputTab.vue (100%) rename photon-client/src/views/{PipelineViewes => PipelineViews}/OutputTab.vue (100%) rename photon-client/src/views/{PipelineViewes => PipelineViews}/ThresholdTab.vue (86%) rename photon-client/src/views/{SettingsViewes => SettingsViews}/Cameras.vue (99%) rename photon-client/src/views/{SettingsViewes => SettingsViews}/General.vue (99%) diff --git a/photon-client/README.md b/photon-client/README.md index 36cff5a2e..60b36119d 100644 --- a/photon-client/README.md +++ b/photon-client/README.md @@ -1,8 +1,8 @@ -# Chameleon Client UI +# PhotonVision Client UI ## Install Node.js -Follow [this](https://nodejs.org/en/) link +Follow [this](https://nodejs.org/en/) link. ## Project setup Run this one time, this command downloades the packages the UI uses and it might take a short while @@ -12,7 +12,8 @@ npm install ``` ### Compiles and hot-reloads for development -Run this every developing session, this command auto-build the UI after every change your make +Run this every development session, this command auto-builds the UI after every change you make + ``` npm run serve ``` @@ -33,4 +34,4 @@ npm run lint ``` ### Customize configuration -See [Configuration Reference](https://cli.vuejs.org/config/). +See Node.js' [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/photon-client/package-lock.json b/photon-client/package-lock.json index c0d9ff9c3..f5f9bbaa8 100644 --- a/photon-client/package-lock.json +++ b/photon-client/package-lock.json @@ -1,5 +1,5 @@ { - "name": "chameleon-client", + "name": "photon-client", "version": "3.0.0", "lockfileVersion": 1, "requires": true, diff --git a/photon-client/package.json b/photon-client/package.json index 0359cd017..3acef2efc 100644 --- a/photon-client/package.json +++ b/photon-client/package.json @@ -1,5 +1,5 @@ { - "name": "chameleon-client", + "name": "photon-client", "version": "3.0.0", "private": true, "scripts": { diff --git a/photon-client/public/Roboto.css b/photon-client/public/Roboto.css deleted file mode 100644 index 2f097ca52..000000000 --- a/photon-client/public/Roboto.css +++ /dev/null @@ -1,336 +0,0 @@ -/* cyrillic-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1MmgVxFIzIFKw.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1MmgVxMIzIFKw.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1MmgVxEIzIFKw.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1MmgVxLIzIFKw.woff2) format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1MmgVxHIzIFKw.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1MmgVxGIzIFKw.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v20/KFOkCnqEu92Fr1MmgVxIIzI.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2) format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fBBc4.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2) format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fBBc4.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2) format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfBBc4.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} diff --git a/photon-client/public/favicon.png b/photon-client/public/favicon.png deleted file mode 100644 index ee155f3b303acb97119564a32b3b9b7626e8c3e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12626 zcmV-YF|E#tP)? z60qEF0))93upJ3s^4Q0Y5p~-%O`n5s>!(iA=OCIiY3iH^w@;ItCg%Z8PM!AnB*;BE zNz>ClKw{TTT^lLB+Zc(fz!3_7b1z}sbVlc?UQypm$|h5?ISAY;aa&9GDFeHk!A=4^0Z!2U7WP4(2zX@p zpjQCT0`vDcdP@)50*?Y6rQmi7_K=Ym;C@!!#{#<%WDiGL2b81NW+Otcn2q!{ayNrs z0z4iB1iTaJNUMR`{uNQ?&;#zJK`RFIYCR^$BtZUxT*xV&Cf??Wx7i7Ud4iC5Ul8Q5 z7XjlMojf!Lu2@gQWhn>)Kwio)tH`Jui zOX9ZQ?fn|?0k3ar5C35UWBccUrczx7dmROQf=of6ml3cRnA(Q|DA?N!%PRrTpELp_ zzFxX=4#DNdcCsn10tom6ZtmNF4|q?qJ<67SYGB9xw&KYU0lU?GXI9qefj%lEyL!+o zf%HIt0RQ~ITu_1^&F>yJk_Hpg0eC!EpZ)G;G8p9bK#*N{^$Oe>jZPK+d&`A`!e)PM z<{!k0QXIFy@eBM;R>v;{H6Sa@tMVZ|S)+Cz6!!&z|D*uS2<5@t&y>Q%NfY3DOE3G= zYkiFK|!5n;UHd@ZrAW zO4div?{Mm>I?*M-Bg2O>5%4ateJurih|j)MJ+~f~JT}iZ38-aW1s#@`F*XMgYJ_(aI60o?`0l^*ogQ@CW8K5#$NY+r5sAu&w@+~loBG~$)FYeEq`y* z!9YUzk+}W2xZw#Ul~1qRxy)Air>Q;!1M){FTcdh{K>P}l0C>ErC|)x`lsP3^<|u(b z+bQ5X4f=!hi^GOzRub0A)Np|9*%k0nUdmK{YdsV=aV1nieKPZ!$_XSpF?3Wkd(FhG z2{31~2>esd1K&x|*HQ)}2NRhqlf!1V$JaM8IfL@${;#itRlmK+kpep}m{&EHSH2vL zZOP`@l<{x#z(-U6lGj0BOMvgc+D4ae?rEexn>r$zu5uN(I~I+aew{VtDt8EWK&U}KKg^Lu9gS8$o6<34x|cr zH1=33;26d|XkPWMKKT5sX_H{q>X~ru{cAk%k?paF?Odw+WP$^k8q!3G&3N+q;FHhkHg~;PL=_7Rt)y)Yy80>1*gl z4r;n4fw;`}RbZ^7S7Lb7?rs1+{pJ-6nO8Nr#h;j~|EQdRU*Q+4y#RW=bnjz2b^S9d zU_1va_M%aj8Hl_8^W`a3_c7%qyhHyb3zzRcm|znI0KG zRklwB^mQzAF&^{rMniFR3n{ZX>z`Sfo_*tS^BT}HuSv!O7CyNcvZiIF#P(UK${M_M zJKb`R1-9P9#T7bFU5DF)W8{_vdIsR5O{U;M1f8;xxT_FTp=e#PIR!ee3qXx~Zik266Eic}WYJHx{TwJF8 z-}=UHV5CRFgQ;#6R#KLDR#nF`5^J3)gQZ|U^Dmd+t-oo8j^o{g+0DIvjP#{MK;|!; zL0Vuq70C2g-tUBwKB**@Fg#XG`sOt?^Q!#J0KGp+Wc==?E?!pty;GpaH$TJO2%2sf^dzVocKBSf4#z$Lc8>vS7T+vYO)3lm{&Ex z6H{B33)kN1fU#jhhFA`Qy>vcxLf+tTdKJo<$39A2lFrWWPlL`Y6|6r$YpN%fZv^mGxBS*lJ{}=myKTha3Ss*Gf+o!C(-o zs;Z!(q5>)_<^4w^kqDePaRQo~o8jy+=44hCO@sBn3Za zoN)SLMg#sXG_O49*%c%Ft52ZymlsVLTBCV-X_aj>uTDrB9`MNQ`}XaFqeqV#20Sqw zp%5H8bck&D9$JB)MHgSlaMW8guYyhHHOXu!yUZ)7usnNF@s<+)CEM-N^it0nG-x=} z$Iig~_A9&Jk^vsUj#4I-K)JJR+cqM9)B=4;^^dDEa!}3bK9p(<92Ly5ysXeo2*~Pd z46!`@TY&$L^rYrNkH7iM3(e5eEM;=?lSv#SOkYcZ4;%i--jZQVOTKg9r0sym!1uuS z(qer4?2le-8JC7uQ&$V=DjQA?c;(w@Uwr}zC;9BHGPX}D4U&N#5wn|RKI|UlM47>l zWTGsw1MocX@jdm7?VyPPFWD9-qc}-GK7BygArJu{CNEJEzYO|mxEKe5e zvN>aO>GgIQ%j1BOTY;aYbyewAsfYK?t3&1$^vx?6G_Uc`jD5%HWjTBnr_v1QtEdCE zo#mBM0!s|s4z16mtAzXJ)h_d@(#peb^BNzliobEe+9FF#Pf&q1Hg?bYAxqG6jJjjT zj-+)mc1Lx!`o5qY%Y5@{mwD9zx>@rosF_!Z0OY+g3)V_q^@3Vi93|+3RL{f0hwYzn zq|B0Fi2wp0i^SXtRj~v!IF73%>LdnugPQ$BLdv=mda+TZ8rjXi3S%rFwKsi z)5^#G{rg=7zMZ4KZlGSU)4alXFt38|`r!Ff%C3QJLA#JJ|=F@^lem%|N!-s*1ET)~-z~ zkDl&eD?%f`J-K-W-@Iy=SLJ8sEy-6VW;8)BNt-eUK+ktFxc`9%$fgVgyc;q{uh!m) zs~eV1D<{aL)4U2cnODJf^O~s9lbKhw!72slx9fqP{E_vKv7PN`N)W;R@+<#JwikZ% zcL~qKY>v}xkG1x01hRYMUw=gIV=o?Svc`V%3O1S7fbHfr*$J0uUK73|eK2onzHz2^ zx;fGP_s1Fj_rLf>`0n@qTLRlRG&DH+9s2wG6CQJ-KMl_LMc^AALp! zN;xvgyjmT3jXG>zmHT8$VK&*g)TKJpJK1+J$Atw6jD%X*gWUsh%(P=dAeoj=i+MG; ze7&6`uV#O<74yp9#}k8N`viF-odx*|oa^*Eo%WKv+?FVB`Xl|Wf&QhJ5*Gtp_)w|s zSsQi*anrmCM$M~I){GPLs=UvcSsCzUpm&muSsE1O4KHyplXB|RNml@mT3)H=k>%6X z1|;KF08E2@!Hm@;IATYz4@ke|C@jQ4c9<+;J|@|6Va_z zLX0xLSC_9(mw5#f=2iK53Z|Ea;j`F(oYvgDU-;1rFA%o>+5i2is=YC$BDFulFTQcPO)9UZW|RSGCX2U6Kz27y1(9O-1ZdpXE5{jg0oP z?!&8{>s#>Q7k1k&?BqKz`JF+|E;z|G_T;0d6nn)128c=DhhmJ2#?zw0ZShkq^ESoO#%KzSJrLtUo zFfE{GjLR|_SQcPcDKWm+x^?Sh8Xmn0u8-x`y0Xf^rG79=gcEZlY3CvH>f{Q5=`yeE z{{ecRWBaPKfgVldhG*iv?y)06D!|9r;sOl#K7275vMeqlF+I(7KdVL1SN=uJJZFk| z<*yc|`%tFYyy8j50FNh3wtSE(I3Zm?K&i2nE_jBL1VO7zE$Rh64|V&31q;Y)`I80* z+Au@2g}b77CQO*uGr#yGq1~W6izrwyuaJs)4cKa41;zb|Q)RloA}gK8pJ{AN>tU9I zr57=Sqt=2CPYzZ;qc)`w0gj`rXdt};_EgMkr1b{8{eCAr@`L*fn^(tH0Cd#6g01G2 zXL+2`h)myqs#{|EtaO87A(>=RNIDs_mVd0~-KgY2y}m*OI_hRGF?*^bud`MaK>G(R zaQ2@*ffc{AIQeWSo6W14kykT|C}^5jwK8c7=2htf6j3peiu(|L?L{tUH+Y6dleg&M zGRP^OMpg;e>LQHKow+=pJb&q9^GJpSm!n7EyRkxds;Flgc~rczUH`bBEcZTf(nM8e zn-ZJ?7hVZN_nBUpxvEg|CSG2?UX|qqJ@XpSmNm)Dx&fBQz*WT~$EA_+#w;&k1P>}o z6MnW)tY^%acrs+C-H=+AH7fV|S_j~bZ@mwb#FO~JzuW{tel7!L)9JIaVaekm0{mlt zdlDZ0{(X=&ZIbQgRVlVoGOvPQxZ^=o(TCEIdDW0LQ6=EH=O}aaXk^JOY^|1i=?-LY z%z>% zxEfq{`G;kFKg3vm}@{^xP=sI5DqU2YPnJEEp7xY9u^B(vzX8GRRUn2Dzm< z%A zWWt)NnQC733d%NqWes6?jCcO#xaRw=-njy1gz|{Yx%g_>Rr4yiU|t2A%&Us5kr`Q_ znw|jv+>urv!48^N)q_j_bKlqRAv!-2z5yrdTQuKz{g+mg+slpZN}UgLV-x_Jc^mKTzlR}TD<53eQ28;p9E#X0%&3qFujkTt2yhMFl#942#4*3)c` z%E;@orxuf3|0Q1Hq{X}%0kAXXRnRc6LXxYmvRDP_y$T1Ze6~-4>@CcOlD|iQ3`C6% zjS=>rxw1g@b8z75(yMJ`w07o-LeA6zF}#saA}}oe?dn_Ya9uQV*IW9aSG*nW8HO?O zy@$kGypPYp+w7Uyo-nV`6wRxW%_lME%bP zGClw)C1C@OxSimhA`L|91Rn5^$ow>M4F~U58KCp@9TT{LFyD4{OWt35}>n17*qn~#1VQM zhInz`QBYa+4gp@Wu}Eb1C6GNUTXtdz$~qG9|7c=Q|DP6?dE1qS-LaQ>K>SakD0i0a zTm=(FUm*ybc})OwqTGvW)Yste12pB22>KU{gC64$J4knv)IoWIEPj=O{HC`4 zZl*wQ)R7kzlo4xqMlab^94i?XKyy?yssVV$@_9379=_4jv%>?s3|YU9$(?o2Z6?iA zEy)^Xx|7b=WnflTT1Itb4f_nUpbyeBnE;=)*BFoH7L6ria-A9^p3NI{7#8=}c97;E z1C)v&$J%(jjhgOk5NEUgwgGtOuReg$p;6fQ*yHOyeD#%PkLHfEHBI4sGnqJL7yOXFmMGAr~13Q8OY{WL~V|Yo`lUA$QyLXfd@L# zxmY?J5`m5zOFzmEv_>CzJ@d){Pcv{0r06MZqeYGbTsCYh+ni0bZkqHs@ta6-)852eD`j*?h?pAu_o;AxEvch?zFa zYXBZkzHJ`e&HE@;AoM%SVD^Lak^Uf|dqvPc6(tC>uv#X`z^tufjF|R#m`v}Oqt_OaFMS>*kdo zlsf;_*QMhgNb!e-C=hDY{)lE5Pk`d`Lh*jC?I!^PIOfSoN>N*`m<72~qwZrG9e=}u z2TRGudevx_4M%kfsgkffmJK7j_nhtJzyF>jS0S%OHB|+$V$TN1TavG9UYSO>%e?aD z`TW=H13eG^8sJ9h)BoKwd;)f zKo-u29o06`%wHV#xNbK}h-5n6>Thm_sqv-j9XGG+Wp{?h;NpL6l;oikZT%SV_Rt?( zLAOc@CM!z^Mj&1xc!C3ZvqPZ3OL7HXiEtD;7|KfucqX^b{Ne(HkG2~1^QYMUBdgIRX4+t_}uokN>y@&WoVO$3xrV%Y&kk z{@{lv`QLQ_+^KlXB(`r5Wkyxs$u20owManCbmq}!K79=Onv3yr-q6h+hm%ke|gP8J&$n$Ja8L^=;J{~ zU9n_B*|6#KKgJthm4AM5ygLEJ^71rA+3fE^!+}{GxOt&BDVQMz^U9w*V|^pCD~%8O zSggf=_;sIfe+_ahkFk_W8@8iarvpgeRK1LqI5#QVJ7r$kT}9@`XL>G3F&QgXV4&omHL=Vc9x^Dl>q#6cbZ_V5~(;rn3Z+jS2{xNS}E?EGX4_xIN;?1#YxXU*7xU7dv9vN2aTW`_4 zN-VE266=HB-3U^!?gp;EC$7jndwr1z^gPI4Q9%A5pe?GE2Xkz2j4XBECvII$UBDJL zhFC{s1pf1x%KnrA*lU4Xc5;%);$;t%k}Yq3Yz01CSzAy$ z==_12mIX!YipaL?3(Ls~aP935=yM*ybpS30_BUeuBr^|31E(|yb;i1d6ftG6JSbVHr(@P z8%5S{hmU`84#tMY@bhuC_g&!K2`&Wm6SA|^f2yFy_{q&HY3y_s5I(DSxWEdDUQl zJz2vRu^MTO@CH^@=J|Pg`{E$of_d}vpz=HS5x~oioW}B*da@?rxM~`}09mbj-Pbmf zTN-s91wHAQg^MejH?Qh)hb_m$>3PitTt4XSxl}h%mWR2YDTS@y+C)vN*7BKx<^j}` zGFmJzaM|vOqTyZp)db+zcu)eul#(1v=2g(R5@Nd#PR}3qLGK*kkFv}4x@T8I#UHPR zNz<})z$_$~SHYlp<+Z;i;|sA&PlX)#2f^A3Fir*WJCh2gnlP^cZRtmM)XNo0{qr*Zz6zCKDj|5Yf?0?$y#P0)6aim5f8S#UI9G<-Y)aX?heP9{)i8H zCne37R>O>WxrvJa7%;C!WsRPBRkFP7IpTvQ56y=eOQn{CvJv4l1unP;*^7gznOAOA zbprUaJ*?cI>}@0`uXxGeN1rlj6ZV?ABt^}N!&8YvrAnpd;Z z#%Frtv6nZl2z;fiF=Ji_MA`DecR%0(j{w{T^4xNzCG$$FHhI0z{x)l~w0>(km_Eez z;f#%QY%#CI2lb5*6HDWO4|@BuHM^OtQ8TV)%qs&t>UA1>D8ok-03lMql6lq8`?*W= z3FGrp!^I$82xZNbl3ZKNE0Z=f8o=Ou0w46ovNhy-T=DFhH~=k}*P)(a0(dm8G!X3j zHT;97T`*!^wXOsOYiFek^hDa^l+UuwykgvZ`wF}JlF={XgFg8snJ^S)YOqY$s(HOF z0=-Gp@Cv}!>zHQQ5w~Jq)w&GiEs^@c&v$V@R4{sZ%@6_jbPJeQlV_d##tB^hJc zQ%h1Zucux-#Y>uGweIr)v}KJE^BUFoj=AxHs*sEOaW~7_WO3!hR!3f048&RffSE7j zgWkZw;#uB`dF?#jMK(^uCu60MIa!lvUO|QBF(ziap0JbrN&aW%CVqbl<`o00DM#b0 zjO_P8Zy(DOEkExwWtPn=${J*OE~RGV05z*-Yb==8sLIL1NgOw#jsQ(O*>X3`(E+?h z*|5fbzwvr2pZSXTptmP5mrWSHaAkpI^NNE{RL4iCtT7V((k1-LK+5JdDT-Y1M5yJ> z=HvwpS#zs3!cPl)-t3q1L9cJVNV!2O=C$qDVP1C{WuyivJ8|Vk%H~!1I9c|_WtI;< zFxM9Is>1SNAM`c?9;0wYfo1dBdAyUcJRX?6CO*G`9n9{gu9VHI^1-320|3tV$f@92 ze!|o&Tg+>!EboI}|9}x`Gh@E>vf;L0OSLmES@;g*H9gH;WI!tw^UB}vJs}zDHi!4& zKFchxVP5TEc^~xJQOUEsS@X(jYq%6;y@l@}HElXye>!FJ%I^1_G*_pR!j+O_YzjZS zP|orxm{%+}NR{P%&?jN~8T0du$r=@wM`^=lVyrNdWPGuu$2k%Bvgvdd%3?GpI>RCc@4vz*urTMFqxP4L2r=dW1!Ddl@9_Z zYShYxF*s>+BE|0`l^b`8z(4ulkBI=jW6Hdu)H-+I7&EXbgGMJ%($tcDw_y%sFU(H> zycP3`m6TkK%^pZ`0*nuO4VEXD=V@7*8ITyWYtMP*!j3G-HpcjokNe=*bH9PhFJI*A zcr?xHjSGEn`g`v&z+>zHXJ$>|emls_>#XfdHP}3$?mcwOE6N&LW77aO%meTzkr)V7 z^D5}idF5*5?FgptG2>E)%#EP$c)bk@DvC(uWOiAuR5m;)0vxxVcRL8^6<3W0hjtTd zBM2omYYdrJFlb&!;`Q=-?D(QS=rw{#8||EY;vkXgCEMQEOLaaP#VQ_bTGlkj_@tT2opq2rSIwp% zE^rX=RV-VBRg?*`#zY@VCCek=xw)^;+x3Ngrq_s}?qThUMlD&x{RdYUv03710UD^R z2&w$t>5d0z`VTQ3U-qSYOfRCK)y8k|_^13dz+HC!79aHLQb1F13g){Fhg|y3VVCz) zkODr4fS)S@p6PgX^C}oNucN&q(EqY5CvWRj%9l4fpdaoTw!DY}t`tIJ?KsVF9c3qU zktk^c4|?@z zV4xoz8nwKL!kqi0=1S6%n&S%af{}R!$;~UuneG>x*i#OJ!!5;q&}(aYa%t^6)@gYW z1(Z0{&?4aLGIU?yRjP?)X-apkiFGIggB{9}m{&Bc*Z*G&Z(Mgd{eyhaYX`Z!UU{p- zuz6M9$3u@@hiTMin5kv8G_f9@1yf<(m+v9Xn&L(@HS>x<@A_X&ym8$IE_74&L9ZR8 z{I*w=IGDOLVqVoA!qq@)OIsuO{(Z{xC zd`b^~2n)Q5?kO^4UZW~Y<>W8ThwkPsxP9aHRPn!?#qE9i{$6DF?~2>sF%MF_eJK=I zFBPeNf?T7kn%96K^Qr-O*H$?9nO;9gy~ouz+esfvBj%Mq^!!0z_q9!Y3iGH386R1_ zmC7)(g#CiAZh``A(3Buiw9KoJ)V$tFGvIxuPaa{$_Bc7a^nuc(=2gk^Y!r8b$drZU zGokClPa!%QMaF-YKDEIEU_V4}r(y@R;wKivoG+||tlTNOSs5edl|M(K9ss-#dSih# z>@}$CbLZv3^f}X$npfo_3JegFXH16tRWo6rwI8Jp)6NLCewPn^ke+lu2d@N4tREq{74?igw-fdw*KW-$flDu1VMIOr5zg8 zSSp7-eg~)T)t@HqJrq}!12k(CcIbCt&HHvx43-5q&4HrNE|eBC7C7+oQjXX1n(Mp@ z@@i~B{L!~Xpd-U`9fs2ecpvoUm=X1EFn3-qZ2X3(&$&jZO7kjkvPR(4F8(dRY2Kcu zF1Ykh=V9dfu=4W|5J#x=Nk#rtQSVSm?@I$@ld)65rV_&L0r9s4ghZ3dvwT#^@`8{c zd6ca@@HKv3x+m_*yI<;K3xs8a8#l z+X3xww2>Aa8o_Gg8NjcZ`c$&N#fD~o3-N9zuptwa4V7h zEk%x~&!;cRhnz)0m@eKY--`#V668vjw;*d!zjyt^Nm5Tk1E>1!@ybE;L2o{eQmH_I zzw+sF6Y_Z_YQ>*RuLvQ8|%W{P+pWecVo z@itq$O*qN$TL^+K%O|EAl_!RR<%RfbhR$?D50(`SOZweNKYkzd8KCc_JUaq^)zjrk z&1)jd2Pk#~xhztV84|G6Qh^+p*{E?Mm>I|ea=@yvyjAmxCnAC!LC;CDUFkHeKIk0; zJ{Fa&`N}%c+)mUquX6byXL)rnCoVdsrK_V9@FX+D0Y2d*lbs}Bn|U4h=o-=Q(fAd} zQ*y=!y+gpCT9_>YzXGPu%`;?P1r1rF)onPc)}WQ|y+h~g3IZZ@j>r3;A1TL{BkIJc%EVNst)GFQU?Llb#>H$tg+j?j`a;g-)pTfaO@ht zFOc1z_d<5Y2ff4bXCIvnet-Q+%<9xgXM!kqmes712Cdmj+qa7n_}MjO?$gOZmAm?i09fvpIZc_56y>(SZJn{H7T3d0F^Sv z&1+Ou?|l-cVu?O6Gsw-fjqHdS?BIDc@szdyttL#;pma|@w( zOG(C=*P)Aja6^yvv zvm7z6YI@(SdA;2`0)wZ!MP|PYqp^PQ;|A}&s4*M0GmD*kaSS}Ryv z1also2h+=PJz-u^vJ8kozezVmpp1EGJb>K?y-Tt3kwOE-d$}#7{2R8`#x~ot zHkZJ(vRrHCRaMp`H?JsN1}{cn;8Zu<>QJruX`o=QA8*IR2fa(N;i=D8UvByH!@S;VA0Yi9hud$$;3s_q@EU=vewfOb@OV8IKImPJFMR(% zMbpcN5&YG?SFh;y!oe#6*3j_vHF!d>lYwV>tkEBCk1;m(tsiNR)#!}04 - Chameleon Vision - + PhotonVision +
diff --git a/photon-client/src/App.vue b/photon-client/src/App.vue index ff088e710..7c5cac9a4 100644 --- a/photon-client/src/App.vue +++ b/photon-client/src/App.vue @@ -4,22 +4,20 @@ app dense clipped-left + color="#006492" dark > - - Chameleon Vision -
Vision @@ -42,7 +40,7 @@ v-model="saveSnackbar" :timeout="1000" top - color="#4baf62" + color="#ffd843" >

Saved All changes

@@ -153,10 +151,6 @@