From 7d8cca54e548d2a85287fd2325db88f2697be55a Mon Sep 17 00:00:00 2001 From: Leonardo Bishop Date: Sat, 4 Nov 2023 21:28:11 +0000 Subject: Add more shit --- frontend/.gitignore | 2 + frontend/Dockerfile | 20 ++ frontend/package-lock.json | 11 +- frontend/package.json | 3 +- frontend/src/components/Board/TetrisBoard.vue | 270 -------------------- frontend/src/components/Home.vue | 15 ++ frontend/src/components/TetrisBoard.vue | 340 ++++++++++++++++++++++++++ frontend/src/main.ts | 6 +- frontend/src/router/index.ts | 15 ++ frontend/src/views/HomeView.vue | 5 +- frontend/src/views/HostView.vue | 75 ++++++ frontend/src/views/JoinView.vue | 60 +++++ frontend/src/views/PlayView.vue | 10 + 13 files changed, 556 insertions(+), 276 deletions(-) create mode 100644 frontend/Dockerfile delete mode 100644 frontend/src/components/Board/TetrisBoard.vue create mode 100644 frontend/src/components/Home.vue create mode 100644 frontend/src/components/TetrisBoard.vue create mode 100644 frontend/src/views/HostView.vue create mode 100644 frontend/src/views/JoinView.vue create mode 100644 frontend/src/views/PlayView.vue (limited to 'frontend') diff --git a/frontend/.gitignore b/frontend/.gitignore index 38adffa..cd1e201 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +.env \ No newline at end of file diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 0000000..723e97e --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,20 @@ +FROM node:18 as build + +WORKDIR /app + +COPY package.json ./ + +RUN npm install + +COPY . . + +RUN npm run build + + +FROM nginx:1.21.1-alpine + +COPY --from=build /app/dist /usr/share/nginx/html + +EXPOSE 80 + +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 8c8ea96..99dddae 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8,12 +8,13 @@ "name": "frontend", "version": "0.0.0", "dependencies": { + "qrcode.vue": "^3.4.1", "vue": "^3.3.4", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", + "@types/node": "^18.18.8", "@vitejs/plugin-vue": "^4.4.0", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", @@ -1094,6 +1095,14 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/qrcode.vue": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/qrcode.vue/-/qrcode.vue-3.4.1.tgz", + "integrity": "sha512-wq/zHsifH4FJ1GXQi8/wNxD1KfQkckIpjK1KPTc/qwYU5/Bkd4me0w4xZSg6EXk6xLBkVDE0zxVagewv5EMAVA==", + "peerDependencies": { + "vue": "^3.0.0" + } + }, "node_modules/read-pkg": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index 05e0af5..97c0345 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -10,12 +10,13 @@ "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" }, "dependencies": { + "qrcode.vue": "^3.4.1", "vue": "^3.3.4", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", + "@types/node": "^18.18.8", "@vitejs/plugin-vue": "^4.4.0", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", diff --git a/frontend/src/components/Board/TetrisBoard.vue b/frontend/src/components/Board/TetrisBoard.vue deleted file mode 100644 index 7528ad7..0000000 --- a/frontend/src/components/Board/TetrisBoard.vue +++ /dev/null @@ -1,270 +0,0 @@ - - - - - \ No newline at end of file diff --git a/frontend/src/components/Home.vue b/frontend/src/components/Home.vue new file mode 100644 index 0000000..3dc0341 --- /dev/null +++ b/frontend/src/components/Home.vue @@ -0,0 +1,15 @@ + \ No newline at end of file diff --git a/frontend/src/components/TetrisBoard.vue b/frontend/src/components/TetrisBoard.vue new file mode 100644 index 0000000..4e5911b --- /dev/null +++ b/frontend/src/components/TetrisBoard.vue @@ -0,0 +1,340 @@ + + + + + \ No newline at end of file diff --git a/frontend/src/main.ts b/frontend/src/main.ts index a4db798..7f87494 100644 --- a/frontend/src/main.ts +++ b/frontend/src/main.ts @@ -3,11 +3,15 @@ import './assets/main.css' import { createApp } from 'vue' import App from './App.vue' import router from './router' -import TetrisBoard from './components/Board/TetrisBoard.vue' +import TetrisBoard from './components/TetrisBoard.vue' +import Home from './components/Home.vue' +import QrcodeVue from 'qrcode.vue' const app = createApp(App) app.use(router) app.component('TetrisBoard', TetrisBoard) +app.component('Home', Home) +app.component('QRCode', QrcodeVue) app.mount('#app') diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index e58491f..fe575db 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -8,6 +8,21 @@ const router = createRouter({ path: '/', name: 'home', component: HomeView + }, + { + path: '/host', + name: 'host', + component: () => import('../views/HostView.vue') + }, + { + path: '/play', + name: 'play', + component: () => import('../views/PlayView.vue') + }, + { + path: '/join/:id', + name: 'join', + component: () => import('../views/JoinView.vue') } ] }) diff --git a/frontend/src/views/HomeView.vue b/frontend/src/views/HomeView.vue index 09d319e..0b9fe32 100644 --- a/frontend/src/views/HomeView.vue +++ b/frontend/src/views/HomeView.vue @@ -1,10 +1,9 @@ diff --git a/frontend/src/views/HostView.vue b/frontend/src/views/HostView.vue new file mode 100644 index 0000000..5b29289 --- /dev/null +++ b/frontend/src/views/HostView.vue @@ -0,0 +1,75 @@ + + + diff --git a/frontend/src/views/JoinView.vue b/frontend/src/views/JoinView.vue new file mode 100644 index 0000000..abfbd1a --- /dev/null +++ b/frontend/src/views/JoinView.vue @@ -0,0 +1,60 @@ + + + diff --git a/frontend/src/views/PlayView.vue b/frontend/src/views/PlayView.vue new file mode 100644 index 0000000..8c00589 --- /dev/null +++ b/frontend/src/views/PlayView.vue @@ -0,0 +1,10 @@ + + + -- cgit v1.2.3-70-g09d2