From e883cac88860a441c1a06ae78bd59bba267a148d Mon Sep 17 00:00:00 2001 From: rimutaka Date: Sat, 5 Oct 2024 21:09:51 +1300 Subject: [PATCH] Added PrimeVue components --- README.md | 12 +++++ vue/package-lock.json | 81 ++++++++++++++++++++++++++++++- vue/package.json | 4 +- vue/src/App.vue | 14 ++---- vue/src/assets/main.css | 16 +++++- vue/src/components/HelloWorld.vue | 14 ------ vue/src/components/TheWelcome.vue | 71 +-------------------------- vue/src/components/TopHeader.vue | 6 +++ vue/src/components/TopMenu.vue | 53 ++++++++++++++++++++ vue/src/main.ts | 8 +++ 10 files changed, 181 insertions(+), 98 deletions(-) delete mode 100644 vue/src/components/HelloWorld.vue create mode 100644 vue/src/components/TopHeader.vue create mode 100644 vue/src/components/TopMenu.vue diff --git a/README.md b/README.md index 09065d8..de18a96 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,10 @@ Technical features: ## Deployment +### Dev env + +* Front-end: `npm run build` + `git push` to let [.github/workflows/deploy.yml] copy the built files to the S3 bucket. + ## Management ### Adding, editing and removing questions @@ -51,3 +55,11 @@ Technical features: ### Managing learner accounts ### Viewing stats + +## Tech stack and attribution + +* Cheese logo nicked from https://www.freepik.com/icon/cheese_4900716 +* Front-end: Vue +* CSS: https://v2.tailwindcss.com/docs/ +* UI components: https://primevue.org/ +* \ No newline at end of file diff --git a/vue/package-lock.json b/vue/package-lock.json index 95b1237..03f8fc1 100644 --- a/vue/package-lock.json +++ b/vue/package-lock.json @@ -8,6 +8,8 @@ "name": "vue", "version": "0.0.0", "dependencies": { + "@primevue/themes": "^4.0.7", + "primevue": "^4.0.7", "vue": "^3.4.29", "vue-router": "^4.3.3" }, @@ -25,7 +27,7 @@ "eslint-plugin-vue": "^9.23.0", "npm-run-all2": "^6.2.0", "postcss": "^8.4.47", - "prettier": "^3.2.5", + "prettier": "^3.3.3", "tailwindcss": "^3.4.13", "typescript": "~5.4.0", "vite": "^5.3.1", @@ -1266,6 +1268,68 @@ "dev": true, "license": "MIT" }, + "node_modules/@primeuix/styled": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@primeuix/styled/-/styled-0.0.5.tgz", + "integrity": "sha512-pVoGn/uPkVm/DyF3TR3EmH/pL/dP4nR42FcYbVduFq9VfO3KVeOEqvcCULHXos66RZO9MCbCFUoLy6ctf9GUGQ==", + "license": "MIT", + "dependencies": { + "@primeuix/utils": "^0.0.5" + }, + "engines": { + "node": ">=12.11.0" + } + }, + "node_modules/@primeuix/utils": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@primeuix/utils/-/utils-0.0.5.tgz", + "integrity": "sha512-ntUiUgtRtkF8KuaxHffzhYxQxoXk6LAPHm7CVlFjdqS8Rx8xRkLkZVyo84E+pO2hcNFkOGVP/GxHhQ2s94O8zA==", + "license": "MIT", + "engines": { + "node": ">=12.11.0" + } + }, + "node_modules/@primevue/core": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@primevue/core/-/core-4.0.7.tgz", + "integrity": "sha512-SvWiNBEeR6hm4wjnze+rITUjHMFLwIzpRFlq+GqmJyZmjJy4h8UUksi0EoyqAWCAwKgmwlxY6XNqGJmMVyOguQ==", + "license": "MIT", + "dependencies": { + "@primeuix/styled": "^0.0.5", + "@primeuix/utils": "^0.0.5" + }, + "engines": { + "node": ">=12.11.0" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@primevue/icons": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@primevue/icons/-/icons-4.0.7.tgz", + "integrity": "sha512-tj4dfRdV5iN6O0mbkpjhMsGlT3wZTqOPL779ndY5gKuCwN5zcFmKmABWVQmr/ClRivnMkw6Yr1x6gRTV/N0ydg==", + "license": "MIT", + "dependencies": { + "@primeuix/utils": "^0.0.5", + "@primevue/core": "4.0.7" + }, + "engines": { + "node": ">=12.11.0" + } + }, + "node_modules/@primevue/themes": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@primevue/themes/-/themes-4.0.7.tgz", + "integrity": "sha512-ZbDUrpBmtuqdeegNwUaJTubaLDBBJWOc4Z6UoQM3DG2c7EAE19wQbuh+cG9zqA7sT/Xsp+ACC/Z9e4FnfqB55g==", + "license": "MIT", + "dependencies": { + "@primeuix/styled": "^0.0.5" + }, + "engines": { + "node": ">=12.11.0" + } + }, "node_modules/@rollup/pluginutils": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.2.tgz", @@ -4753,6 +4817,21 @@ "node": ">=6.0.0" } }, + "node_modules/primevue": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/primevue/-/primevue-4.0.7.tgz", + "integrity": "sha512-88qazHqldkqsCxvhjnjO65XMBfJyHQoFW3BQvrJYO6RqPheHB4f7cY61eqtBpJAjnM5x+YKTZiWx/gBuUzqT7Q==", + "license": "MIT", + "dependencies": { + "@primeuix/styled": "^0.0.5", + "@primeuix/utils": "^0.0.5", + "@primevue/core": "4.0.7", + "@primevue/icons": "4.0.7" + }, + "engines": { + "node": ">=12.11.0" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", diff --git a/vue/package.json b/vue/package.json index 035a9d5..7c632d1 100644 --- a/vue/package.json +++ b/vue/package.json @@ -13,6 +13,8 @@ "format": "prettier --write src/" }, "dependencies": { + "@primevue/themes": "^4.0.7", + "primevue": "^4.0.7", "vue": "^3.4.29", "vue-router": "^4.3.3" }, @@ -30,7 +32,7 @@ "eslint-plugin-vue": "^9.23.0", "npm-run-all2": "^6.2.0", "postcss": "^8.4.47", - "prettier": "^3.2.5", + "prettier": "^3.3.3", "tailwindcss": "^3.4.13", "typescript": "~5.4.0", "vite": "^5.3.1", diff --git a/vue/src/App.vue b/vue/src/App.vue index 10059c3..88bff2a 100644 --- a/vue/src/App.vue +++ b/vue/src/App.vue @@ -1,19 +1,13 @@