From 25d6e63d32c1025d6e64ddc3d9b5909fa6655bb6 Mon Sep 17 00:00:00 2001 From: xeovalyte Date: Fri, 10 Feb 2023 13:55:18 +0100 Subject: [PATCH] added all times --- frontend/package-lock.json | 169 ++++++++++++++--- frontend/package.json | 3 +- frontend/pages/wedstrijd/addcontest.vue | 17 +- frontend/pages/wedstrijd/alltimes.vue | 229 ++++++++++++++++++++++++ frontend/pages/wedstrijd/index.vue | 2 +- frontend/pages/wedstrijd/owntimes.vue | 123 ++++++++++++- 6 files changed, 509 insertions(+), 34 deletions(-) create mode 100644 frontend/pages/wedstrijd/alltimes.vue diff --git a/frontend/package-lock.json b/frontend/package-lock.json index bb19465..a21cfcf 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -4,7 +4,6 @@ "requires": true, "packages": { "": { - "name": "frontend", "hasInstallScript": true, "dependencies": { "@capacitor/core": "^4.3.0", @@ -13,6 +12,7 @@ "@capacitor/push-notifications": "^4.1.0", "@formkit/nuxt": "^1.0.0-beta.11-c95e605", "@nuxtjs/robots": "^3.0.0", + "@vueuse/components": "^9.12.0", "@vueuse/firebase": "^9.2.0", "@vueuse/shared": "^9.4.0", "firebase": "^9.14.0", @@ -24,7 +24,7 @@ "@nuxtjs/plausible": "^0.2.0", "@nuxtjs/tailwindcss": "^6.1.3", "@tailwindcss/forms": "^0.5.3", - "@vueuse/core": "^9.6.0", + "@vueuse/core": "^9.12.0", "@vueuse/nuxt": "^9.6.0", "nuxt": "^3.0.0-rc.14", "nuxt-icon": "^0.1.7" @@ -2899,8 +2899,7 @@ "node_modules/@types/web-bluetooth": { "version": "0.0.16", "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", - "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", - "dev": true + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" }, "node_modules/@unhead/dom": { "version": "1.0.4", @@ -3234,15 +3233,79 @@ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.45.tgz", "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==" }, + "node_modules/@vueuse/components": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/@vueuse/components/-/components-9.12.0.tgz", + "integrity": "sha512-U468xbr2PISuWepeOU4J8zkVj0aDhiFe230oDhnIm8mHtcS9gM2vSKTB32InxTs6kVma60yAGdqBySkyFNX/+w==", + "dependencies": { + "@vueuse/core": "9.12.0", + "@vueuse/shared": "9.12.0", + "vue-demi": "*" + } + }, + "node_modules/@vueuse/components/node_modules/@vueuse/shared": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.12.0.tgz", + "integrity": "sha512-TWuJLACQ0BVithVTRbex4Wf1a1VaRuSpVeyEd4vMUWl54PzlE0ciFUshKCXnlLuD0lxIaLK4Ypj3NXYzZh4+SQ==", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/components/node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/@vueuse/core": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.6.0.tgz", - "integrity": "sha512-qGUcjKQXHgN+jqXEgpeZGoxdCbIDCdVPz3QiF1uyecVGbMuM63o96I1GjYx5zskKgRI0FKSNsVWM7rwrRMTf6A==", - "dev": true, + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.12.0.tgz", + "integrity": "sha512-h/Di8Bvf6xRcvS/PvUVheiMYYz3U0tH3X25YxONSaAUBa841ayMwxkuzx/DGUMCW/wHWzD8tRy2zYmOC36r4sg==", "dependencies": { "@types/web-bluetooth": "^0.0.16", - "@vueuse/metadata": "9.6.0", - "@vueuse/shared": "9.6.0", + "@vueuse/metadata": "9.12.0", + "@vueuse/shared": "9.12.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/@vueuse/metadata": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.12.0.tgz", + "integrity": "sha512-9oJ9MM9lFLlmvxXUqsR1wLt1uF7EVbP5iYaHJYqk+G2PbMjY6EXvZeTjbdO89HgoF5cI6z49o2zT/jD9SVoNpQ==", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/@vueuse/shared": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.12.0.tgz", + "integrity": "sha512-TWuJLACQ0BVithVTRbex4Wf1a1VaRuSpVeyEd4vMUWl54PzlE0ciFUshKCXnlLuD0lxIaLK4Ypj3NXYzZh4+SQ==", + "dependencies": { "vue-demi": "*" }, "funding": { @@ -3253,7 +3316,6 @@ "version": "0.13.11", "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", - "dev": true, "hasInstallScript": true, "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", @@ -3410,6 +3472,21 @@ "node": "^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, + "node_modules/@vueuse/nuxt/node_modules/@vueuse/core": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.6.0.tgz", + "integrity": "sha512-qGUcjKQXHgN+jqXEgpeZGoxdCbIDCdVPz3QiF1uyecVGbMuM63o96I1GjYx5zskKgRI0FKSNsVWM7rwrRMTf6A==", + "dev": true, + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.6.0", + "@vueuse/shared": "9.6.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/@vueuse/nuxt/node_modules/vue-demi": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", @@ -15200,8 +15277,7 @@ "@types/web-bluetooth": { "version": "0.0.16", "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", - "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", - "dev": true + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" }, "@unhead/dom": { "version": "1.0.4", @@ -15494,23 +15570,60 @@ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.45.tgz", "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==" }, - "@vueuse/core": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.6.0.tgz", - "integrity": "sha512-qGUcjKQXHgN+jqXEgpeZGoxdCbIDCdVPz3QiF1uyecVGbMuM63o96I1GjYx5zskKgRI0FKSNsVWM7rwrRMTf6A==", - "dev": true, + "@vueuse/components": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/@vueuse/components/-/components-9.12.0.tgz", + "integrity": "sha512-U468xbr2PISuWepeOU4J8zkVj0aDhiFe230oDhnIm8mHtcS9gM2vSKTB32InxTs6kVma60yAGdqBySkyFNX/+w==", "requires": { - "@types/web-bluetooth": "^0.0.16", - "@vueuse/metadata": "9.6.0", - "@vueuse/shared": "9.6.0", + "@vueuse/core": "9.12.0", + "@vueuse/shared": "9.12.0", "vue-demi": "*" }, "dependencies": { + "@vueuse/shared": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.12.0.tgz", + "integrity": "sha512-TWuJLACQ0BVithVTRbex4Wf1a1VaRuSpVeyEd4vMUWl54PzlE0ciFUshKCXnlLuD0lxIaLK4Ypj3NXYzZh4+SQ==", + "requires": { + "vue-demi": "*" + } + }, + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "requires": {} + } + } + }, + "@vueuse/core": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.12.0.tgz", + "integrity": "sha512-h/Di8Bvf6xRcvS/PvUVheiMYYz3U0tH3X25YxONSaAUBa841ayMwxkuzx/DGUMCW/wHWzD8tRy2zYmOC36r4sg==", + "requires": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.12.0", + "@vueuse/shared": "9.12.0", + "vue-demi": "*" + }, + "dependencies": { + "@vueuse/metadata": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.12.0.tgz", + "integrity": "sha512-9oJ9MM9lFLlmvxXUqsR1wLt1uF7EVbP5iYaHJYqk+G2PbMjY6EXvZeTjbdO89HgoF5cI6z49o2zT/jD9SVoNpQ==" + }, + "@vueuse/shared": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.12.0.tgz", + "integrity": "sha512-TWuJLACQ0BVithVTRbex4Wf1a1VaRuSpVeyEd4vMUWl54PzlE0ciFUshKCXnlLuD0lxIaLK4Ypj3NXYzZh4+SQ==", + "requires": { + "vue-demi": "*" + } + }, "vue-demi": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", - "dev": true, "requires": {} } } @@ -15609,6 +15722,18 @@ "untyped": "^1.0.0" } }, + "@vueuse/core": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.6.0.tgz", + "integrity": "sha512-qGUcjKQXHgN+jqXEgpeZGoxdCbIDCdVPz3QiF1uyecVGbMuM63o96I1GjYx5zskKgRI0FKSNsVWM7rwrRMTf6A==", + "dev": true, + "requires": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.6.0", + "@vueuse/shared": "9.6.0", + "vue-demi": "*" + } + }, "vue-demi": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", diff --git a/frontend/package.json b/frontend/package.json index 5bd858e..5b0cadd 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -12,7 +12,7 @@ "@nuxtjs/plausible": "^0.2.0", "@nuxtjs/tailwindcss": "^6.1.3", "@tailwindcss/forms": "^0.5.3", - "@vueuse/core": "^9.6.0", + "@vueuse/core": "^9.12.0", "@vueuse/nuxt": "^9.6.0", "nuxt": "^3.0.0-rc.14", "nuxt-icon": "^0.1.7" @@ -24,6 +24,7 @@ "@capacitor/push-notifications": "^4.1.0", "@formkit/nuxt": "^1.0.0-beta.11-c95e605", "@nuxtjs/robots": "^3.0.0", + "@vueuse/components": "^9.12.0", "@vueuse/firebase": "^9.2.0", "@vueuse/shared": "^9.4.0", "firebase": "^9.14.0", diff --git a/frontend/pages/wedstrijd/addcontest.vue b/frontend/pages/wedstrijd/addcontest.vue index e9cc16a..7c7e9dc 100644 --- a/frontend/pages/wedstrijd/addcontest.vue +++ b/frontend/pages/wedstrijd/addcontest.vue @@ -34,11 +34,17 @@ + + + -
+

