From 15209c17f6e4db5df534f21a049e46643b7fcafd Mon Sep 17 00:00:00 2001 From: chaw Date: Thu, 14 Sep 2023 16:29:37 +0800 Subject: [PATCH 1/8] [CORE-5876] pulsecheck --- .../v3/src/app/pages/review-desktop/review-desktop.page.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/projects/v3/src/app/pages/review-desktop/review-desktop.page.ts b/projects/v3/src/app/pages/review-desktop/review-desktop.page.ts index cf82dbda0..b571e7c78 100644 --- a/projects/v3/src/app/pages/review-desktop/review-desktop.page.ts +++ b/projects/v3/src/app/pages/review-desktop/review-desktop.page.ts @@ -102,6 +102,11 @@ export class ReviewDesktopPage implements OnInit { event.answers ).toPromise(); + // [CORE-5876] - Fastfeedback is now added for reviewer + if (this.assessment.pulseCheck === true && event.autoSave === false) { + await this.assessmentService.pullFastFeedback(); + } + this.assessmentService.getAssessment(this.assessment.id, 'review', 0, this.currentReview.contextId, this.submission.id); this.reviewService.getReviews(); @@ -113,8 +118,6 @@ export class ReviewDesktopPage implements OnInit { return; } - this.savingText$.next($localize`Last saved ${this.utils.getFormatedCurrentTime()}`); - this.loading = false; this.btnDisabled$.next(false); } catch (err) { From 682d984c30d4e6794d81f3ae80ad86fdc3fc3ef0 Mon Sep 17 00:00:00 2001 From: chaw Date: Thu, 24 Aug 2023 13:35:09 +0800 Subject: [PATCH 2/8] [CORE-6015] autogrow for all textarea --- .../app/components/file/file.component.html | 2 + .../multi-team-member-selector.component.html | 24 +++++-- .../multiple/multiple.component.html | 33 ++++++---- .../multiple/multiple.component.scss | 3 + .../app/components/oneof/oneof.component.html | 30 +++++---- .../app/components/oneof/oneof.component.scss | 4 ++ .../support-popup.component.html | 6 +- .../team-member-selector.component.html | 1 + .../app/components/text/text.component.html | 63 ++++++++++++------- 9 files changed, 112 insertions(+), 54 deletions(-) diff --git a/projects/v3/src/app/components/file/file.component.html b/projects/v3/src/app/components/file/file.component.html index c34a77923..d36c38373 100644 --- a/projects/v3/src/app/components/file/file.component.html +++ b/projects/v3/src/app/components/file/file.component.html @@ -30,6 +30,7 @@ Feedback @@ -84,6 +85,7 @@ Feedback + + + + Feedback + + - diff --git a/projects/v3/src/app/components/multiple/multiple.component.html b/projects/v3/src/app/components/multiple/multiple.component.html index 6ffa2e30d..79b03c3df 100644 --- a/projects/v3/src/app/components/multiple/multiple.component.html +++ b/projects/v3/src/app/components/multiple/multiple.component.html @@ -87,16 +87,25 @@

