From 7bdf0f2eee8a4a6642ebf8fda74fbfe2447bb04b Mon Sep 17 00:00:00 2001 From: "nikolaus.feith" Date: Tue, 14 Feb 2023 17:13:15 +0100 Subject: [PATCH] initial Commit --- ActiveBOWeb/.eslintrc.cjs | 15 ++++ ActiveBOWeb/.gitignore | 28 ++++++ ActiveBOWeb/.prettierrc.json | 1 + ActiveBOWeb/.vscode/extensions.json | 3 + ActiveBOWeb/README.md | 46 ++++++++++ ActiveBOWeb/env.d.ts | 1 + ActiveBOWeb/index.html | 13 +++ ActiveBOWeb/package.json | 36 ++++++++ ActiveBOWeb/public/favicon.ico | Bin 0 -> 4286 bytes ActiveBOWeb/src/App.vue | 17 ++++ ActiveBOWeb/src/assets/CPS_Logo_Black.png | Bin 0 -> 14176 bytes ActiveBOWeb/src/assets/CPS_Logo_White.png | Bin 0 -> 7764 bytes ActiveBOWeb/src/components/BaseLayout.vue | 17 ++++ ActiveBOWeb/src/components/RosBar.vue | 100 ++++++++++++++++++++++ ActiveBOWeb/src/components/SideBar.vue | 26 ++++++ ActiveBOWeb/src/components/TopBar.vue | 37 ++++++++ ActiveBOWeb/src/main.ts | 25 ++++++ ActiveBOWeb/src/store/BaseWebsiteStore.js | 27 ++++++ ActiveBOWeb/src/store/MountainCarStore.js | 0 ActiveBOWeb/src/store/RewardStore.js | 0 ActiveBOWeb/tsconfig.config.json | 8 ++ ActiveBOWeb/tsconfig.json | 16 ++++ ActiveBOWeb/vite.config.ts | 15 ++++ 23 files changed, 431 insertions(+) create mode 100644 ActiveBOWeb/.eslintrc.cjs create mode 100644 ActiveBOWeb/.gitignore create mode 100644 ActiveBOWeb/.prettierrc.json create mode 100644 ActiveBOWeb/.vscode/extensions.json create mode 100644 ActiveBOWeb/README.md create mode 100644 ActiveBOWeb/env.d.ts create mode 100644 ActiveBOWeb/index.html create mode 100644 ActiveBOWeb/package.json create mode 100644 ActiveBOWeb/public/favicon.ico create mode 100644 ActiveBOWeb/src/App.vue create mode 100644 ActiveBOWeb/src/assets/CPS_Logo_Black.png create mode 100644 ActiveBOWeb/src/assets/CPS_Logo_White.png create mode 100644 ActiveBOWeb/src/components/BaseLayout.vue create mode 100644 ActiveBOWeb/src/components/RosBar.vue create mode 100644 ActiveBOWeb/src/components/SideBar.vue create mode 100644 ActiveBOWeb/src/components/TopBar.vue create mode 100644 ActiveBOWeb/src/main.ts create mode 100644 ActiveBOWeb/src/store/BaseWebsiteStore.js create mode 100644 ActiveBOWeb/src/store/MountainCarStore.js create mode 100644 ActiveBOWeb/src/store/RewardStore.js create mode 100644 ActiveBOWeb/tsconfig.config.json create mode 100644 ActiveBOWeb/tsconfig.json create mode 100644 ActiveBOWeb/vite.config.ts diff --git a/ActiveBOWeb/.eslintrc.cjs b/ActiveBOWeb/.eslintrc.cjs new file mode 100644 index 0000000..dc51c01 --- /dev/null +++ b/ActiveBOWeb/.eslintrc.cjs @@ -0,0 +1,15 @@ +/* eslint-env node */ +require("@rushstack/eslint-patch/modern-module-resolution"); + +module.exports = { + root: true, + extends: [ + "plugin:vue/vue3-essential", + "eslint:recommended", + "@vue/eslint-config-typescript", + "@vue/eslint-config-prettier", + ], + parserOptions: { + ecmaVersion: "latest", + }, +}; diff --git a/ActiveBOWeb/.gitignore b/ActiveBOWeb/.gitignore new file mode 100644 index 0000000..38adffa --- /dev/null +++ b/ActiveBOWeb/.gitignore @@ -0,0 +1,28 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/ActiveBOWeb/.prettierrc.json b/ActiveBOWeb/.prettierrc.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/ActiveBOWeb/.prettierrc.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ActiveBOWeb/.vscode/extensions.json b/ActiveBOWeb/.vscode/extensions.json new file mode 100644 index 0000000..c0a6e5a --- /dev/null +++ b/ActiveBOWeb/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] +} diff --git a/ActiveBOWeb/README.md b/ActiveBOWeb/README.md new file mode 100644 index 0000000..d46a895 --- /dev/null +++ b/ActiveBOWeb/README.md @@ -0,0 +1,46 @@ +# ActiveBOWeb + +This template should help get you started developing with Vue 3 in Vite. + +## Recommended IDE Setup + +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). + +## Type Support for `.vue` Imports in TS + +TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. + +If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: + +1. Disable the built-in TypeScript Extension + 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette + 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` +2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. + +## Customize configuration + +See [Vite Configuration Reference](https://vitejs.dev/config/). + +## Project Setup + +```sh +npm install +``` + +### Compile and Hot-Reload for Development + +```sh +npm run dev +``` + +### Type-Check, Compile and Minify for Production + +```sh +npm run build +``` + +### Lint with [ESLint](https://eslint.org/) + +```sh +npm run lint +``` diff --git a/ActiveBOWeb/env.d.ts b/ActiveBOWeb/env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/ActiveBOWeb/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/ActiveBOWeb/index.html b/ActiveBOWeb/index.html new file mode 100644 index 0000000..1d05dca --- /dev/null +++ b/ActiveBOWeb/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite App + + +
+ + + diff --git a/ActiveBOWeb/package.json b/ActiveBOWeb/package.json new file mode 100644 index 0000000..7b6c8da --- /dev/null +++ b/ActiveBOWeb/package.json @@ -0,0 +1,36 @@ +{ + "name": "activeboweb", + "version": "0.0.0", + "private": true, + "scripts": { + "dev": "vite", + "build": "run-p type-check build-only", + "preview": "vite preview", + "build-only": "vite build", + "type-check": "vue-tsc --noEmit", + "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore" + }, + "dependencies": { + "pinia": "^2.0.30", + "roslib": "^1.3.0", + "vue": "^3.2.45", + "vuetify": "^3.1.4" + }, + "devDependencies": { + "@mdi/font": "^7.1.96", + "@rushstack/eslint-patch": "^1.1.4", + "@types/node": "^18.11.12", + "@vitejs/plugin-vue": "^4.0.0", + "@vitejs/plugin-vue-jsx": "^3.0.0", + "@vue/eslint-config-prettier": "^7.0.0", + "@vue/eslint-config-typescript": "^11.0.0", + "@vue/tsconfig": "^0.1.3", + "eslint": "^8.22.0", + "eslint-plugin-vue": "^9.3.0", + "npm-run-all": "^4.1.5", + "prettier": "^2.7.1", + "typescript": "~4.7.4", + "vite": "^4.0.0", + "vue-tsc": "^1.0.12" + } +} diff --git a/ActiveBOWeb/public/favicon.ico b/ActiveBOWeb/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/ActiveBOWeb/src/App.vue b/ActiveBOWeb/src/App.vue new file mode 100644 index 0000000..aa5ae55 --- /dev/null +++ b/ActiveBOWeb/src/App.vue @@ -0,0 +1,17 @@ + + + + + diff --git a/ActiveBOWeb/src/assets/CPS_Logo_Black.png b/ActiveBOWeb/src/assets/CPS_Logo_Black.png new file mode 100644 index 0000000000000000000000000000000000000000..ed16d0f1aec7e62ce8027168b3119433a27cf219 GIT binary patch literal 14176 zcmeHO_dna~`+g^a6eXz^9aePdQKQ3NwW{VR9jL8p@4bT}O6hRWT2%)fcEyU2nmyHu zRvQGdTBfqyx2zk(FVe(#*@%`3mSn%{`sU@ts}w0z$zD(g}1Y%p2C&OwUG4+xd& z=k?W=f$hj%3^6Fb3_)1cy{`l?sJ)dI_`{k>LMnM2wlY zf%wb~!j7W5BgUwa%axH^f64CTmcco}_dC-o~t5 zx>GKFFGeSB?iN52f;lAl+ zA3@JFAF7?*+MAh+3yux>ti7KJd}TQ(*_z;`v5xMfy@A~~M@N%fW5qCa-eQ{aUN_bi z)os_aHlDb+2=dg)S@+kgrNDR%k&0Esq`lGGm9JF;dM-=e7ooxTMPWck-<0B_Rh-B%&6L<~gd8(-mUzV^F@6f|>6T?XwN@mOLc$ z+AOtFIqQ`H)u!#sAzvzH}`_h<-Z+fT^axHm~9(RONy@-t9+dDJiOrH6>p@bWzMY2M|_