{{ event.name }}

@@ -103,6 +109,7 @@ const modelData = ref({ const contest = ref({ name: '', + type: '', date: '', events: { obstacleSwim: { @@ -129,6 +136,12 @@ const contest = ref({ id: 'manikinCarryWithFins', competitors: [], }, + manikinTowWithFins: { + open: false, + name: '100m Manikin Tow with Fins', + id: 'manikinTowWithFins', + competitors: [], + }, superLifesaver: { open: false, name: '200m Super Lifesaver', @@ -192,7 +205,7 @@ const submitContestForm = async () => { const docRef = doc(collection(db, 'timings')) batch.set(docRef, { relatiecode: competitor.relatiecode, - contest: { name: contest.value.name, date: contest.value.date.toString() }, + contest: { name: contest.value.name, date: contest.value.date.toString(), type: contest.value.type }, event: event.id, time: { minutes: competitor.time.minutes.toString().padStart(2, '0'), seconds: competitor.time.seconds.toString().padStart(2, '0'), milliseconds: competitor.time.milliseconds.toString().padStart(2, '0'), combined: combinedTime }, dsq: competitor.dsq, diff --git a/frontend/pages/wedstrijd/alltimes.vue b/frontend/pages/wedstrijd/alltimes.vue new file mode 100644 index 0000000..82a557f --- /dev/null +++ b/frontend/pages/wedstrijd/alltimes.vue @@ -0,0 +1,229 @@ + + + + + diff --git a/frontend/pages/wedstrijd/index.vue b/frontend/pages/wedstrijd/index.vue index 7e48c80..a5100ae 100644 --- a/frontend/pages/wedstrijd/index.vue +++ b/frontend/pages/wedstrijd/index.vue @@ -6,7 +6,7 @@
- + Brigade Tijden diff --git a/frontend/pages/wedstrijd/owntimes.vue b/frontend/pages/wedstrijd/owntimes.vue index f9570b2..3cbe891 100644 --- a/frontend/pages/wedstrijd/owntimes.vue +++ b/frontend/pages/wedstrijd/owntimes.vue @@ -1,5 +1,38 @@ + +