{ > - + + + + Feedback + + + + diff --git a/projects/v3/src/app/components/multiple/multiple.component.scss b/projects/v3/src/app/components/multiple/multiple.component.scss index 4da1e4d48..771d9c49c 100644 --- a/projects/v3/src/app/components/multiple/multiple.component.scss +++ b/projects/v3/src/app/components/multiple/multiple.component.scss @@ -18,8 +18,11 @@ ion-item { } ion-textarea { + --border-radius: 6px; padding-left: 5px; padding-right: 5px; + border: 1px solid var(--practera-grey-50); + border-radius: var(--border-radius); font-size: 14px !important; } diff --git a/projects/v3/src/app/components/oneof/oneof.component.html b/projects/v3/src/app/components/oneof/oneof.component.html index 16ed49d1e..e9f05fb1a 100644 --- a/projects/v3/src/app/components/oneof/oneof.component.html +++ b/projects/v3/src/app/components/oneof/oneof.component.html @@ -84,16 +84,24 @@

{{question. - + + + + Feedback + + + diff --git a/projects/v3/src/app/components/oneof/oneof.component.scss b/projects/v3/src/app/components/oneof/oneof.component.scss index 325c83189..c31f969ba 100644 --- a/projects/v3/src/app/components/oneof/oneof.component.scss +++ b/projects/v3/src/app/components/oneof/oneof.component.scss @@ -21,11 +21,15 @@ ion-radio-group ion-item ion-label { } ion-textarea { + --border-radius: 6px; padding-left: 5px; padding-right: 5px; + border: 1px solid var(--practera-grey-50); + border-radius: var(--border-radius); font-size: 14px !important; } + .answer-text { margin-bottom: 10px; } diff --git a/projects/v3/src/app/components/support-popup/support-popup.component.html b/projects/v3/src/app/components/support-popup/support-popup.component.html index cf1fab558..854cece88 100644 --- a/projects/v3/src/app/components/support-popup/support-popup.component.html +++ b/projects/v3/src/app/components/support-popup/support-popup.component.html @@ -47,7 +47,11 @@

Please describe your problem *

- +

Attach support files (Optional. Screenshots or documents)

diff --git a/projects/v3/src/app/components/team-member-selector/team-member-selector.component.html b/projects/v3/src/app/components/team-member-selector/team-member-selector.component.html index 03ee5066b..abd63583d 100644 --- a/projects/v3/src/app/components/team-member-selector/team-member-selector.component.html +++ b/projects/v3/src/app/components/team-member-selector/team-member-selector.component.html @@ -66,6 +66,7 @@

{{question.n
{{ submission?.answer }}

-
- +
+ + + Your Answer is + + + + + + + + Feedback + + + -
From 10bc5098629868958230dff9384f0fa8166dd4cd Mon Sep 17 00:00:00 2001 From: chaw Date: Thu, 24 Aug 2023 15:06:27 +0800 Subject: [PATCH 3/8] [CORE-6015] quick team retrieve fix --- .../src/app/components/activity/activity.component.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/projects/v3/src/app/components/activity/activity.component.ts b/projects/v3/src/app/components/activity/activity.component.ts index 3d86c3344..505c94eac 100644 --- a/projects/v3/src/app/components/activity/activity.component.ts +++ b/projects/v3/src/app/components/activity/activity.component.ts @@ -135,16 +135,16 @@ export class ActivityComponent { return task.type === 'Assessment' && (!task.status || task.status === '' || task.status === 'in progress'); } - goto(task: Task, keyboardEvent?: KeyboardEvent) { + async goto(task: Task, keyboardEvent?: KeyboardEvent) { if (keyboardEvent && (keyboardEvent?.code === 'Space' || keyboardEvent?.code === 'Enter')) { keyboardEvent.preventDefault(); } else if (keyboardEvent) { return; } - return this._validateTeamAssessment(task, () => { + return await this._validateTeamAssessment(task, async () => { if (task.type === 'Locked') { - return this.notificationsService.alert({ + return await this.notificationsService.alert({ message: $localize`This part of the app is still locked. You can unlock the features by engaging with the app and completing all tasks.`, buttons: [ { @@ -154,6 +154,7 @@ export class ActivityComponent { ] }); } + this.navigate.emit(task); }); } @@ -162,12 +163,12 @@ export class ActivityComponent { // update teamId await this.sharedService.getTeamInfo().toPromise(); - const doAssessment = (this.utils.isEmpty(this.submission) || this.submission.status === 'in progress'); + const doAssessment = (this.utils.isEmpty(this.submission) || ['in progress', 'pending review'].includes(this.submission.status)); const teamId = this.storageService.getUser().teamId; // display pop up if it is team assessment or team 360 assessment and user is not in team if (doAssessment && (task.isForTeam || task.assessmentType === 'team360') && !teamId) { - return this.notificationsService.alert({ + return await this.notificationsService.alert({ message: $localize`Currently you are not in a team, please reach out to your Administrator or Coordinator to proceed with next steps.`, buttons: [ { From ecdc1fef1ada363a783a3663d327f76e56aff7e9 Mon Sep 17 00:00:00 2001 From: chaw Date: Thu, 24 Aug 2023 15:11:32 +0800 Subject: [PATCH 4/8] [CORE-6015] unnecessary --- .../v3/src/app/components/activity/activity.component.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/projects/v3/src/app/components/activity/activity.component.ts b/projects/v3/src/app/components/activity/activity.component.ts index 505c94eac..0f1dd09f7 100644 --- a/projects/v3/src/app/components/activity/activity.component.ts +++ b/projects/v3/src/app/components/activity/activity.component.ts @@ -142,9 +142,9 @@ export class ActivityComponent { return; } - return await this._validateTeamAssessment(task, async () => { + return this._validateTeamAssessment(task, async () => { if (task.type === 'Locked') { - return await this.notificationsService.alert({ + return this.notificationsService.alert({ message: $localize`This part of the app is still locked. You can unlock the features by engaging with the app and completing all tasks.`, buttons: [ { @@ -168,7 +168,7 @@ export class ActivityComponent { // display pop up if it is team assessment or team 360 assessment and user is not in team if (doAssessment && (task.isForTeam || task.assessmentType === 'team360') && !teamId) { - return await this.notificationsService.alert({ + return this.notificationsService.alert({ message: $localize`Currently you are not in a team, please reach out to your Administrator or Coordinator to proceed with next steps.`, buttons: [ { From 64b14e4738ce4a33a6899844aefe22651b165dda Mon Sep 17 00:00:00 2001 From: chaw Date: Thu, 24 Aug 2023 15:23:28 +0800 Subject: [PATCH 5/8] [CORE-6015] 2 questions UI alignment --- .../multi-team-member-selector.component.scss | 3 +++ .../team-member-selector.component.html | 12 ++++++++++-- .../team-member-selector.component.scss | 3 +++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/projects/v3/src/app/components/multi-team-member-selector/multi-team-member-selector.component.scss b/projects/v3/src/app/components/multi-team-member-selector/multi-team-member-selector.component.scss index d2108232e..545cb1275 100644 --- a/projects/v3/src/app/components/multi-team-member-selector/multi-team-member-selector.component.scss +++ b/projects/v3/src/app/components/multi-team-member-selector/multi-team-member-selector.component.scss @@ -27,8 +27,11 @@ ion-item { } ion-textarea { + --border-radius: 6px; padding-left: 5px; padding-right: 5px; + border: 1px solid var(--practera-grey-50); + border-radius: var(--border-radius); font-size: 14px !important; } diff --git a/projects/v3/src/app/components/team-member-selector/team-member-selector.component.html b/projects/v3/src/app/components/team-member-selector/team-member-selector.component.html index abd63583d..c96ac40f4 100644 --- a/projects/v3/src/app/components/team-member-selector/team-member-selector.component.html +++ b/projects/v3/src/app/components/team-member-selector/team-member-selector.component.html @@ -65,14 +65,22 @@

+ + Feedback + + + + diff --git a/projects/v3/src/app/components/team-member-selector/team-member-selector.component.scss b/projects/v3/src/app/components/team-member-selector/team-member-selector.component.scss index 8d7190bcb..a6cddffc9 100644 --- a/projects/v3/src/app/components/team-member-selector/team-member-selector.component.scss +++ b/projects/v3/src/app/components/team-member-selector/team-member-selector.component.scss @@ -27,8 +27,11 @@ ion-item { } ion-textarea { + --border-radius: 6px; padding-left: 5px; padding-right: 5px; + border: 1px solid var(--practera-grey-50); + border-radius: var(--border-radius); font-size: 14px !important; } From 6ded01846148127f2503cdb4ea0c7d7a68d73c45 Mon Sep 17 00:00:00 2001 From: chaw Date: Wed, 11 Oct 2023 16:02:22 +0800 Subject: [PATCH 6/8] [CORE-6055] unsubscribe old subscriptions --- projects/v3/src/app/pages/home/home.page.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/projects/v3/src/app/pages/home/home.page.ts b/projects/v3/src/app/pages/home/home.page.ts index 562e332a5..318a2e877 100644 --- a/projects/v3/src/app/pages/home/home.page.ts +++ b/projects/v3/src/app/pages/home/home.page.ts @@ -14,7 +14,7 @@ import { distinctUntilChanged, filter } from 'rxjs/operators'; templateUrl: './home.page.html', styleUrls: ['./home.page.scss'], }) -export class HomePage implements OnInit { +export class HomePage implements OnInit, OnDestroy { display = 'activities'; experience$ = this.homeService.experience$; @@ -82,6 +82,10 @@ export class HomePage implements OnInit { ) } + ngOnDestroy(): void { + this.subscriptions.forEach(s => s.unsubscribe()); + } + updateDashboard() { this.homeService.getMilestones(); this.achievementService.getAchievements(); From 36521a23c0bff6b17865cd82a861bf69fcd1efb6 Mon Sep 17 00:00:00 2001 From: chaw Date: Fri, 6 Oct 2023 14:34:43 +0800 Subject: [PATCH 7/8] [CORE-6088] added 'not start' status --- projects/v3/src/app/components/file/file.component.ts | 2 +- .../multi-team-member-selector.component.ts | 2 +- .../v3/src/app/components/multiple/multiple.component.ts | 2 +- projects/v3/src/app/components/oneof/oneof.component.ts | 2 +- .../team-member-selector/team-member-selector.component.ts | 2 +- projects/v3/src/app/components/text/text.component.ts | 2 +- .../src/app/pages/activity-desktop/activity-desktop.page.ts | 6 +++--- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/projects/v3/src/app/components/file/file.component.ts b/projects/v3/src/app/components/file/file.component.ts index 16cb0d3cf..7da349c0e 100644 --- a/projects/v3/src/app/components/file/file.component.ts +++ b/projects/v3/src/app/components/file/file.component.ts @@ -173,7 +173,7 @@ export class FileComponent implements ControlValueAccessor, OnInit { // adding save values to from control private _showSavedAnswers() { - if ((this.reviewStatus === 'in progress') && (this.doReview)) { + if ((['in progress', 'not start'].includes(this.reviewStatus)) && (this.doReview)) { this.innerValue = { answer: {}, comment: '' diff --git a/projects/v3/src/app/components/multi-team-member-selector/multi-team-member-selector.component.ts b/projects/v3/src/app/components/multi-team-member-selector/multi-team-member-selector.component.ts index 5cf6d7ba7..cc13b0a4c 100644 --- a/projects/v3/src/app/components/multi-team-member-selector/multi-team-member-selector.component.ts +++ b/projects/v3/src/app/components/multi-team-member-selector/multi-team-member-selector.component.ts @@ -147,7 +147,7 @@ export class MultiTeamMemberSelectorComponent implements ControlValueAccessor, O // adding save values to from control private _showSavedAnswers() { - if ((this.reviewStatus === 'in progress') && (this.doReview)) { + if ((['in progress', 'not start'].includes(this.reviewStatus)) && (this.doReview)) { this.innerValue = { answer: this.review.answer, comment: this.review.comment diff --git a/projects/v3/src/app/components/multiple/multiple.component.ts b/projects/v3/src/app/components/multiple/multiple.component.ts index 17e97d6b1..84828e566 100644 --- a/projects/v3/src/app/components/multiple/multiple.component.ts +++ b/projects/v3/src/app/components/multiple/multiple.component.ts @@ -155,7 +155,7 @@ export class MultipleComponent implements ControlValueAccessor, OnInit { } // adding save values to from control private _showSavedAnswers() { - if ((this.reviewStatus === 'in progress') && (this.doReview)) { + if ((['in progress', 'not start'].includes(this.reviewStatus)) && (this.doReview)) { this.innerValue = { answer: this.review.answer, comment: this.review.comment diff --git a/projects/v3/src/app/components/oneof/oneof.component.ts b/projects/v3/src/app/components/oneof/oneof.component.ts index 84543b40b..1746e3945 100644 --- a/projects/v3/src/app/components/oneof/oneof.component.ts +++ b/projects/v3/src/app/components/oneof/oneof.component.ts @@ -133,7 +133,7 @@ export class OneofComponent implements ControlValueAccessor, OnInit { // adding save values to from control private _showSavedAnswers() { - if ((this.reviewStatus === 'in progress') && (this.doReview)) { + if ((['in progress', 'not start'].includes(this.reviewStatus)) && (this.doReview)) { this.innerValue = { answer: '', comment: '' diff --git a/projects/v3/src/app/components/team-member-selector/team-member-selector.component.ts b/projects/v3/src/app/components/team-member-selector/team-member-selector.component.ts index d0a47b531..2d06eda08 100644 --- a/projects/v3/src/app/components/team-member-selector/team-member-selector.component.ts +++ b/projects/v3/src/app/components/team-member-selector/team-member-selector.component.ts @@ -134,7 +134,7 @@ export class TeamMemberSelectorComponent implements ControlValueAccessor, OnInit // adding save values to from control private _showSavedAnswers() { - if ((this.reviewStatus === 'in progress') && (this.doReview)) { + if ((['in progress', 'not start'].includes(this.reviewStatus)) && (this.doReview)) { this.innerValue = { answer: '', comment: '' diff --git a/projects/v3/src/app/components/text/text.component.ts b/projects/v3/src/app/components/text/text.component.ts index 54c533c17..345960b01 100644 --- a/projects/v3/src/app/components/text/text.component.ts +++ b/projects/v3/src/app/components/text/text.component.ts @@ -182,7 +182,7 @@ export class TextComponent implements ControlValueAccessor, OnInit, AfterViewIni // adding save values to from control private _showSavedAnswers() { - if ((this.reviewStatus === 'in progress') && (this.doReview)) { + if (['in progress', 'not start'].includes(this.reviewStatus) && (this.doReview)) { this.innerValue = { answer: [], comment: '' diff --git a/projects/v3/src/app/pages/activity-desktop/activity-desktop.page.ts b/projects/v3/src/app/pages/activity-desktop/activity-desktop.page.ts index cbf97d5ef..95255287b 100644 --- a/projects/v3/src/app/pages/activity-desktop/activity-desktop.page.ts +++ b/projects/v3/src/app/pages/activity-desktop/activity-desktop.page.ts @@ -145,10 +145,10 @@ export class ActivityDesktopPage { * @return {any} */ async saveAssessment(event, task: Task) { - // autoSave must be false to submit the assessment + // autoSave must be false to fire submit assessment API request // loading is mainly for cosmetic purpose - // this is made to mainly capture autoSave = true & loading = true - // to prevent double submission + // below if-statement is made to prevent double submission + // condition: autoSave = true & loading = true if (event.autoSave && this.loading) { return; } From c3d7aae3b2e66a20561a92af029ef354d1e52db1 Mon Sep 17 00:00:00 2001 From: sasangachathumal Date: Thu, 14 Sep 2023 09:18:48 +0530 Subject: [PATCH 8/8] [CORE-6038] update question content --- .../support-popup/support-questions.ts | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/projects/v3/src/app/components/support-popup/support-questions.ts b/projects/v3/src/app/components/support-popup/support-questions.ts index cd34db4f1..32b18f79c 100644 --- a/projects/v3/src/app/components/support-popup/support-questions.ts +++ b/projects/v3/src/app/components/support-popup/support-questions.ts @@ -11,8 +11,8 @@ export const supportQuestionList = [ questionId: "two", question: "I'VE SUBMITTED THE WRONG FILE!", answer: [ - "If you've accidentally submitted the wrong file or have encountered any other issues while submitting an assessment, it's important to reach out to your program coordinator as soon as possible. You can do this by (insert how students can gain additional feedback through the hubspot form) and providing them with the program name and assessment name.", - "It's important to be proactive and take action quickly, as this will help ensure that any issues are resolved in a timely manner and that you're able to continue making progress in your learning journey. " + "If you've accidentally submitted the wrong file or have encountered any other issues while submitting an assessment, it's important to reach out to your program coordinator as soon as possible. You can do this by clicking on “Contact Support” in the top right corner and providing them with the program name and assessment name.", + "It's important to be proactive and take action quickly, as this will help ensure that any issues are resolved in a timely manner and that you're able to continue making progress in your learning journey." ] }, { @@ -43,7 +43,7 @@ export const supportQuestionList = [ question: "HOW DO I WITHDRAW FROM THE PROGRAM?", answer: [ "If you're considering withdrawing from a program, it's important to take action as soon as possible. Withdrawing from a program can be a difficult decision, but it's important to prioritise your well-being and make the choice that's best for you.", - "To withdraw from a program, the first step is to get in touch with your program coordinator by (process that will need to be included for hubspot form). They will be able to guide you through the process and provide you with any necessary information about the steps you'll need to take.", + "To withdraw from a program, the first step is to get in touch with your program coordinator by clicking on “Contact Support” in the top right corner and providing them with your program name. They will be able to guide you through the process and provide you with any necessary information about the steps you'll need to take.", "Remember, there's no shame in withdrawing from a program if it's not the right fit for you. It takes courage to acknowledge when something isn't working and to take action to change it. So be kind to yourself, and don't be afraid to reach out for help and support. Your program coordinator is there to help you, and they'll do everything they can to make the withdrawal process as smooth and stress-free as possible." ] }, @@ -52,16 +52,15 @@ export const supportQuestionList = [ question: "WHY HAVEN'T I RECEIVED MY CERTIFICATE?", answer: [ "Congratulations on completing your course and earning a badge! The journey of learning is often challenging, but receiving a badge is a fantastic way to acknowledge your hard work and achievements.", - "To access your digital certificate, the first step is to check your inbox, including your Spam folder, for an email called 'You've been awarded a badge.' Once you've located the email, simply click the link 'View your Digital Certificate' at the bottom of the email to access your certificate. This is a great way to showcase your accomplishment to potential employers and colleagues.", - "If you haven't received the email or access to your certificate, it's possible that you haven't yet met all the requirements explained in the final milestone. To ensure that you receive your certificate, make sure that you have submitted all assessments, including the feedback survey. Double-check the final milestone requirements to ensure that you've met all the criteria for completion.", - "Check your inbox, including your Spam folder, for an email called 'You've been awarded a badge.' To access your certificate click the link 'View your Digital Certificate' at the bottom of the email. Alternatively, you might not have been awarded the certificate yet. Check the requirements explained in the final milestone. Tip: remember to submit all assessments, including the feedback survey." + "To access your digital certificate, the first step is to check your inbox, including your Spam folder, for an email called \"You've been awarded a badge.\" Once you've located the email, simply click the link \"View your Digital Certificate\" at the bottom of the email. This is a great way to showcase your accomplishment to potential employers and colleagues.", + "If you haven't received the email or access to your certificate, it's possible that you haven't yet met all the requirements. To ensure that you receive your certificate, make sure that you have submitted all assessments, including the feedback survey. Double-check the final milestone requirements to ensure that you've met all the criteria for completion." ] }, { questionId: "eight", question: "HOW DO I ADD MY CERTIFICATE TO LINKEDIN?", answer: [ - "In the top right-hand corner of the certificate, click the LinkedIn share button. Paste this link under an Experience or Credential on your profile" + "Save your certificate as a PDF file. Then upload this file under an Experience or Credential on your LinkedIn profile." ] }, { @@ -75,21 +74,21 @@ export const supportQuestionList = [ questionId: "ten", question: "Do I get a certificate and a Practera digital badge?", answer: [ - "You will receive a Practera Digital badge upon completion of the project, providing you have met all program requirements (time commitment, active participation and completion of all activities in Practera)." + "This is program dependent. If you are unsure if you should receive a certificate and digital badge, please contact your program coordinator by clicking on “Contact Support” in the top right corner and providing them with your program name." ] }, { questionId: "eleven", question: "Do I have to be in the country or city location of the client?", answer: [ - "No. This program supports remote working conditions with fully virtual industry and team engagement through the Practera App, so you aren’t required to be physically in the location of the client to participate" + "No. This program supports remote working conditions with fully virtual industry and team engagement through the Practera Workspace, so you aren’t required to be physically in the location of the client to participate." ] }, { questionId: "twelve", question: "What if I have a part-time job?", answer: [ - "It is fine if you have a part-time job, but you must be able to commit to the required number of hours of work on the project over theduration of the program. You will coordinate with your team to ensure that you’re able to attend meetings and contribute equally to all deliverables." + "It is fine if you have a part-time job, but you must be able to commit to the required number of hours of work on the project over the duration of the program. You will coordinate with your team to ensure that you’re able to attend meetings and contribute equally to all deliverables." ] }, { @@ -124,14 +123,14 @@ export const supportQuestionList = [ questionId: "seventeen", question: "Will I be paid to work on this Project?", answer: [ - "No, you will not be paid to work on this project. This is first and foremost a learning experience that is part of a subject and your course." + "No, you will not be paid to work on this project. This is first and foremost a learning experience that is either extracurricular, part of a subject or your course." ] }, { questionId: "ighteen", - question: "Can I skip the orientation session?", + question: "Can I skip the induction session?", answer: [ - "The orientation session is compulsory. You will meet your team, mentor and client. Students who do not attend will be removed from the program." + "The induction session is compulsory. You will meet your team, mentor and client. Learners who do not attend will be removed from the program." ] }, ]