P 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 YDpXu~6Y7zM0aJvo>6++NXxYd8AM$DVQUCw| literal 0 HcmV?d00001 diff --git a/ActiveBOWeb/src/assets/CPS_Logo_White.png b/ActiveBOWeb/src/assets/CPS_Logo_White.png new file mode 100644 index 0000000000000000000000000000000000000000..b6b0db99285a495e1d383a0d84035a799e9dc35f GIT binary patch literal 7764 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 literal 0 HcmV?d00001 diff --git a/ActiveBOWeb/src/components/BaseLayout.vue b/ActiveBOWeb/src/components/BaseLayout.vue new file mode 100644 index 0000000..3427d8f --- /dev/null +++ b/ActiveBOWeb/src/components/BaseLayout.vue @@ -0,0 +1,17 @@ + + + + + diff --git a/ActiveBOWeb/src/components/RosBar.vue b/ActiveBOWeb/src/components/RosBar.vue new file mode 100644 index 0000000..c571cc5 --- /dev/null +++ b/ActiveBOWeb/src/components/RosBar.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/ActiveBOWeb/src/components/SideBar.vue b/ActiveBOWeb/src/components/SideBar.vue new file mode 100644 index 0000000..a744951 --- /dev/null +++ b/ActiveBOWeb/src/components/SideBar.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/ActiveBOWeb/src/components/TopBar.vue b/ActiveBOWeb/src/components/TopBar.vue new file mode 100644 index 0000000..76c673a --- /dev/null +++ b/ActiveBOWeb/src/components/TopBar.vue @@ -0,0 +1,37 @@ + + + + + diff --git a/ActiveBOWeb/src/main.ts b/ActiveBOWeb/src/main.ts new file mode 100644 index 0000000..8812c7f --- /dev/null +++ b/ActiveBOWeb/src/main.ts @@ -0,0 +1,25 @@ +import { createApp } from "vue"; + +// Pinia Store +import { createPinia } from "pinia"; + +// Vuetify +import 'vuetify/dist/vuetify.css'; +import { createVuetify } from 'vuetify'; +import '@mdi/font/css/materialdesignicons.css' + + +import App from "./App.vue"; + +const pinia = createPinia(); +const vuetify = createVuetify({ + theme: { + defaultTheme: 'dark', + }, +}); + +const app = createApp(App); + +app.use(pinia); +app.use(vuetify); +app.mount("#app"); diff --git a/ActiveBOWeb/src/store/BaseWebsiteStore.js b/ActiveBOWeb/src/store/BaseWebsiteStore.js new file mode 100644 index 0000000..9737359 --- /dev/null +++ b/ActiveBOWeb/src/store/BaseWebsiteStore.js @@ -0,0 +1,27 @@ +import { defineStore } from "pinia"; + +export const useBWStore = defineStore('BaseWebsiteStore', { + state: () => { + return { + play: false, + rosBarOpened: true, + rosConState: 'not connected', + } + }, + getters: { + getPlay: (state) => state.play, + getRosBarOpened: (state) => state.rosBarOpened, + getRosConState: (state) => state.rosConState, + }, + actions: { + setPlay() { + this.play = !this.play; + }, + toggleRosBar() { + this.rosBarOpened = !this.rosBarOpened; + }, + setRosConState(value) { + this.rosConState = value; + }, + } +}) diff --git a/ActiveBOWeb/src/store/MountainCarStore.js b/ActiveBOWeb/src/store/MountainCarStore.js new file mode 100644 index 0000000..e69de29 diff --git a/ActiveBOWeb/src/store/RewardStore.js b/ActiveBOWeb/src/store/RewardStore.js new file mode 100644 index 0000000..e69de29 diff --git a/ActiveBOWeb/tsconfig.config.json b/ActiveBOWeb/tsconfig.config.json new file mode 100644 index 0000000..424084a --- /dev/null +++ b/ActiveBOWeb/tsconfig.config.json @@ -0,0 +1,8 @@ +{ + "extends": "@vue/tsconfig/tsconfig.node.json", + "include": ["vite.config.*", "vitest.config.*", "cypress.config.*", "playwright.config.*"], + "compilerOptions": { + "composite": true, + "types": ["node"] + } +} diff --git a/ActiveBOWeb/tsconfig.json b/ActiveBOWeb/tsconfig.json new file mode 100644 index 0000000..8d23599 --- /dev/null +++ b/ActiveBOWeb/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "@vue/tsconfig/tsconfig.web.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + }, + + "references": [ + { + "path": "./tsconfig.config.json" + } + ] +} diff --git a/ActiveBOWeb/vite.config.ts b/ActiveBOWeb/vite.config.ts new file mode 100644 index 0000000..b20d948 --- /dev/null +++ b/ActiveBOWeb/vite.config.ts @@ -0,0 +1,15 @@ +import { fileURLToPath, URL } from "node:url"; + +import { defineConfig } from "vite"; +import vue from "@vitejs/plugin-vue"; +import vueJsx from "@vitejs/plugin-vue-jsx"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue(), vueJsx()], + resolve: { + alias: { + "@": fileURLToPath(new URL("./src", import.meta.url)), + }, + }, +});