From bd72a684cb96e4d9cc7c9af01934758a1512e663 Mon Sep 17 00:00:00 2001 From: jvJUCA Date: Fri, 8 Mar 2024 13:28:05 -0300 Subject: [PATCH 01/16] feat: componentized cooperators view for 2 types of tests --- .../organisms/ModeratedCoopsView.vue | 536 +++++++++++++++++ .../organisms/UnmoderatedCoopsView.vue | 549 ++++++++++++++++++ src/views/admin/CooperatorsView.vue | 547 +---------------- 3 files changed, 1100 insertions(+), 532 deletions(-) create mode 100644 src/components/organisms/ModeratedCoopsView.vue create mode 100644 src/components/organisms/UnmoderatedCoopsView.vue diff --git a/src/components/organisms/ModeratedCoopsView.vue b/src/components/organisms/ModeratedCoopsView.vue new file mode 100644 index 000000000..3c2fd6775 --- /dev/null +++ b/src/components/organisms/ModeratedCoopsView.vue @@ -0,0 +1,536 @@ + + + + + diff --git a/src/components/organisms/UnmoderatedCoopsView.vue b/src/components/organisms/UnmoderatedCoopsView.vue new file mode 100644 index 000000000..8accd7dc8 --- /dev/null +++ b/src/components/organisms/UnmoderatedCoopsView.vue @@ -0,0 +1,549 @@ + + + + + diff --git a/src/views/admin/CooperatorsView.vue b/src/views/admin/CooperatorsView.vue index e591fada0..62a229a41 100644 --- a/src/views/admin/CooperatorsView.vue +++ b/src/views/admin/CooperatorsView.vue @@ -1,549 +1,32 @@ - - From 85d96046bc93a98df1e98f369a79228da5963b96 Mon Sep 17 00:00:00 2001 From: jvJUCA Date: Fri, 8 Mar 2024 16:36:26 -0300 Subject: [PATCH 02/16] feat(ModContributors): progress made with the front-end --- .../organisms/ModeratedCoopsView.vue | 88 ++++++++++++------- 1 file changed, 54 insertions(+), 34 deletions(-) diff --git a/src/components/organisms/ModeratedCoopsView.vue b/src/components/organisms/ModeratedCoopsView.vue index 3c2fd6775..9fdfb56e0 100644 --- a/src/components/organisms/ModeratedCoopsView.vue +++ b/src/components/organisms/ModeratedCoopsView.vue @@ -43,15 +43,6 @@
- - {{ typeof coop == 'object' ? coop.email : coop }} - - + - - - mdi-email - + Invite Evaluator To Test + - - + + Email + + + + Scheduled at + + + + + + Invite message + + @@ -533,4 +544,13 @@ export default { margin-bottom: 0px; padding-bottom: 0px; } +.modalInternTitles { + max-width: 270px; + font-family: 'Poppins', Helvetica; + color: #626e76; + font-size: 18px; + font-style: normal; + font-weight: 500; + line-height: normal; +} From b3f8eae1ff823725e54d3109d1571cbdef5c565a Mon Sep 17 00:00:00 2001 From: jvJUCA Date: Wed, 27 Mar 2024 16:21:26 -0300 Subject: [PATCH 03/16] fix(coops) now can't invite users without account --- src/components/organisms/UnmoderatedCoopsView.vue | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/components/organisms/UnmoderatedCoopsView.vue b/src/components/organisms/UnmoderatedCoopsView.vue index 8accd7dc8..1d65d6f48 100644 --- a/src/components/organisms/UnmoderatedCoopsView.vue +++ b/src/components/organisms/UnmoderatedCoopsView.vue @@ -263,7 +263,6 @@ import { cooperatorsHeaders } from '@/utils/headers' import { roleOptionsItems } from '@/utils/items' import Notification from '@/models/Notification' const UIDGenerator = require('uid-generator') -import Vue from 'vue' export default { components: { ShowInfo, @@ -455,7 +454,14 @@ export default { //if is object then no need to validate if (this.email.length) { if (!this.email.includes('@') || !this.email.includes('.')) { - Vue.$toast.error(this.email + ' is not a valid email') + this.$toast.error(this.email + ' is not a valid email') + } + if (!this.users.find((user) => user.email === this.email)) { + // Verifica se o e-mail inserido manualmente existe na lista de usuários + this.$toast.error( + this.email + ' is not a valid email or does not exist', + ) + return // Se não existir, interrompe a execução } else if (!this.selectedCoops.includes(this.email)) { this.selectedCoops.push(this.email) } From 241bd1e418343599da4dcd02d2fcc3b84128e693 Mon Sep 17 00:00:00 2001 From: jvJUCA Date: Wed, 3 Apr 2024 17:55:54 -0300 Subject: [PATCH 04/16] feat: add date picker to cooperators invite --- .../organisms/ModeratedCoopsView.vue | 80 +++++++++++-------- 1 file changed, 47 insertions(+), 33 deletions(-) diff --git a/src/components/organisms/ModeratedCoopsView.vue b/src/components/organisms/ModeratedCoopsView.vue index 9fdfb56e0..5a488537c 100644 --- a/src/components/organisms/ModeratedCoopsView.vue +++ b/src/components/organisms/ModeratedCoopsView.vue @@ -228,47 +228,58 @@ - - Email - - - - Scheduled at - - + + + Email + - - Invite message - - + Scheduled at + + + + + + Invite message + + + + + + + @@ -297,6 +308,9 @@ export default { }, props: { id: { type: String, default: '' } }, data: () => ({ + date: new Date(Date.now() - new Date().getTimezoneOffset() * 60000) + .toISOString() + .substr(0, 10), object: null, headers: [ { text: 'Email', value: 'email' }, From c2994071d37040a0aca37813038b9959904abdb8 Mon Sep 17 00:00:00 2001 From: jvJUCA Date: Thu, 4 Apr 2024 17:48:23 -0300 Subject: [PATCH 05/16] style: import poppins font in the project --- public/index.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/index.html b/public/index.html index e7b06ed3f..cd7c29206 100644 --- a/public/index.html +++ b/public/index.html @@ -10,6 +10,10 @@ rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" /> + Date: Thu, 4 Apr 2024 17:48:49 -0300 Subject: [PATCH 06/16] style: figma design successfully implemented --- public/Schedule.svg | 1 + .../organisms/ModeratedCoopsView.vue | 171 ++++++++++++------ 2 files changed, 119 insertions(+), 53 deletions(-) create mode 100644 public/Schedule.svg diff --git a/public/Schedule.svg b/public/Schedule.svg new file mode 100644 index 000000000..99f09f527 --- /dev/null +++ b/public/Schedule.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/organisms/ModeratedCoopsView.vue b/src/components/organisms/ModeratedCoopsView.vue index 5a488537c..140e04b45 100644 --- a/src/components/organisms/ModeratedCoopsView.vue +++ b/src/components/organisms/ModeratedCoopsView.vue @@ -30,6 +30,7 @@ right color="#F9A826" v-bind="attrs" + :disabled="!comboboxModel.email" @click="openInvitationModal()" v-on="on" > @@ -46,12 +47,15 @@ { if (!guest.accepted) { this.notifyCooperator(guest) From ab56084e9bc316999d8fbbbd88f2dbbd788c72ef Mon Sep 17 00:00:00 2001 From: jvJUCA Date: Thu, 11 Apr 2024 15:35:30 -0300 Subject: [PATCH 15/16] fix(style): fix scroll on edit --- src/views/admin/EditTestView.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/admin/EditTestView.vue b/src/views/admin/EditTestView.vue index 10a4cc83c..fb53a0571 100644 --- a/src/views/admin/EditTestView.vue +++ b/src/views/admin/EditTestView.vue @@ -86,7 +86,7 @@ /> --> - + \ No newline at end of file + From 80084f5e3c93cf89fc23c3dbbb26b422517bfc94 Mon Sep 17 00:00:00 2001 From: jvJUCA Date: Thu, 11 Apr 2024 15:42:50 -0300 Subject: [PATCH 16/16] feat: sessions with time verification and router guard --- src/views/public/ModeratedTestView.vue | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/views/public/ModeratedTestView.vue b/src/views/public/ModeratedTestView.vue index a99651e3f..d27a3fcd7 100644 --- a/src/views/public/ModeratedTestView.vue +++ b/src/views/public/ModeratedTestView.vue @@ -13,7 +13,16 @@

{{ test.testDescription }}

- + + The test is available at + {{ new Date(this.testDate).toLocaleString() }} user.userDocId === this.token, ) + if (!this.user.userDocId !== this.token && !this.isAdmin) { + this.$toast.error(`You don't have access to this session.`) + this.$router.push('/testslist/') + } if (this.sessionCooperator.testDate) { this.testDate = this.sessionCooperator.testDate } else { @@ -976,7 +990,7 @@ export default { this.$toast.info('Use a session your session link to the test') this.$router.push('/managerview/' + this.test.id) } - await this.verifyAdmin() + await this.mappingSteps() this.consentCompleted = this.currentUserTestAnswer.consentCompleted const ref = doc(db, 'tests/', this.roomTestId)