From 892c039363639738f8b5eef6b63dc3496d0e6fa1 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 17 May 2023 19:14:46 +0200
Subject: [PATCH 052/159] Change colours again
---
frontend/index.html | 62 ++++++++++++++++++++++-----------------------
1 file changed, 31 insertions(+), 31 deletions(-)
diff --git a/frontend/index.html b/frontend/index.html
index d43c39b..0760694 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -50,20 +50,20 @@
- | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday |
- Morning (6:00 - 10:00) | | | | | | | |
- Midday (10:00 - 14:00) | | | | | | | |
- Afternoon (14:00 - 18:00) | | | | | | | |
- Evening (18:00 - 22:00) | | | | | | | |
+ | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday |
+ Morning (6:00 - 10:00) | | | | | | | |
+ Midday (10:00 - 14:00) | | | | | | | |
+ Afternoon (14:00 - 18:00) | | | | | | | |
+ Evening (18:00 - 22:00) | | | | | | | |
I'm done selecting time slots when I am free.
@@ -84,18 +84,18 @@
- Weekdays | Morning (6:00 - 10:00) | Midday (10:00 - 14:00) | Afternoon (14:00 - 18:00) | Evening (18:00 - 22:00) |
- None at all | | | | |
- Less than usual | | | | |
- An average amount | | | | |
- More than average | | | | |
- Much more than average | | | | |
- Weekends | Morning (6:00 - 10:00) | Midday (10:00 - 14:00) | Afternoon (14:00 - 18:00) | Evening (18:00 - 22:00) |
- None at all | | | | |
- Less than usual | | | | |
- An average amount | | | | |
- More than average | | | | |
- Much more than average | | | | |
+ Weekdays | Morning (6:00 - 10:00) | Midday (10:00 - 14:00) | Afternoon (14:00 - 18:00) | Evening (18:00 - 22:00) |
+ None at all | | | | |
+ Less than usual | | | | |
+ An average amount | | | | |
+ More than average | | | | |
+ Much more than average | | | | |
+ Weekends | Morning (6:00 - 10:00) | Midday (10:00 - 14:00) | Afternoon (14:00 - 18:00) | Evening (18:00 - 22:00) |
+ None at all | | | | |
+ Less than usual | | | | |
+ An average amount | | | | |
+ More than average | | | | |
+ Much more than average | | | | |
I'm done specifying my energy levels.
From fe67b0c332776604c924771cf7cb535850774133 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 17 May 2023 21:57:40 +0200
Subject: [PATCH 053/159] Make chatbox blink
---
frontend/static/css/style.css | 35 +++++++++++++++++++++--------------
frontend/static/js/script.js | 10 ++++++++++
2 files changed, 31 insertions(+), 14 deletions(-)
diff --git a/frontend/static/css/style.css b/frontend/static/css/style.css
index 3ca60bd..d7fff74 100644
--- a/frontend/static/css/style.css
+++ b/frontend/static/css/style.css
@@ -64,17 +64,9 @@ body {
border:none;
}
-#plan_first_2_weeks{
- display: none;
+.plan{
width: 800px;
- height: 350px;
- margin: 0 auto;
-}
-
-.plan_after_week_2{
- display: none;
- width: 800px;
- height: 150px;
+ height: 500px;
margin: 0 auto;
}
@@ -106,10 +98,6 @@ body {
overflow: auto;
}
-.clickable{
- cursor: pointer;
-}
-
.energy_table{
width: 850px;
height: 300px;
@@ -217,6 +205,7 @@ textarea-webkit-scrollbar {
width: 100%;
padding: 5px;
border-radius: 0px 0px 10px 10px;
+ animation: border-flicker-green 0.5s linear;
}
#sendButton {
@@ -324,6 +313,24 @@ textarea-webkit-scrollbar {
}
}
+@keyframes border-flicker-green {
+ 0% {
+ box-shadow: 5px 5px 20px #09ff00;
+ }
+ 25% {
+ box-shadow: 5px 5px 20px #09ff00;
+ }
+ 50% {
+ box-shadow: 5px 5px 50px #09ff00;
+ }
+ 75% {
+ box-shadow: 5px 5px 20px #09ff00;
+ }
+ 100% {
+ box-shadow: 5px 5px 20px #09ff00;
+ }
+ }
+
/*========== css related to chats elements============= */
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index b921f04..cc539c3 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -538,6 +538,16 @@ function doScaledTimeout(i, response, summed_timeout) {
}, summed_timeout);
}
+function blink() {
+ var f = document.getElementById('keypad');
+ setTimeout(function() {
+ f.style.boxShadow = '5px 5px 50px #09ff00';
+ setTimeout(function() {
+ f.style.boxShadow = 'none';
+ }, 1000);
+ }, 1000);
+ }
+
//====================================== Toggle chatbot =======================================
$("#profile_div").click(function () {
From e1b2d946d9ef5885d426787bd12d9a06ce3dcd69 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 17 May 2023 21:59:52 +0200
Subject: [PATCH 054/159] Move animation to function
---
frontend/static/css/style.css | 1 -
frontend/static/js/script.js | 2 ++
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/frontend/static/css/style.css b/frontend/static/css/style.css
index d7fff74..fc3db40 100644
--- a/frontend/static/css/style.css
+++ b/frontend/static/css/style.css
@@ -205,7 +205,6 @@ textarea-webkit-scrollbar {
width: 100%;
padding: 5px;
border-radius: 0px 0px 10px 10px;
- animation: border-flicker-green 0.5s linear;
}
#sendButton {
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index cc539c3..77bb2ea 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -542,8 +542,10 @@ function blink() {
var f = document.getElementById('keypad');
setTimeout(function() {
f.style.boxShadow = '5px 5px 50px #09ff00';
+ f.style.animation = 'border-flicker-green 0.5s linear';
setTimeout(function() {
f.style.boxShadow = 'none';
+ f.style.animation = 'none';
}, 1000);
}, 1000);
}
From ec863fd68f412caad253350866f132e5d302864c Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 17 May 2023 22:06:04 +0200
Subject: [PATCH 055/159] Add missing id
---
frontend/index.html | 2 +-
frontend/static/js/script.js | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/frontend/index.html b/frontend/index.html
index 0760694..bf0fbf9 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -35,7 +35,7 @@
+
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index 77bb2ea..91ded91 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -541,14 +541,14 @@ function doScaledTimeout(i, response, summed_timeout) {
function blink() {
var f = document.getElementById('keypad');
setTimeout(function() {
- f.style.boxShadow = '5px 5px 50px #09ff00';
- f.style.animation = 'border-flicker-green 0.5s linear';
+ f.style.boxShadow = '5px 5px 50px #09ff00';
+ f.style.animation = 'border-flicker-green 0.5s linear';
setTimeout(function() {
- f.style.boxShadow = 'none';
- f.style.animation = 'none';
+ f.style.boxShadow = 'none';
+ f.style.animation = 'none';
}, 1000);
}, 1000);
- }
+}
//====================================== Toggle chatbot =======================================
From 9ff0409757b8dd4bdc163ac9fa2331cc9b334e74 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 17 May 2023 22:15:35 +0200
Subject: [PATCH 056/159] Remove not needed code
---
frontend/static/css/style.css | 13 ++++++++-----
frontend/static/js/script.js | 9 +--------
2 files changed, 9 insertions(+), 13 deletions(-)
diff --git a/frontend/static/css/style.css b/frontend/static/css/style.css
index fc3db40..0faf1c6 100644
--- a/frontend/static/css/style.css
+++ b/frontend/static/css/style.css
@@ -316,19 +316,22 @@ textarea-webkit-scrollbar {
0% {
box-shadow: 5px 5px 20px #09ff00;
}
- 25% {
+ 20% {
box-shadow: 5px 5px 20px #09ff00;
}
- 50% {
- box-shadow: 5px 5px 50px #09ff00;
+ 40% {
+ box-shadow: 5px 5px 50px white;
+ }
+ 60% {
+ box-shadow: 5px 5px 50px white;
}
- 75% {
+ 80% {
box-shadow: 5px 5px 20px #09ff00;
}
100% {
box-shadow: 5px 5px 20px #09ff00;
}
- }
+}
/*========== css related to chats elements============= */
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index 91ded91..d24a303 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -540,14 +540,7 @@ function doScaledTimeout(i, response, summed_timeout) {
function blink() {
var f = document.getElementById('keypad');
- setTimeout(function() {
- f.style.boxShadow = '5px 5px 50px #09ff00';
- f.style.animation = 'border-flicker-green 0.5s linear';
- setTimeout(function() {
- f.style.boxShadow = 'none';
- f.style.animation = 'none';
- }, 1000);
- }, 1000);
+ f.style.animation = 'border-flicker-green 10s linear';
}
From 3de28267269ded8faf245a06bc31ef16b4926ade Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 17 May 2023 22:17:14 +0200
Subject: [PATCH 057/159] Chage animation color
---
frontend/static/css/style.css | 10 +++++-----
frontend/static/js/script.js | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/frontend/static/css/style.css b/frontend/static/css/style.css
index 0faf1c6..8d8ebed 100644
--- a/frontend/static/css/style.css
+++ b/frontend/static/css/style.css
@@ -312,12 +312,12 @@ textarea-webkit-scrollbar {
}
}
-@keyframes border-flicker-green {
+@keyframes border-flicker-yellow {
0% {
- box-shadow: 5px 5px 20px #09ff00;
+ box-shadow: 5px 5px 20px #F7F97A;
}
20% {
- box-shadow: 5px 5px 20px #09ff00;
+ box-shadow: 5px 5px 20px #F7F97A;
}
40% {
box-shadow: 5px 5px 50px white;
@@ -326,10 +326,10 @@ textarea-webkit-scrollbar {
box-shadow: 5px 5px 50px white;
}
80% {
- box-shadow: 5px 5px 20px #09ff00;
+ box-shadow: 5px 5px 20px #F7F97A;
}
100% {
- box-shadow: 5px 5px 20px #09ff00;
+ box-shadow: 5px 5px 20px #F7F97A;
}
}
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index d24a303..9855462 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -540,7 +540,7 @@ function doScaledTimeout(i, response, summed_timeout) {
function blink() {
var f = document.getElementById('keypad');
- f.style.animation = 'border-flicker-green 10s linear';
+ f.style.animation = 'border-flicker-yellow linear';
}
From acaf75b395619b5dc72326592212c422da5bcb4a Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 17 May 2023 22:22:36 +0200
Subject: [PATCH 058/159] Add back animation time
---
frontend/static/js/script.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index 9855462..d7158a1 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -540,7 +540,7 @@ function doScaledTimeout(i, response, summed_timeout) {
function blink() {
var f = document.getElementById('keypad');
- f.style.animation = 'border-flicker-yellow linear';
+ f.style.animation = 'border-flicker-yellow 3s linear';
}
From d57a5b9dc493e4fa5874f13359473af5a903f3d8 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 17 May 2023 22:26:59 +0200
Subject: [PATCH 059/159] Put cursor on text field during blink
---
frontend/static/js/script.js | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index d7158a1..0da5a26 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -538,9 +538,18 @@ function doScaledTimeout(i, response, summed_timeout) {
}, summed_timeout);
}
-function blink() {
+function blink_and_select() {
+ document.getElementById("userInput").focus();
+ document.getElementById("userInput").select();
+
var f = document.getElementById('keypad');
- f.style.animation = 'border-flicker-yellow 3s linear';
+ f.style.animation = 'border-flicker-yellow 3s ease-out';
+ setTimeout(function() {
+ f.style.animation = 'none';
+ }, 5000);
+
+
+
}
From 45bdbe4e786b906808047f9a7ec3501ecfa2791b Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 17 May 2023 22:28:36 +0200
Subject: [PATCH 060/159] Use function when needed
---
frontend/static/js/script.js | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index 0da5a26..88aa0fc 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -403,6 +403,7 @@ function setBotResponse(response) {
$('.usrInput').attr("disabled",false);
$(".usrInput").prop('placeholder', "Type something...");
current_takeaway = 1;
+ blink_and_select();
}
else if(response_text[j].includes("How about this example? What can you take away for yourself? Please type this in the chat.") || response_text[j].includes("The question was: What can you take away from this second example for yourself?")){
var BotResponse = '
' + response_text[j] + '
';
@@ -411,6 +412,7 @@ function setBotResponse(response) {
$('.usrInput').attr("disabled",false);
$(".usrInput").prop('placeholder', "Type something...");
current_takeaway = 2;
+ blink_and_select();
}
else if(response_text[j].includes("Please type your answer as a number with one decimal point.")){
@@ -420,6 +422,7 @@ function setBotResponse(response) {
$('.usrInput').attr("disabled",false);
$(".usrInput").prop('placeholder', "Type something...");
check_week_3 = true;
+ blink_and_select();
}
else if(response_text[j].includes("You can see the first two weeks planned in detail.")){
var BotResponse = '
' + response_text[j] + '
';
@@ -428,6 +431,7 @@ function setBotResponse(response) {
$('.usrInput').attr("disabled",false);
$(".usrInput").prop('placeholder', "Type something...");
check_first_walk = true;
+ blink_and_select();
}
else if(response_text[j].includes("User barrier: ")){
@@ -435,6 +439,7 @@ function setBotResponse(response) {
$(".usrInput").prop('placeholder', "Type something...");
barrier_strategy = true;
barrier_type = response_text[j].split("User barrier: ")[1];
+ blink_and_select();
}
else if(response_text[j].includes("The question was: How can you overcome this barrier?")){
var BotResponse = '
' + response_text[j] + '
';
@@ -443,6 +448,7 @@ function setBotResponse(response) {
$('.usrInput').attr("disabled",false);
$(".usrInput").prop('placeholder', "Type something...");
barrier_strategy = true;
+ blink_and_select();
}
else if(response_text[j].includes("I see. Thank you for informing me. Would you mind briefly describing your barrier to me in the chat?") || response_text[j].includes("The question was: Would you mind briefly describing your barrier to me in the chat?")){
var BotResponse = '
' + response_text[j] + '
';
@@ -451,6 +457,7 @@ function setBotResponse(response) {
$('.usrInput').attr("disabled",false);
$(".usrInput").prop('placeholder', "Type something...");
identified_barrier = true;
+ blink_and_select();
}
else if(response_text[j].includes("Okay! Now, you have your approach to this barrier. Here is a strategy I thought about.") || response_text[j].includes("The question was: How can you overcome this barrier after having read my suggestion?")){
var BotResponse = '
' + response_text[j] + '
';
@@ -459,6 +466,7 @@ function setBotResponse(response) {
$('.usrInput').attr("disabled",false);
$(".usrInput").prop('placeholder', "Type something...");
barrier_repeat = true;
+ blink_and_select();
}
else if(response_text[j].includes("Good choice!") || response_text[j].includes("The question was: How do you think planning can help you do this?")){
var BotResponse = '
' + response_text[j] + '
';
@@ -467,6 +475,7 @@ function setBotResponse(response) {
$('.usrInput').attr("disabled",false);
$(".usrInput").prop('placeholder', "Type something...");
planning = true;
+ blink_and_select();
}
// otherwise, display the message
else{
From ca542883ee1e21714e250273b993b6d61e287bd7 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 17 May 2023 22:33:03 +0200
Subject: [PATCH 061/159] Change table colours
---
frontend/index.html | 46 ++++++++++++++++++++++-----------------------
1 file changed, 23 insertions(+), 23 deletions(-)
diff --git a/frontend/index.html b/frontend/index.html
index bf0fbf9..b7c141c 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -51,15 +51,15 @@
Week 1 | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday |
- Morning (6:00 - 10:00) | | | | | | | |
- Midday (10:00 - 14:00) | | | | | | | |
- Afternoon (14:00 - 18:00) | | | | | | | |
- Evening (18:00 - 22:00) | | | | | | | |
+ Morning (6:00 - 10:00) | | | | | | | |
+ Midday (10:00 - 14:00) | | | | | | | |
+ Afternoon (14:00 - 18:00) | | | | | | | |
+ Evening (18:00 - 22:00) | | | | | | | |
Week 2 | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday |
- Morning (6:00 - 10:00) | | | | | | | |
- Midday (10:00 - 14:00) | | | | | | | |
- Afternoon (14:00 - 18:00) | | | | | | | |
- Evening (18:00 - 22:00) | | | | | | | |
+ Morning (6:00 - 10:00) | | | | | | | |
+ Midday (10:00 - 14:00) | | | | | | | |
+ Afternoon (14:00 - 18:00) | | | | | | | |
+ Evening (18:00 - 22:00) | | | | | | | |
Week 3 | |
Week 4 | |
Month 2 | |
@@ -71,11 +71,11 @@
From 5e0df8c7eeec92e3e9951db7a15c5cc7a5b2fcf8 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 10:56:33 +0200
Subject: [PATCH 078/159] Rewording
---
backend/domain.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backend/domain.yml b/backend/domain.yml
index 607231c..516d1a0 100644
--- a/backend/domain.yml
+++ b/backend/domain.yml
@@ -1044,7 +1044,7 @@ responses:
- text: "Nice. Seems like you're getting familiar with using the buttons."
utter_intro_1:
- - text: "Let me briefly reiterate what you previously read to Qualtrics."
+ - text: "Let me briefly reiterate what you previously read in the introduction part of this session."
utter_intro_2:
- text: "My goal is to help people create plans for taking walks."
From 872205c60d7cda01664d997f1d042f40f1b3dcb2 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 11:18:10 +0200
Subject: [PATCH 079/159] Add code which somehow disappeared
---
frontend/static/css/style.css | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/frontend/static/css/style.css b/frontend/static/css/style.css
index 88d3b7e..22dff9e 100644
--- a/frontend/static/css/style.css
+++ b/frontend/static/css/style.css
@@ -64,12 +64,17 @@ body {
border:none;
}
-.plan{
- left: 3.5%;
- top: 5%;
- position:fixed;
+#plan_first_2_weeks{
+ display: none;
width: 800px;
- height: 500px;
+ height: 350px;
+ margin: 0 auto;
+}
+
+.plan_after_week_2{
+ display: none;
+ width: 800px;
+ height: 150px;
margin: 0 auto;
}
@@ -182,6 +187,7 @@ textarea-webkit-scrollbar {
.userAvatar {
animation: animateElement linear 0.3s;
animation-iteration-count: 1;
+ border-radius: 50%;
width: 1.5em;
height: 1.5em;
float: right;
@@ -910,4 +916,3 @@ input:focus {
video:focus {
outline: none;
}
-
From 2d6d34a061cb60350235b07fddd7e80bde015a35 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 11:23:48 +0200
Subject: [PATCH 080/159] Add back plan css
---
frontend/static/css/style.css | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/frontend/static/css/style.css b/frontend/static/css/style.css
index 22dff9e..b218dee 100644
--- a/frontend/static/css/style.css
+++ b/frontend/static/css/style.css
@@ -64,6 +64,14 @@ body {
border:none;
}
+.plan{
+ left: 3.5%;
+ top: 5%;
+ position:fixed;
+ width: 800px;
+ height: 500px;
+}
+
#plan_first_2_weeks{
display: none;
width: 800px;
From 9657694327bd44c599ce14892ab4de6f39317ed0 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 11:32:29 +0200
Subject: [PATCH 081/159] Add margin
---
frontend/static/css/style.css | 1 +
1 file changed, 1 insertion(+)
diff --git a/frontend/static/css/style.css b/frontend/static/css/style.css
index b218dee..584540c 100644
--- a/frontend/static/css/style.css
+++ b/frontend/static/css/style.css
@@ -70,6 +70,7 @@ body {
position:fixed;
width: 800px;
height: 500px;
+ margin: 0 auto;
}
#plan_first_2_weeks{
From 1e16ebf040a19f88c391c84caccd3f73484bb4c7 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 11:41:14 +0200
Subject: [PATCH 082/159] Change plan display
---
frontend/index.html | 2 +-
frontend/static/css/style.css | 8 +-------
frontend/static/js/script.js | 2 +-
3 files changed, 3 insertions(+), 9 deletions(-)
diff --git a/frontend/index.html b/frontend/index.html
index 10a6a91..a1caadb 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -49,7 +49,7 @@
-
+
Week 1 | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday |
Morning (6:00 - 10:00) | | | | | | | |
Midday (10:00 - 14:00) | | | | | | | |
diff --git a/frontend/static/css/style.css b/frontend/static/css/style.css
index 584540c..ec2949e 100644
--- a/frontend/static/css/style.css
+++ b/frontend/static/css/style.css
@@ -65,6 +65,7 @@ body {
}
.plan{
+ display: none;
left: 3.5%;
top: 5%;
position:fixed;
@@ -73,13 +74,6 @@ body {
margin: 0 auto;
}
-#plan_first_2_weeks{
- display: none;
- width: 800px;
- height: 350px;
- margin: 0 auto;
-}
-
.plan_after_week_2{
display: none;
width: 800px;
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index 88aa0fc..daf1667 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -358,7 +358,7 @@ function setBotResponse(response) {
$(".plan_table").css("display","block");
- $("#plan_first_2_weeks").css("display","table");
+ $(".plan").css("display","table");
number_plan = 1;
}
From 8d1c4493b108d9f3d3101bdc30f5b0da52920c6b Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 11:43:06 +0200
Subject: [PATCH 083/159] Remove user avatar border
---
frontend/static/css/style.css | 1 -
1 file changed, 1 deletion(-)
diff --git a/frontend/static/css/style.css b/frontend/static/css/style.css
index ec2949e..4ba7a12 100644
--- a/frontend/static/css/style.css
+++ b/frontend/static/css/style.css
@@ -190,7 +190,6 @@ textarea-webkit-scrollbar {
.userAvatar {
animation: animateElement linear 0.3s;
animation-iteration-count: 1;
- border-radius: 50%;
width: 1.5em;
height: 1.5em;
float: right;
From 45f2c4c9e66cc1fa2dc3a430ef4995784cd519a4 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 12:38:09 +0200
Subject: [PATCH 084/159] Fix plan scrolling
---
frontend/static/css/style.css | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/frontend/static/css/style.css b/frontend/static/css/style.css
index 4ba7a12..781972e 100644
--- a/frontend/static/css/style.css
+++ b/frontend/static/css/style.css
@@ -48,8 +48,8 @@ body {
.plan_table{
display: none;
- width: 57%;
- height: 95%;
+ width: 875px;
+ height: 700 px;
left: 1%;
bottom: 2%;
top: 2%;
@@ -66,21 +66,13 @@ body {
.plan{
display: none;
- left: 3.5%;
- top: 5%;
- position:fixed;
+ top: 3%;
+ position: relative;
width: 800px;
height: 500px;
margin: 0 auto;
}
-.plan_after_week_2{
- display: none;
- width: 800px;
- height: 150px;
- margin: 0 auto;
-}
-
.timeslots_table{
display: none;
width: 57%;
@@ -236,6 +228,8 @@ textarea-webkit-scrollbar {
width: 250px;
text-align: center;
margin: 10 auto;
+ position: relative;
+ top: 5%;
cursor: pointer;
border: 2px solid #000000;
background-color: #2ed59f61
From 0197f57d53324017b8dde3a0ac276a12b1f2ff6d Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 12:42:16 +0200
Subject: [PATCH 085/159] Fix displaying plan in steps
---
frontend/static/css/style.css | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/frontend/static/css/style.css b/frontend/static/css/style.css
index 781972e..7be6a5e 100644
--- a/frontend/static/css/style.css
+++ b/frontend/static/css/style.css
@@ -73,6 +73,13 @@ body {
margin: 0 auto;
}
+.plan_after_week_2{
+ display: none;
+ width: 800px;
+ height: 150px;
+ margin: 0 auto;
+}
+
.timeslots_table{
display: none;
width: 57%;
From f88a5b0bdc8687c2c530da1c4854401ed70f3542 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 13:49:36 +0200
Subject: [PATCH 086/159] Change mood question
---
backend/domain.yml | 62 ++++++++++++++++++++++++++++++++++++++--------
1 file changed, 52 insertions(+), 10 deletions(-)
diff --git a/backend/domain.yml b/backend/domain.yml
index 516d1a0..b3df678 100644
--- a/backend/domain.yml
+++ b/backend/domain.yml
@@ -995,23 +995,65 @@ responses:
utter_greet_1:
- text: "Hey there! I'm Jamie, your virtual coach."
- utter_greet_2:
- - text: "I'm happy to meet you."
-
-
utter_confirm_mood:
- buttons:
- payload: /confirm_mood_very_good
- title: "😄"
+ title: 'happy'
+ - payload:/confirm_mood_very_good
+ title: "glad"
+ - payload: /confirm_mood_very_good
+ title: "pleased"
+ - payload: /confirm_mood_very_good
+ title: "delighted"
+ - payload: /confirm_mood_very_good
+ title: "serene"
+ - payload: /confirm_mood_very_good
+ title: 'content'
+ - payload: /confirm_mood_very_good
+ title: "satisfied"
+ - payload: /confirm_mood_very_good
+ title: "relaxed"
+ - payload: /confirm_mood_very_good
+ title: "calm"
- payload: /confirm_mood_good
- title: "🙂"
+ title: "excited"
+ - payload: /confirm_mood_good
+ title: "astonished"
+ - payload: /confirm_mood_good
+ title: "aroused"
+ - payload: /confirm_mood_neutral
+ title: "sleepy"
- payload: /confirm_mood_neutral
- title: "😐"
+ title: "neutral"
+ - payload: /confirm_mood_neutral
+ title: "tired"
+ - payload: /confirm_mood_neutral
+ title: "tense"
+ - payload: /confirm_mood_neutral
+ title: "alarmed"
+ - payload: /confirm_mood_neutral
+ title: "afraid"
+ - payload: /confirm_mood_bad
+ title: "droopy"
+ - payload: /confirm_mood_bad
+ title: "bored"
- payload: /confirm_mood_bad
- title: "🙁"
+ title: "angry"
+ - payload: /confirm_mood_bad
+ title: "annoyed"
+ - payload: /confirm_mood_bad
+ title: "frustrated"
+ - payload: /confirm_mood_very_bad
+ title: "distressed"
+ - payload: /confirm_mood_very_bad
+ title: "depressed"
+ - payload: /confirm_mood_very_bad
+ title: "sad"
+ - payload: /confirm_mood_very_bad
+ title: "gloomy"
- payload: /confirm_mood_very_bad
- title: "😔"
- text: "How are you doing today? Pick one of the emojis to let me know how you feel."
+ title: "miserable"
+ text: "How are you doing today? Pick one of the options below to let me know how you feel."
utter_mood_very_good_response:
- text: "That's awesome! I'm glad you're in a great mood."
From 8079d71c3a99b90a142508714a71c10cea5d3ef7 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 13:50:22 +0200
Subject: [PATCH 087/159] Fix typos
---
backend/domain.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/backend/domain.yml b/backend/domain.yml
index b3df678..9c9d170 100644
--- a/backend/domain.yml
+++ b/backend/domain.yml
@@ -998,8 +998,8 @@ responses:
utter_confirm_mood:
- buttons:
- payload: /confirm_mood_very_good
- title: 'happy'
- - payload:/confirm_mood_very_good
+ title: "happy"
+ - payload: /confirm_mood_very_good
title: "glad"
- payload: /confirm_mood_very_good
title: "pleased"
From e5959e4ca461d655467df446d07bbfc517a1bcc8 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 13:51:38 +0200
Subject: [PATCH 088/159] Add back deleted utter
---
backend/domain.yml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/backend/domain.yml b/backend/domain.yml
index 9c9d170..500db63 100644
--- a/backend/domain.yml
+++ b/backend/domain.yml
@@ -995,6 +995,9 @@ responses:
utter_greet_1:
- text: "Hey there! I'm Jamie, your virtual coach."
+ utter_greet_2:
+ - text: "I'm happy to meet you."
+
utter_confirm_mood:
- buttons:
- payload: /confirm_mood_very_good
From 96cd07f23c9b9628200bba006ab9314b274c506a Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 13:57:19 +0200
Subject: [PATCH 089/159] Try to change color of mood question buttons
---
frontend/static/css/style.css | 14 ++++++++++++++
frontend/static/js/script.js | 21 ++++++++++++++++++---
2 files changed, 32 insertions(+), 3 deletions(-)
diff --git a/frontend/static/css/style.css b/frontend/static/css/style.css
index 7be6a5e..c8610bc 100644
--- a/frontend/static/css/style.css
+++ b/frontend/static/css/style.css
@@ -554,6 +554,20 @@ div.content_data::-webkit-scrollbar {
word-wrap: break-word;
}
+.menuChipsCustom {
+ display: block;
+ background: #ccd132;
+ color: #fff;
+ padding: 2px;
+ text-align: center;
+ margin-bottom: 1px;
+ cursor: pointer;
+ border-radius: 50px;
+ font-size: 13px;
+ margin: 2px;
+ word-wrap: break-word;
+}
+
/* cards carousels */
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index daf1667..bc36011 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -488,6 +488,8 @@ function setBotResponse(response) {
//check if the response contains "buttons"
if (response[0].hasOwnProperty("buttons")) {
addSuggestion(response[0].buttons);
+ var BotResponse = '' + response_text[j] + '
';
+ $(BotResponse).appendTo(".chats").hide().fadeIn(1000);
}
scrollToBottomOfResults();
@@ -932,13 +934,26 @@ function addSuggestion(textToAdd) {
setTimeout(function () {
$(".usrInput").prop('placeholder', "Use one of the buttons to answer.");
+
var suggestions = textToAdd;
var suggLength = textToAdd.length;
+
$(' ').appendTo(".chats").hide().fadeIn(1000);
- // Loop through suggestions
- for (i = 0; i < suggLength; i++) {
- $('").appendTo(".menu");
+
+ if (suggestions.includes("happy")){
+ for (i = 0; i < suggLength; i++) {
+ $('").appendTo(".menu");
+ }
}
+ else{
+ // Loop through suggestions
+ for (i = 0; i < suggLength; i++) {
+ $('").appendTo(".menu");
+ }
+ }
+
+
+
scrollToBottomOfResults();
}, 1000);
}
From 8aae45e86df3bbf47d3703b60874a02830955d03 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 13:58:57 +0200
Subject: [PATCH 090/159] log for debugging
---
frontend/static/js/script.js | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index bc36011..5a2bad6 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -940,7 +940,11 @@ function addSuggestion(textToAdd) {
$(' ').appendTo(".chats").hide().fadeIn(1000);
+ console.log(suggestions);
+
if (suggestions.includes("happy")){
+
+
for (i = 0; i < suggLength; i++) {
$('").appendTo(".menu");
}
From d5338625a6efdaa38360ffe5be003e0abeb3403f Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 14:02:53 +0200
Subject: [PATCH 091/159] Change log message
---
frontend/static/js/script.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index 5a2bad6..44f27b6 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -940,7 +940,7 @@ function addSuggestion(textToAdd) {
$(' ').appendTo(".chats").hide().fadeIn(1000);
- console.log(suggestions);
+ console.log(typeof suggestions);
if (suggestions.includes("happy")){
From 7079e965a3ebf65491d096711f409c911507f149 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 14:06:17 +0200
Subject: [PATCH 092/159] Change log message
---
frontend/static/js/script.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index 44f27b6..34454df 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -940,7 +940,7 @@ function addSuggestion(textToAdd) {
$(' ').appendTo(".chats").hide().fadeIn(1000);
- console.log(typeof suggestions);
+ console.log(typeof suggestions[0]);
if (suggestions.includes("happy")){
From 3eb97a502a9bda683581210bd71683a233d4a6f9 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 14:07:19 +0200
Subject: [PATCH 093/159] Try to fix changing buttons
---
frontend/static/js/script.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index 34454df..2bf09a0 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -942,7 +942,7 @@ function addSuggestion(textToAdd) {
console.log(typeof suggestions[0]);
- if (suggestions.includes("happy")){
+ if (suggestions[0].title == "happy"){
for (i = 0; i < suggLength; i++) {
From e5b76495856bf0f9691a4327a63a8ce76c38c8d4 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 14:08:26 +0200
Subject: [PATCH 094/159] Change log
---
frontend/static/js/script.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index 2bf09a0..91de999 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -940,7 +940,7 @@ function addSuggestion(textToAdd) {
$(' ').appendTo(".chats").hide().fadeIn(1000);
- console.log(typeof suggestions[0]);
+ console.log(suggestions[0].title);
if (suggestions[0].title == "happy"){
From 68c1bac3ffffa36e6a1c9df40d6d61d57e277743 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 14:10:22 +0200
Subject: [PATCH 095/159] Remove console log
---
frontend/static/js/script.js | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index 91de999..1223270 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -939,8 +939,7 @@ function addSuggestion(textToAdd) {
var suggLength = textToAdd.length;
$(' ').appendTo(".chats").hide().fadeIn(1000);
-
- console.log(suggestions[0].title);
+
if (suggestions[0].title == "happy"){
From 77eabf53fac99fa173fca3b7e279770ec7b6f8fe Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 14:17:08 +0200
Subject: [PATCH 096/159] Add missing onClick
---
frontend/static/js/script.js | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index 1223270..b189604 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -977,6 +977,22 @@ $(document).on("click", ".menu .menuChips", function () {
});
+// on click of suggestions, get the value and send to rasa
+$(document).on("click", ".menu .menuChipsCustom", function () {
+ // $('.usrInput').attr("disabled",false);
+ $(".usrInput").prop('placeholder', "Use the buttons to communicate with Jamie.");
+ var text = this.innerText;
+ var payload = this.getAttribute('data-payload');
+ console.log("payload: ", this.getAttribute('data-payload'))
+ setUserResponse(text);
+ send(payload);
+
+ //delete the suggestions once user click on it
+ $(".suggestions").remove();
+
+});
+
+
//======================================bot typing animation ======================================
function showBotTyping() {
From 48936cd6c3633d6be071640f91cac6160b3c3e77 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 14:19:55 +0200
Subject: [PATCH 097/159] Change names
---
backend/domain.yml | 56 ++++++++++++++++++------------------
frontend/static/js/script.js | 2 +-
2 files changed, 29 insertions(+), 29 deletions(-)
diff --git a/backend/domain.yml b/backend/domain.yml
index 500db63..9d62b9c 100644
--- a/backend/domain.yml
+++ b/backend/domain.yml
@@ -1001,61 +1001,61 @@ responses:
utter_confirm_mood:
- buttons:
- payload: /confirm_mood_very_good
- title: "happy"
+ title: "Happy"
- payload: /confirm_mood_very_good
- title: "glad"
+ title: "Glad"
- payload: /confirm_mood_very_good
- title: "pleased"
+ title: "Pleased"
- payload: /confirm_mood_very_good
- title: "delighted"
+ title: "Delighted"
- payload: /confirm_mood_very_good
- title: "serene"
+ title: "Serene"
- payload: /confirm_mood_very_good
- title: 'content'
+ title: 'Content'
- payload: /confirm_mood_very_good
- title: "satisfied"
+ title: "Satisfied"
- payload: /confirm_mood_very_good
- title: "relaxed"
+ title: "Relaxed"
- payload: /confirm_mood_very_good
- title: "calm"
+ title: "Calm"
- payload: /confirm_mood_good
- title: "excited"
+ title: "Excited"
- payload: /confirm_mood_good
- title: "astonished"
+ title: "Aastonished"
- payload: /confirm_mood_good
- title: "aroused"
+ title: "Aroused"
- payload: /confirm_mood_neutral
- title: "sleepy"
+ title: "Sleepy"
- payload: /confirm_mood_neutral
- title: "neutral"
+ title: "Neutral"
- payload: /confirm_mood_neutral
- title: "tired"
+ title: "Tired"
- payload: /confirm_mood_neutral
- title: "tense"
+ title: "Tense"
- payload: /confirm_mood_neutral
- title: "alarmed"
+ title: "Alarmed"
- payload: /confirm_mood_neutral
- title: "afraid"
+ title: "Afraid"
- payload: /confirm_mood_bad
- title: "droopy"
+ title: "Droopy"
- payload: /confirm_mood_bad
- title: "bored"
+ title: "Bored"
- payload: /confirm_mood_bad
- title: "angry"
+ title: "Angry"
- payload: /confirm_mood_bad
- title: "annoyed"
+ title: "Annoyed"
- payload: /confirm_mood_bad
- title: "frustrated"
+ title: "Frustrated"
- payload: /confirm_mood_very_bad
- title: "distressed"
+ title: "Distressed"
- payload: /confirm_mood_very_bad
- title: "depressed"
+ title: "Depressed"
- payload: /confirm_mood_very_bad
- title: "sad"
+ title: "Sad"
- payload: /confirm_mood_very_bad
- title: "gloomy"
+ title: "Gloomy"
- payload: /confirm_mood_very_bad
- title: "miserable"
+ title: "Miserable"
text: "How are you doing today? Pick one of the options below to let me know how you feel."
utter_mood_very_good_response:
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index b189604..ac4ce39 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -941,7 +941,7 @@ function addSuggestion(textToAdd) {
$(' ').appendTo(".chats").hide().fadeIn(1000);
- if (suggestions[0].title == "happy"){
+ if (suggestions[0].title == "Happy"){
for (i = 0; i < suggLength; i++) {
From 58a53976663951ede6632918427c417c628ef1f2 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 14:22:17 +0200
Subject: [PATCH 098/159] Change button alignment
---
frontend/static/css/style.css | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/frontend/static/css/style.css b/frontend/static/css/style.css
index c8610bc..5c7e6dc 100644
--- a/frontend/static/css/style.css
+++ b/frontend/static/css/style.css
@@ -523,11 +523,10 @@ div.content_data::-webkit-scrollbar {
/* css for suggestions buttons */
.suggestions {
- padding: 5px;
- width: 80%;
+ padding: 2px;
+ width: 100%;
border-radius: 10px;
- background: #ffffff;
- box-shadow: 2px 5px 5px 1px #dbdade;
+ background: #f7f7f7;
}
.menuTitle {
@@ -537,7 +536,10 @@ div.content_data::-webkit-scrollbar {
}
.menu {
- padding: 10px;
+ padding: 2px;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
}
.menuChips {
From 87b9ba760c910925531c0db94162e330532e1630 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 14:24:26 +0200
Subject: [PATCH 099/159] Fix typo
---
backend/domain.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backend/domain.yml b/backend/domain.yml
index 9d62b9c..54846bf 100644
--- a/backend/domain.yml
+++ b/backend/domain.yml
@@ -1021,7 +1021,7 @@ responses:
- payload: /confirm_mood_good
title: "Excited"
- payload: /confirm_mood_good
- title: "Aastonished"
+ title: "Astonished"
- payload: /confirm_mood_good
title: "Aroused"
- payload: /confirm_mood_neutral
From c179f315971bd132e2380ca4ffd9794f23dca8f0 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 14:25:46 +0200
Subject: [PATCH 100/159] Customise buttons
---
frontend/static/css/style.css | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/frontend/static/css/style.css b/frontend/static/css/style.css
index 5c7e6dc..b193aa5 100644
--- a/frontend/static/css/style.css
+++ b/frontend/static/css/style.css
@@ -558,9 +558,9 @@ div.content_data::-webkit-scrollbar {
.menuChipsCustom {
display: block;
- background: #ccd132;
+ background: #2ed59f;
color: #fff;
- padding: 2px;
+ padding:7px;
text-align: center;
margin-bottom: 1px;
cursor: pointer;
From ef7a751d2e4d10c854ec0d1a4ce27ec5c2fac3b9 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 14:31:51 +0200
Subject: [PATCH 101/159] Add custom menu for custom buttons
---
frontend/static/css/style.css | 11 +++++++++++
frontend/static/js/script.js | 4 ++--
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/frontend/static/css/style.css b/frontend/static/css/style.css
index b193aa5..54a35c9 100644
--- a/frontend/static/css/style.css
+++ b/frontend/static/css/style.css
@@ -536,6 +536,17 @@ div.content_data::-webkit-scrollbar {
}
.menu {
+ padding: 10px;
+}
+
+.menuCustom {
+ padding: 2px;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+}
+
+.menuCustom {
padding: 2px;
display: flex;
flex-wrap: wrap;
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index ac4ce39..cf971be 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -938,14 +938,14 @@ function addSuggestion(textToAdd) {
var suggestions = textToAdd;
var suggLength = textToAdd.length;
- $(' ').appendTo(".chats").hide().fadeIn(1000);
+ $(' ').appendTo(".chats").hide().fadeIn(1000);
if (suggestions[0].title == "Happy"){
for (i = 0; i < suggLength; i++) {
- $('").appendTo(".menu");
+ $('").appendTo(".menuCustom");
}
}
else{
From 6845ebc8a405bb60fcec931b6f00ba1f423f121f Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 14:32:20 +0200
Subject: [PATCH 102/159] Fix typo
---
frontend/static/js/script.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index cf971be..105b775 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -978,7 +978,7 @@ $(document).on("click", ".menu .menuChips", function () {
// on click of suggestions, get the value and send to rasa
-$(document).on("click", ".menu .menuChipsCustom", function () {
+$(document).on("click", ".menuCustom .menuChipsCustom", function () {
// $('.usrInput').attr("disabled",false);
$(".usrInput").prop('placeholder', "Use the buttons to communicate with Jamie.");
var text = this.innerText;
From 017b7c09928cf079d57db936758c1a60027febd0 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 24 May 2023 14:45:32 +0200
Subject: [PATCH 103/159] Change suggestions css
---
frontend/static/css/style.css | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/frontend/static/css/style.css b/frontend/static/css/style.css
index 54a35c9..29d80e6 100644
--- a/frontend/static/css/style.css
+++ b/frontend/static/css/style.css
@@ -523,10 +523,11 @@ div.content_data::-webkit-scrollbar {
/* css for suggestions buttons */
.suggestions {
- padding: 2px;
- width: 100%;
+ padding: 5px;
+ width: 80%;
border-radius: 10px;
- background: #f7f7f7;
+ background: #ffffff;
+ box-shadow: 2px 5px 5px 1px #dbdade;
}
.menuTitle {
From a0240f4abb543b5b3420caca7f522ed9f18539ce Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Thu, 25 May 2023 11:39:51 +0200
Subject: [PATCH 104/159] Fix extra message from buttons
---
frontend/static/js/script.js | 2 --
1 file changed, 2 deletions(-)
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index 105b775..3b163fa 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -488,8 +488,6 @@ function setBotResponse(response) {
//check if the response contains "buttons"
if (response[0].hasOwnProperty("buttons")) {
addSuggestion(response[0].buttons);
- var BotResponse = '' + response_text[j] + '
';
- $(BotResponse).appendTo(".chats").hide().fadeIn(1000);
}
scrollToBottomOfResults();
From e6512e8cba4a87bcf252b89b9cbc6c2e74c205ce Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Tue, 30 May 2023 11:25:09 +0200
Subject: [PATCH 105/159] Add more exclamation marks
---
backend/domain.yml | 38 +++++++++++++++++++-------------------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/backend/domain.yml b/backend/domain.yml
index 54846bf..636d1fc 100644
--- a/backend/domain.yml
+++ b/backend/domain.yml
@@ -1065,13 +1065,13 @@ responses:
- text: "That's good to hear! I'm glad you're in a good mood."
utter_mood_neutral_response:
- - text: "Ah, so a pretty regular day, then. Okay."
+ - text: "Ah, so a pretty regular day, then. Okay!"
utter_mood_bad_response:
- - text: "I'm sorry to hear that. I hope our conversation might cheer you up a bit."
+ - text: "I'm sorry to hear that! I hope our conversation might cheer you up a bit."
utter_mood_very_bad_response:
- - text: "I'm sorry to hear that. Do talk to someone if you have problems you need help with. For now, I hope our conversation might cheer you up a little bit."
+ - text: "I'm sorry to hear that! Do talk to someone if you have problems you need help with. For now, I hope our conversation might cheer you up a little bit."
utter_prompt_usage_1:
- text: "Before we start, let me explain how you can communicate with me."
@@ -1086,7 +1086,7 @@ responses:
text: "Other times, you will need to do something on the left side of the screen. I will tell you when that is the case. Let me know when you are ready to continue by clicking the button."
utter_button:
- - text: "Nice. Seems like you're getting familiar with using the buttons."
+ - text: "Nice! Seems like you're getting familiar with using the buttons."
utter_intro_1:
- text: "Let me briefly reiterate what you previously read in the introduction part of this session."
@@ -1149,7 +1149,7 @@ responses:
text: "Let me know when you are ready to continue with setting a goal."
utter_set_goal_1:
- - text: "Great, let's carry on. A common way of measuring how much you walk is through counting the number of steps you take in a day."
+ - text: "Great, let's carry on! A common way of measuring how much you walk is through counting the number of steps you take in a day."
utter_set_goal_2:
- text: "And a common goal is to aim for 10000 steps per day, as this is beneficial for your health, especially if you are currently inactive."
@@ -1161,7 +1161,7 @@ responses:
text: "Once you are ready to continue, please click the button."
utter_set_goal_3:
- - text: "Okay, let's proceed. I assume you take at least about 2000 steps per day through your regular activities, so one of your options is to increase that amount by 8000 steps to reach a total of 10000 steps per day."
+ - text: "Okay, let's proceed! I assume you take at least about 2000 steps per day through your regular activities, so one of your options is to increase that amount by 8000 steps to reach a total of 10000 steps per day."
utter_set_goal_4:
- text: "However, you can also pick a higher goal if you want a challenge!"
@@ -1197,7 +1197,7 @@ responses:
utter_thank_for_times:
- - text: "Thank you for letting me know when you are available."
+ - text: "Thank you for letting me know when you are available!"
utter_energy_levels:
- text: "Now, I want to ask when you have more energy than usual. We could make use of this opportunity to schedule a walk if you are also free at the time."
@@ -1210,7 +1210,7 @@ responses:
utter_thank_for_energy_levels:
- - text: "Thank you for letting me know about your energy levels."
+ - text: "Thank you for letting me know about your energy levels!"
utter_present_plan_1:
- buttons:
@@ -1225,13 +1225,13 @@ responses:
text: "I'll leave the plan on the left side of the screen so you can take a look at it later. Note that you may need to scroll to see the entire plan, depending on your screen resolution. Let me know when you are prepared to discuss the plan in more detail."
utter_present_plan_3:
- - text: "Okay, let's take a look at the plan. On the left side of your screen, you should see a big table with a view similar to that of a calendar. Time slots when you should take walks are marked with the duration you should walk for. You can also notice that the duration increases each week."
+ - text: "Okay, let's take a look at the plan! On the left side of your screen, you should see a big table with a view similar to that of a calendar. Time slots when you should take walks are marked with the duration you should walk for. You can also notice that the duration increases each week."
utter_check_plan_first_walk:
- text: "You can see the first two weeks planned in detail. To check that you understand what the plan signifies, let's do a quick pop quiz! When is the first time you have to take a walk? Please type your answer as day_time. For example, if your first walk is on Friday morning, please type 'friday_morning'."
utter_check_plan_first_walk_correct:
- - text: "That's right, your first walk is on {plan_check_first_walk}."
+ - text: "That's right, your first walk is on {plan_check_first_walk}!"
utter_check_plan_first_walk_incorrect:
- text: "Unfortunately, you are not right. Please, take another look at the plan. You can see the first two weeks planned in detail. Look for the first day with a time slot selected, then look at what time during that day you should take a walk. Please type your answer as day_time."
@@ -1290,8 +1290,8 @@ responses:
- text: "So your confidence is {confidence}."
utter_thank_for_confidence:
- - text: "I see. Thank you for telling me."
- - text: "Okay. Good to know. Thank you."
+ - text: "I see. Thank you for telling me!"
+ - text: "Okay! Good to know. Thank you."
- text: "Okay! Thanks for letting me know."
- text: "Good to know. Thanks!"
- text: "Got it. Thanks for letting me know!"
@@ -1327,8 +1327,8 @@ responses:
- text: "So your perceived usefulness is {perceived_usefulness}."
utter_thank_for_perceived_usefulness:
- - text: "I see. Thank you for telling me."
- - text: "Okay. Good to know. Thank you."
+ - text: "I see. Thank you for telling me!"
+ - text: "Okay! Good to know. Thank you."
- text: "Okay! Thanks for letting me know."
- text: "Good to know. Thanks!"
- text: "Got it. Thanks for letting me know!"
@@ -1364,7 +1364,7 @@ responses:
- text: "So your attitude is {attitude}."
utter_thank_for_attitude:
- - text: "That is good to know. Thank you."
+ - text: "That is good to know. Thank you!"
- text: "Thanks for telling me!"
utter_input_too_short_takeaway_1:
@@ -1446,10 +1446,10 @@ responses:
text: "Which of these do you think is the biggest barrier for you?"
utter_identify_barriers_4:
- - text: "I see. Thank you for informing me. Would you mind briefly describing your barrier to me in the chat?"
+ - text: "I see. Thank you for informing me! Would you mind briefly describing your barrier to me in the chat?"
utter_identify_barriers_5:
- - text: "Thank you for telling me."
+ - text: "Thank you for telling me!"
# utter_identify_barriers_7:
# - text: "Maybe you don't have shoes that are comfortable to take longer walks in."
@@ -1466,7 +1466,7 @@ responses:
utter_deal_with_barriers_1:
- - text: "Thank you for telling me. \n We've previously thought of barriers which might prevent you from taking walks regularly."
+ - text: "Thank you for telling me! \n We've previously thought of barriers which might prevent you from taking walks regularly."
utter_deal_with_barriers_2:
- text: "Now, let's try to think of how you could overcome those barriers."
@@ -1556,7 +1556,7 @@ responses:
- text: "Okay, that's good!"
utter_changes_to_plan_1:
- - text: "I see. Thank you for informing me. \n I propose we take another look at the plan."
+ - text: "I see. Thank you for informing me! \n I propose we take another look at the plan."
utter_changes_to_plan_intermediary:
- text: "Maybe considering our discussion so far, you realised that you want to change some of the times when you have to go for walks. If you do not want to change anything, please just click the button titled 'I am done adjusting the plan'"
From a5344ff7d150bb9bc2cc5310d03b57501d0404d6 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Tue, 30 May 2023 12:17:52 +0200
Subject: [PATCH 106/159] Change ' to "
---
backend/domain.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backend/domain.yml b/backend/domain.yml
index 636d1fc..b930902 100644
--- a/backend/domain.yml
+++ b/backend/domain.yml
@@ -1011,7 +1011,7 @@ responses:
- payload: /confirm_mood_very_good
title: "Serene"
- payload: /confirm_mood_very_good
- title: 'Content'
+ title: "Content"
- payload: /confirm_mood_very_good
title: "Satisfied"
- payload: /confirm_mood_very_good
From 6279ff36f5151cba471590ee9fa5ae49e068446c Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 31 May 2023 11:49:34 +0200
Subject: [PATCH 107/159] Change formulation
---
backend/domain.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backend/domain.yml b/backend/domain.yml
index b930902..b0bf8f3 100644
--- a/backend/domain.yml
+++ b/backend/domain.yml
@@ -1386,7 +1386,7 @@ responses:
- text: "It seems like your answer is a bit too short... Please type at least 3 words. The question was: How do you think planning can help you do this?"
utter_explain_planning_1:
- - text: "Thanks for telling me! \n I think it would be useful to look again at more ways in which planning can help you be more physically active by walking."
+ - text: "Thanks for telling me! \n I think it would be useful to look at ways in which planning can help you be more physically active by walking."
utter_explain_planning_2:
- buttons:
From 9440ae882688b18a85c2c22dff5f46c18e34edf1 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 31 May 2023 12:26:22 +0200
Subject: [PATCH 108/159] Require 4 different days for the time slots
---
backend/domain.yml | 2 +-
frontend/static/js/script.js | 21 +++++++++++++++------
2 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/backend/domain.yml b/backend/domain.yml
index b0bf8f3..36bf930 100644
--- a/backend/domain.yml
+++ b/backend/domain.yml
@@ -1183,7 +1183,7 @@ responses:
- text: "Let's move on to creating the plan. To do that, let's first see when you have free time."
utter_routines_2:
- - text: "Ideally, we're looking for at least four different times during the week when you have at least 30 minutes to take a walk."
+ - text: "Ideally, we're looking for at least four different days during the week when you have at least 30 minutes to take a walk."
utter_timeslots_1:
- text: "On the left side of the screen, you can see a table. You can click on a time slot in the table to specify that you are available at that time. By clicking that slot again, you indicate that you are not available."
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index 3b163fa..336015c 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -743,6 +743,11 @@ function check_selected_timeslots(){
}
}
+function day_only(id){
+ const day = id.split('_')[0];
+ return day;
+}
+
function check_selected_timeslots_initial(){
var button = document.getElementById("submit_timeslots_button");
@@ -759,20 +764,24 @@ function check_selected_timeslots_initial(){
]
- var count = 0;
-
- days.forEach(element_id => count+= check_inner_HTML(element_id));
-
var selected_slots = [];
days.forEach(element_id => selected_slots.push(slots_selected_initial(element_id)));
+ var selected_slots_day_only = [];
+
+ days.forEach(function(element_id) {
+ if (!selected_slots_day_only.includes(day_only(element_id))) {
+ selected_slots_day_only.push(day_only(element_id))
+ }
+ });
+
var selected_slots = selected_slots.filter(function (el) {
return el != "";
});
- if(count >= 4){
+ if(len(selected_slots_day_only) >= 4){
button.style.display = "none";
table.style.display = "none";
@@ -792,7 +801,7 @@ function check_selected_timeslots_initial(){
}
else{
- window.alert("Please select at least four time slots.");
+ window.alert("Please select at least four time slots and at least four different days.");
}
}
From 0b488d86398eb3a5272ba7d0332272b58b47c145 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 31 May 2023 12:31:53 +0200
Subject: [PATCH 109/159] Change requirement
---
frontend/static/js/script.js | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index 336015c..6ad9aad 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -763,14 +763,15 @@ function check_selected_timeslots_initial(){
"sunday_morning_slot", "sunday_midday_slot", "sunday_afternoon_slot", "sunday_evening_slot"
]
+ var count = 0;
var selected_slots = [];
- days.forEach(element_id => selected_slots.push(slots_selected_initial(element_id)));
-
var selected_slots_day_only = [];
days.forEach(function(element_id) {
+ count+= check_inner_HTML(element_id);
+ selected_slots.push(slots_selected_initial(element_id));
if (!selected_slots_day_only.includes(day_only(element_id))) {
selected_slots_day_only.push(day_only(element_id))
}
@@ -781,7 +782,7 @@ function check_selected_timeslots_initial(){
});
- if(len(selected_slots_day_only) >= 4){
+ if(selected_slots_day_only.length >= 4 || selected_slots_day_only.length == 3 && count >=4){
button.style.display = "none";
table.style.display = "none";
From 2593efc90fa986647e260e076adae3631788a5aa Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 31 May 2023 12:36:12 +0200
Subject: [PATCH 110/159] fix logic
---
frontend/static/js/script.js | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index 6ad9aad..999bcd5 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -772,15 +772,17 @@ function check_selected_timeslots_initial(){
days.forEach(function(element_id) {
count+= check_inner_HTML(element_id);
selected_slots.push(slots_selected_initial(element_id));
- if (!selected_slots_day_only.includes(day_only(element_id))) {
- selected_slots_day_only.push(day_only(element_id))
- }
});
var selected_slots = selected_slots.filter(function (el) {
return el != "";
});
+ selected_slots.forEach(function(element_id) {
+ if (!selected_slots_day_only.includes(day_only(element_id))) {
+ selected_slots_day_only.push(day_only(element_id))
+ }
+ });
if(selected_slots_day_only.length >= 4 || selected_slots_day_only.length == 3 && count >=4){
button.style.display = "none";
From 43b1585a823d3be3e9c4a640c6ba92cd98631a4c Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 31 May 2023 12:42:18 +0200
Subject: [PATCH 111/159] Change some of the moods
---
backend/domain.yml | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/backend/domain.yml b/backend/domain.yml
index 36bf930..6ba5f23 100644
--- a/backend/domain.yml
+++ b/backend/domain.yml
@@ -1012,11 +1012,11 @@ responses:
title: "Serene"
- payload: /confirm_mood_very_good
title: "Content"
- - payload: /confirm_mood_very_good
+ - payload: /confirm_mood_good
title: "Satisfied"
- - payload: /confirm_mood_very_good
+ - payload: /confirm_mood_good
title: "Relaxed"
- - payload: /confirm_mood_very_good
+ - payload: /confirm_mood_good
title: "Calm"
- payload: /confirm_mood_good
title: "Excited"
@@ -1032,19 +1032,19 @@ responses:
title: "Tired"
- payload: /confirm_mood_neutral
title: "Tense"
- - payload: /confirm_mood_neutral
+ - payload: /confirm_mood_bad
title: "Alarmed"
- - payload: /confirm_mood_neutral
+ - payload: /confirm_mood_bad
title: "Afraid"
- payload: /confirm_mood_bad
title: "Droopy"
- payload: /confirm_mood_bad
title: "Bored"
- - payload: /confirm_mood_bad
+ - payload: /confirm_mood_very_bad
title: "Angry"
- - payload: /confirm_mood_bad
+ - payload: /confirm_mood_very_bad
title: "Annoyed"
- - payload: /confirm_mood_bad
+ - payload: /confirm_mood_very_bad
title: "Frustrated"
- payload: /confirm_mood_very_bad
title: "Distressed"
From 591bf7f853d8019b27a570385f0b7c29b8804e04 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 31 May 2023 14:32:31 +0200
Subject: [PATCH 112/159] Change to balanced question
---
backend/domain.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backend/domain.yml b/backend/domain.yml
index 6ba5f23..edcd264 100644
--- a/backend/domain.yml
+++ b/backend/domain.yml
@@ -1623,7 +1623,7 @@ responses:
title: "9"
- payload: /confirm_satisfaction{"satisfaction":"10"}
title: "10 (I am very satisfied)"
- text: "How satisfied were you with the dialogue?"
+ text: "How satisfied or dissatisfied were you with the dialogue?"
utter_commitment_1:
- buttons:
From d505f4ed7a2967e2a8f3771c70a56779063f2878 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 31 May 2023 14:33:11 +0200
Subject: [PATCH 113/159] Change to balanced questions
---
backend/domain.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/backend/domain.yml b/backend/domain.yml
index edcd264..565d255 100644
--- a/backend/domain.yml
+++ b/backend/domain.yml
@@ -1649,7 +1649,7 @@ responses:
title: "9"
- payload: /confirm_commitment_1{"commitment_1":"10"}
title: "10 (I strongly agree)"
- text: "How much do you agree with the following statement: 'I am committing to being physically active by following the first two weeks of the plan, no matter what feels uncomfortable or challenging about that'?"
+ text: "How much do you agree or disagree with the following statement: 'I am committing to being physically active by following the first two weeks of the plan, no matter what feels uncomfortable or challenging about that'?"
utter_commitment_f:
- buttons:
@@ -1675,7 +1675,7 @@ responses:
title: "9"
- payload: /confirm_commitment_f{"commitment_f":"10"}
title: "10 (I strongly agree)"
- text: "How much do you agree with the following statement: 'I am committing to being physically active by following the entire plan, no matter what feels uncomfortable or challenging about that'?"
+ text: "How much do you agree or disagree with the following statement: 'I am committing to being physically active by following the entire plan, no matter what feels uncomfortable or challenging about that'?"
utter_confidence_goal:
- buttons:
@@ -1701,7 +1701,7 @@ responses:
title: "9"
- payload: /confirm_confidence_goal{"confidence_goal":"10"}
title: "10 (I am sure that I can reach my goal)"
- text: "How confident are you that you can reach your goal of being able to take {goal} steps per day in six months from now?"
+ text: "How confident or unconfidence are you that you can reach your goal of being able to take {goal} steps per day in six months from now?"
utter_thank:
- text: "Thank you for all your answers and for your time!"
From a3ea09f02f371781ab8afbaf62f843363794d38c Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 7 Jun 2023 10:57:24 +0200
Subject: [PATCH 114/159] Change to 0-10 values
---
backend/domain.yml | 364 ++++++++++++++++++++++++---------------------
1 file changed, 191 insertions(+), 173 deletions(-)
diff --git a/backend/domain.yml b/backend/domain.yml
index 565d255..18fb757 100644
--- a/backend/domain.yml
+++ b/backend/domain.yml
@@ -20,10 +20,6 @@ intents:
# usage
- confirm_usage
-# intro
-
-- confirm_intro
-
# goal
- confirm_explain_goal
@@ -112,8 +108,6 @@ intents:
## actions
-- confirm_continue_dialogue
-
- do_explain_planning
- do_identify_barriers
- do_deal_with_barriers
@@ -756,9 +750,17 @@ slots:
type: categorical
influence_conversation: false
values:
- - low
- - medium
- - high
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ - 9
+ - 10
mappings:
- type: from_entity
entity: confidence
@@ -767,8 +769,17 @@ slots:
type: categorical
influence_conversation: false
values:
- - low
- - high
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ - 9
+ - 10
mappings:
- type: from_entity
entity: perceived_usefulness
@@ -777,8 +788,17 @@ slots:
type: categorical
influence_conversation: false
values:
- - low
- - high
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ - 9
+ - 10
mappings:
- type: from_entity
entity: attitude
@@ -998,86 +1018,41 @@ responses:
utter_greet_2:
- text: "I'm happy to meet you."
+
utter_confirm_mood:
- buttons:
- payload: /confirm_mood_very_good
- title: "Happy"
- - payload: /confirm_mood_very_good
- title: "Glad"
- - payload: /confirm_mood_very_good
- title: "Pleased"
- - payload: /confirm_mood_very_good
- title: "Delighted"
- - payload: /confirm_mood_very_good
- title: "Serene"
- - payload: /confirm_mood_very_good
- title: "Content"
- - payload: /confirm_mood_good
- title: "Satisfied"
- - payload: /confirm_mood_good
- title: "Relaxed"
- - payload: /confirm_mood_good
- title: "Calm"
+ title: "I'm doing fantastic today!"
- payload: /confirm_mood_good
- title: "Excited"
- - payload: /confirm_mood_good
- title: "Astonished"
- - payload: /confirm_mood_good
- title: "Aroused"
- - payload: /confirm_mood_neutral
- title: "Sleepy"
+ title: "I'm doing good."
- payload: /confirm_mood_neutral
- title: "Neutral"
- - payload: /confirm_mood_neutral
- title: "Tired"
- - payload: /confirm_mood_neutral
- title: "Tense"
- - payload: /confirm_mood_bad
- title: "Alarmed"
+ title: "I'm alright."
- payload: /confirm_mood_bad
- title: "Afraid"
- - payload: /confirm_mood_bad
- title: "Droopy"
- - payload: /confirm_mood_bad
- title: "Bored"
- - payload: /confirm_mood_very_bad
- title: "Angry"
- - payload: /confirm_mood_very_bad
- title: "Annoyed"
- - payload: /confirm_mood_very_bad
- title: "Frustrated"
+ title: "Not so good…"
- payload: /confirm_mood_very_bad
- title: "Distressed"
- - payload: /confirm_mood_very_bad
- title: "Depressed"
- - payload: /confirm_mood_very_bad
- title: "Sad"
- - payload: /confirm_mood_very_bad
- title: "Gloomy"
- - payload: /confirm_mood_very_bad
- title: "Miserable"
- text: "How are you doing today? Pick one of the options below to let me know how you feel."
+ title: "Quite bad…"
+ text: "How are you doing today?"
utter_mood_very_good_response:
- - text: "That's awesome! I'm glad you're in a great mood."
+ - text: "That's awesome!"
utter_mood_good_response:
- - text: "That's good to hear! I'm glad you're in a good mood."
+ - text: "That's good to hear!"
utter_mood_neutral_response:
- - text: "Ah, so a pretty regular day, then. Okay!"
+ - text: "Ah, so a pretty regular day, then. Okay."
utter_mood_bad_response:
- - text: "I'm sorry to hear that! I hope our conversation might cheer you up a bit."
+ - text: "I'm sorry to hear that. I hope our conversation might cheer you up a bit."
utter_mood_very_bad_response:
- - text: "I'm sorry to hear that! Do talk to someone if you have problems you need help with. For now, I hope our conversation might cheer you up a little bit."
+ - text: "I'm sorry to hear that. Do talk to someone if you have problems you need help with. For now, I hope our conversation might cheer you up a little bit."
utter_prompt_usage_1:
- text: "Before we start, let me explain how you can communicate with me."
utter_prompt_usage_2:
- - text: "You can simply click on one of the buttons like you already did. Sometimes, you will have to use the chat box below to type in your answer."
+ - text: "You can simply click on one of the buttons, like you already did. Sometimes, you will have to use the chat box bellow to type in your answer."
utter_explain_usage:
- buttons:
@@ -1086,37 +1061,34 @@ responses:
text: "Other times, you will need to do something on the left side of the screen. I will tell you when that is the case. Let me know when you are ready to continue by clicking the button."
utter_button:
- - text: "Nice! Seems like you're getting familiar with using the buttons."
-
- utter_intro_1:
- - text: "Let me briefly reiterate what you previously read in the introduction part of this session."
-
- utter_intro_2:
- - text: "My goal is to help people create plans for taking walks."
-
- utter_intro_3:
- - text: "We'll set a goal for you to reach in 6 months from now, and then create a plan for doing so."
-
- utter_intro_4:
- - buttons:
- - payload: /confirm_intro
- title: "Let's continue."
- text: "Let me know when you are ready to continue."
+ - text: "Nice. Seems like you're getting familiar with using the buttons."
utter_purpose_1:
- - text: "Let me tell you a bit about myself. My goal is to help people create plans for taking walks."
+ - text: "Let me tell you a bit about myself. My goal is to help people create plans for taking walks during the week."
utter_purpose_2:
- - text: "Walking is generally regarded as beneficial for both health and mood, and it's also easily accessible for everyone, since it doesn't take a lot of time like a workout might, nor does it require special equipment."
+ - text: "Walking is generally regarded as beneficial for both health and mood."
+
+ utter_purpose_3:
+ - text: "Another advantage of taking regular walks is that they are easily accessible for everyone."
utter_continue_purpose_1:
- buttons:
- payload: /confirm_continue_purpose_1
title: "Let's continue."
- text: "Let me know when you are done reading so we can continue."
+ text: "This means that it doesn't take a lot of time like a workout might, nor does it require special equipment. Let me know when you are done reading so we can continue."
- utter_purpose_3:
- - text: "Okay! For our plan, you'll have to walk at moderate intensity, which means you should be breathing more heavily than usual, while still being able to hold a short conversation."
+ utter_purpose_4:
+ - text: "Okay! Let me explain in a bit more detail the kinds of walks we will make a plan for."
+
+ utter_purpose_5:
+ - text: "Unlike leisurely walks, you'll have to walk at moderate intensity for our plan to be effective."
+
+ utter_purpose_6:
+ - text: "Moderate intensity is characterised by breathing more heavily than usual, while still being able to hold a short conversation."
+
+ utter_purpose_7:
+ - text: "In other words, you should walk at a pace that makes it somewhat challenging for you to keep going, which is about 100 steps per minute for the average person."
utter_confirm_purpose:
- buttons:
@@ -1125,10 +1097,16 @@ responses:
text: "Once you are done reading, I will explain how this all ties together with the help of the plan."
utter_explain_usefulness_planning_1:
- - text: "Nice. So, how does planning help you make progress toward your goal?"
+ - text: "Nice. So, how does planning help you make progress towards your goal?"
utter_explain_usefulness_planning_2:
- - text: "If you have a clear indication of when you should go for a walk, you can integrate walking into your schedule such that you actually have time to do it."
+ - text: "If you have a clear indication of when you should go for a walk, it will be much easier for you to actually do it."
+
+ utter_explain_usefulness_planning_3:
+ - text: "You'll have a clear schedule set in place, which will make it more difficult to avoid taking a walk or to postpone it."
+
+ utter_explain_usefulness_planning_4:
+ - text: "After all, there is only so much time in a week, so, by making a plan, you integrate walking into your schedule such that you actually have time to do it."
utter_explain_usefulness_planning_question:
- buttons:
@@ -1137,21 +1115,30 @@ responses:
text: "Let me know when you are done reading and you want to continue."
utter_explain_goal_1:
- - text: "Alright, let's keep going. To create a plan for walking, we should first set a goal for you."
+ - text: "Okay! In order to create a plan for walking, we should first set a goal for you."
utter_explain_goal_2:
- - text: "Having a clear goal that is both challenging and achievable helps keep you motivated."
+ - text: "Having a clear goal to work towards is helpful in keeping you motivated."
+
+ utter_explain_goal_3:
+ - text: "However, for the goal to be most effective, you should pick a goal is both challenging and achievable."
+
+ utter_explain_goal_4:
+ - text: "You should feel like you have to put in the effort to reach your goal, while avoiding aiming for something unrealistic."
utter_explain_goal_question:
- buttons:
- payload: /confirm_explain_goal
title: "Let's move on."
- text: "Let me know when you are ready to continue with setting a goal."
+ text: "Let me know when you are ready to continue."
utter_set_goal_1:
- - text: "Great, let's carry on! A common way of measuring how much you walk is through counting the number of steps you take in a day."
+ - text: "I think we are ready for you to set a goal for walking."
utter_set_goal_2:
+ - text: "A common way of measuring how much you walk is through counting the number of steps you take in a day."
+
+ utter_set_goal_3:
- text: "And a common goal is to aim for 10000 steps per day, as this is beneficial for your health, especially if you are currently inactive."
utter_set_goal_continue:
@@ -1160,10 +1147,10 @@ responses:
title: "I am ready."
text: "Once you are ready to continue, please click the button."
- utter_set_goal_3:
- - text: "Okay, let's proceed! I assume you take at least about 2000 steps per day through your regular activities, so one of your options is to increase that amount by 8000 steps to reach a total of 10000 steps per day."
-
utter_set_goal_4:
+ - text: "Okay. I assume you take at least about 2000 steps per day through your regular activities, so one of your options is to increase that amount by 8000 steps to reach a total of 10000 steps per day."
+
+ utter_set_goal_5:
- text: "However, you can also pick a higher goal if you want a challenge!"
utter_set_goal:
@@ -1177,19 +1164,51 @@ responses:
text: "Please pick one of these options as your goal."
utter_confirm_goal:
- - text: "Great! Take walks regularly and you'll be able to achieve your goal of {goal} steps per day."
+ - buttons:
+ - payload: /confirm_initial_plan
+ title: "I am prepared."
+ text: "Great! Take walks regularly and you'll be able to achieve your goal of {goal} steps per day. Now, tell me when you are ready to continue."
+
+
+ utter_internal_motivation_1:
+ - text: "Okay! An important part of achieving your goal is being motivated."
+
+ utter_internal_motivation_2:
+ - text: "So, I am curious: what motivates you to want to walk regularly?"
+
+ utter_internal_motivation_question:
+ - buttons:
+ - payload: /confirm_motivation
+ title: "Family."
+ - payload: /confirm_motivation
+ title: "Health."
+ - payload: /confirm_motivation
+ title: "Relationships."
+ - payload: /confirm_motivation
+ title: "Personal growth."
+ - payload: /confirm_motivation
+ title: "Work."
+ - payload: /confirm_motivation
+ title: "Friends."
+ text: "Please pick one of the options below:"
+
+ utter_thank_for_motivation:
+ - text: "I see, thank you for letting me know!"
utter_routines_1:
- - text: "Let's move on to creating the plan. To do that, let's first see when you have free time."
+ - text: "Alright, let's move on to creating the plan. In order to do that, let's first see when you have free time."
utter_routines_2:
- - text: "Ideally, we're looking for at least four different days during the week when you have at least 30 minutes to take a walk."
+ - text: "You don't have to provide me with your exact daily schedule, but let me know if you have any routines in place."
+
+ utter_routines_3:
+ - text: "For example, most people work a day job. But maybe you have things planned on some evenings as well."
- utter_timeslots_1:
- - text: "On the left side of the screen, you can see a table. You can click on a time slot in the table to specify that you are available at that time. By clicking that slot again, you indicate that you are not available."
+ utter_routines_4:
+ - text: "Ideally, we're looking for at least four different times during the week when you have at least 30 minutes to take a walk."
- utter_timeslots_2:
- - text: "Please select all the slots when you are available. Once you are done, click the button that says 'I'm done selecting time slots when I am free.' You may need to scroll to see this button."
+ utter_timeslots:
+ - text: "On the left side of the screen, you can see a table. You can click on a time slot in the table to specify that you are available at that time. Please select all the slots when you are avaialable."
utter_confirm_sunday_slots:
@@ -1197,44 +1216,44 @@ responses:
utter_thank_for_times:
- - text: "Thank you for letting me know when you are available!"
+ - text: "Thank you for letting me know when you are available."
utter_energy_levels:
- text: "Now, I want to ask when you have more energy than usual. We could make use of this opportunity to schedule a walk if you are also free at the time."
utter_energy_instruction:
- - text: "Like before, I would like you to pay attention to the left side of the screen. Please specify how much energy you have during the weekdays and during the weekends by clicking the corresponding box for each time of the day. Note again that you may need to scroll to see the button which confirms that you are done."
+ - text: "Like before, I would like you to pay attention to the left side of the sceen. Please specify how much energy you have during the weekdays and during the weekends by clicking the corresponding box for each time of the day."
utter_energy_levels_weekends_confirm:
- text: "So those are your energy levels on weekends:\n Morning: {weekends_morning}, Midday: {weekends_midday}, Afternoon: {weekends_afternoon}, Evening: {weekends_evening}."
utter_thank_for_energy_levels:
- - text: "Thank you for letting me know about your energy levels!"
+ - text: "Thank you for letting me know when you have more energy than usual."
utter_present_plan_1:
- buttons:
- payload: /confirm_ready_initial_plan
title: "Show me the plan."
- text: "Now, let's see the initial plan! It is based on the times when you are free and the energy levels you specified, but don't worry if it's not entirely to your liking yet. You'll have opportunities to modify it later. Please let me know when you are ready to continue."
+ text: "Now, let's see initial plan! Don't worry if it's not entirely to you liking yet. You'll have opportunities to modify it later. Please let me know when you are ready to continue."
utter_present_plan_2:
- buttons:
- payload: /confirm_checked_plan{"changes_to_plan":"0"}
title: "Let's discuss the plan."
- text: "I'll leave the plan on the left side of the screen so you can take a look at it later. Note that you may need to scroll to see the entire plan, depending on your screen resolution. Let me know when you are prepared to discuss the plan in more detail."
+ text: "I'll leave the plan on the left side on the screen so you can take a look at it later. Note that you may need to scroll to see the entire plan, depending on your screen resolution. Let me know when you are prepared to discuss the plan in more detail. "
utter_present_plan_3:
- - text: "Okay, let's take a look at the plan! On the left side of your screen, you should see a big table with a view similar to that of a calendar. Time slots when you should take walks are marked with the duration you should walk for. You can also notice that the duration increases each week."
+ - text: "Okay, let's take a took at the plan. On the left side of your screen, you should see a big table with a view similar to that of a calendar. Time slots when you should take walks are marked with the duration you should walk for. You can also notice that the duration increases each week."
utter_check_plan_first_walk:
- text: "You can see the first two weeks planned in detail. To check that you understand what the plan signifies, let's do a quick pop quiz! When is the first time you have to take a walk? Please type your answer as day_time. For example, if your first walk is on Friday morning, please type 'friday_morning'."
utter_check_plan_first_walk_correct:
- - text: "That's right, your first walk is on {plan_check_first_walk}!"
+ - text: "That's right, your first walk is on {plan_check_first_walk}."
utter_check_plan_first_walk_incorrect:
- - text: "Unfortunately, you are not right. Please, take another look at the plan. You can see the first two weeks planned in detail. Look for the first day with a time slot selected, then look at what time during that day you should take a walk. Please type your answer as day_time."
+ - text: "Unfortunately, you are not right. Please, take another look at the plan. You can see the first two weeks planned in detail. Look for the first day with a time slot selected, then look at what time in that day you should take a walk. Please type your answer as day_time."
utter_explain_weeks:
- buttons:
@@ -1243,7 +1262,7 @@ responses:
text: "Moving on, you can also see the third and fourth weeks, but only in terms of how many hours you have to walk and how often. For the two months after that, you see only how much you will have to do in the last week of that month, to give you an idea of the effort that you are building up towards. Let me know when you are done reading."
utter_check_plan_week_3:
- - text: "Let's do an extra check to make sure everything is clear. How much time will you have to walk in your third week? Please type your answer as a number with one decimal point. For example, if your answer is 1 and a half hours, please type '1.5'"
+ - text: "Let's do an extra check to make sure everything is clear. How much time will you have to walk on your third week? Please type your answer as a number with one decimal point. For example, if your answer is 1 and a half hours, please type '1.5'"
utter_check_plan_week_3_correct:
- text: "Correct! In your third week, you will have to walk for {plan_check_week_3} hours."
@@ -1262,27 +1281,27 @@ responses:
utter_state_confidence:
- buttons:
- - payload: /confirm_confidence{"confidence":"low"}
+ - payload: /confirm_confidence{"confidence":"0"}
title: "0 (Not confident at all)"
- - payload: /confirm_confidence{"confidence":"low"}
+ - payload: /confirm_confidence{"confidence":"1"}
title: "1"
- - payload: /confirm_confidence{"confidence":"low"}
+ - payload: /confirm_confidence{"confidence":"2"}
title: "2"
- - payload: /confirm_confidence{"confidence":"low"}
+ - payload: /confirm_confidence{"confidence":"3"}
title: "3"
- - payload: /confirm_confidence{"confidence":"medium"}
+ - payload: /confirm_confidence{"confidence":"4"}
title: "4"
- - payload: /confirm_confidence{"confidence":"medium"}
+ - payload: /confirm_confidence{"confidence":"5"}
title: "5"
- - payload: /confirm_confidence{"confidence":"medium"}
+ - payload: /confirm_confidence{"confidence":"6"}
title: "6"
- - payload: /confirm_confidence{"confidence":"high"}
+ - payload: /confirm_confidence{"confidence":"7"}
title: "7"
- - payload: /confirm_confidence{"confidence":"high"}
+ - payload: /confirm_confidence{"confidence":"8"}
title: "8"
- - payload: /confirm_confidence{"confidence":"high"}
+ - payload: /confirm_confidence{"confidence":"9"}
title: "9"
- - payload: /confirm_confidence{"confidence":"high"}
+ - payload: /confirm_confidence{"confidence":"10"}
title: "10 (Very confident)"
text: "How confident are you that you can follow the plan?"
@@ -1290,8 +1309,8 @@ responses:
- text: "So your confidence is {confidence}."
utter_thank_for_confidence:
- - text: "I see. Thank you for telling me!"
- - text: "Okay! Good to know. Thank you."
+ - text: "I see. Thank you for telling me."
+ - text: "Okay. Good to know. Thank you."
- text: "Okay! Thanks for letting me know."
- text: "Good to know. Thanks!"
- text: "Got it. Thanks for letting me know!"
@@ -1299,36 +1318,36 @@ responses:
utter_state_perceived_usefulness:
- buttons:
- - payload: /confirm_perceived_usefulness{"perceived_usefulness":"low"}
- title: "0 (I think it can hinder me very much)"
- - payload: /confirm_perceived_usefulness{"perceived_usefulness":"low"}
+ - payload: /confirm_perceived_usefulness{"perceived_usefulness":"0"}
+ title: "0 (I don't think it can help me)"
+ - payload: /confirm_perceived_usefulness{"perceived_usefulness":"1"}
title: "1"
- - payload: /confirm_perceived_usefulness{"perceived_usefulness":"low"}
+ - payload: /confirm_perceived_usefulness{"perceived_usefulness":"2"}
title: "2"
- - payload: /confirm_perceived_usefulness{"perceived_usefulness":"low"}
+ - payload: /confirm_perceived_usefulness{"perceived_usefulness":"3"}
title: "3"
- - payload: /confirm_perceived_usefulness{"perceived_usefulness":"low"}
+ - payload: /confirm_perceived_usefulness{"perceived_usefulness":"4"}
title: "4"
- - payload: /confirm_perceived_usefulness{"perceived_usefulness":"high"}
+ - payload: /confirm_perceived_usefulness{"perceived_usefulness":"5"}
title: "5"
- - payload: /confirm_perceived_usefulness{"perceived_usefulness":"high"}
+ - payload: /confirm_perceived_usefulness{"perceived_usefulness":"6"}
title: "6"
- - payload: /confirm_perceived_usefulness{"perceived_usefulness":"high"}
+ - payload: /confirm_perceived_usefulness{"perceived_usefulness":"7"}
title: "7"
- - payload: /confirm_perceived_usefulness{"perceived_usefulness":"high"}
+ - payload: /confirm_perceived_usefulness{"perceived_usefulness":"8"}
title: "8"
- - payload: /confirm_perceived_usefulness{"perceived_usefulness":"high"}
+ - payload: /confirm_perceived_usefulness{"perceived_usefulness":"9"}
title: "9"
- - payload: /confirm_perceived_usefulness{"perceived_usefulness":"high"}
- title: "10 (I think it can help me very much)"
- text: "To what extent do you think planning can help or hinder you in terms of taking walks?"
+ - payload: /confirm_perceived_usefulness{"perceived_usefulness":"10"}
+ title: "10 (I think it can help me)"
+ text: "To what extent do you think planning can help you take walks?"
utter_perceived_usefulness_repeat:
- text: "So your perceived usefulness is {perceived_usefulness}."
utter_thank_for_perceived_usefulness:
- - text: "I see. Thank you for telling me!"
- - text: "Okay! Good to know. Thank you."
+ - text: "I see. Thank you for telling me."
+ - text: "Okay. Good to know. Thank you."
- text: "Okay! Thanks for letting me know."
- text: "Good to know. Thanks!"
- text: "Got it. Thanks for letting me know!"
@@ -1336,35 +1355,35 @@ responses:
utter_state_attitude:
- buttons:
- - payload: /confirm_attitude{"attitude":"low"}
- title: "0 (Bad)"
- - payload: /confirm_attitude{"attitude":"low"}
+ - payload: /confirm_attitude{"attitude":"0"}
+ title: "0 (Very useless)"
+ - payload: /confirm_attitude{"attitude":"1"}
title: "1"
- - payload: /confirm_attitude{"attitude":"low"}
+ - payload: /confirm_attitude{"attitude":"2"}
title: "2"
- - payload: /confirm_attitude{"attitude":"low"}
+ - payload: /confirm_attitude{"attitude":"3"}
title: "3"
- - payload: /confirm_attitude{"attitude":"low"}
+ - payload: /confirm_attitude{"attitude":"4"}
title: "4"
- - payload: /confirm_attitude{"attitude":"high"}
+ - payload: /confirm_attitude{"attitude":"5"}
title: "5"
- - payload: /confirm_attitude{"attitude":"high"}
+ - payload: /confirm_attitude{"attitude":"6"}
title: "6"
- - payload: /confirm_attitude{"attitude":"high"}
+ - payload: /confirm_attitude{"attitude":"7"}
title: "7"
- - payload: /confirm_attitude{"attitude":"high"}
+ - payload: /confirm_attitude{"attitude":"8"}
title: "8"
- - payload: /confirm_attitude{"attitude":"high"}
+ - payload: /confirm_attitude{"attitude":"9"}
title: "9"
- - payload: /confirm_attitude{"attitude":"high"}
- title: "10 (Good)"
- text: "Please complete the following statement: 'Making plans for taking walks is ...'"
+ - payload: /confirm_attitude{"attitude":"10"}
+ title: "10 (Very useful)"
+ text: "Please complete the following statement: 'For me, planning walks for the next 3 months would be ...'"
utter_attitude_repeat:
- text: "So your attitude is {attitude}."
utter_thank_for_attitude:
- - text: "That is good to know. Thank you!"
+ - text: "That is good to know. Thank you."
- text: "Thanks for telling me!"
utter_input_too_short_takeaway_1:
@@ -1386,7 +1405,7 @@ responses:
- text: "It seems like your answer is a bit too short... Please type at least 3 words. The question was: How do you think planning can help you do this?"
utter_explain_planning_1:
- - text: "Thanks for telling me! \n I think it would be useful to look at ways in which planning can help you be more physically active by walking."
+ - text: "Thanks for telling me! \n I think it would be useful to look again at more ways in which planning can help you be more physically active by walking."
utter_explain_planning_2:
- buttons:
@@ -1446,10 +1465,10 @@ responses:
text: "Which of these do you think is the biggest barrier for you?"
utter_identify_barriers_4:
- - text: "I see. Thank you for informing me! Would you mind briefly describing your barrier to me in the chat?"
+ - text: "I see. Thank you for informing me. Would you mind briefly describing your barrier to me in the chat?"
utter_identify_barriers_5:
- - text: "Thank you for telling me!"
+ - text: "Thank you for telling me. I'll try to think a way to overcome your barrier. In the meantime..."
# utter_identify_barriers_7:
# - text: "Maybe you don't have shoes that are comfortable to take longer walks in."
@@ -1466,10 +1485,10 @@ responses:
utter_deal_with_barriers_1:
- - text: "Thank you for telling me! \n We've previously thought of barriers which might prevent you from taking walks regularly."
+ - text: "Thank you for telling me. \n We've previously thought of barriers which might prevent you from taking walks regularly."
utter_deal_with_barriers_2:
- - text: "Now, let's try to think of how you could overcome those barriers."
+ - text: "Now, let's try to think how you could overcome those barriers."
utter_deal_with_barriers_3:
- text: "Keep in mind that, while I can provide suggestions, it's really up to you to come up with the solution that works best for you."
@@ -1556,7 +1575,7 @@ responses:
- text: "Okay, that's good!"
utter_changes_to_plan_1:
- - text: "I see. Thank you for informing me! \n I propose we take another look at the plan."
+ - text: "I see. Thank you for informing me. \n I propose we take another look at the plan."
utter_changes_to_plan_intermediary:
- text: "Maybe considering our discussion so far, you realised that you want to change some of the times when you have to go for walks. If you do not want to change anything, please just click the button titled 'I am done adjusting the plan'"
@@ -1623,7 +1642,7 @@ responses:
title: "9"
- payload: /confirm_satisfaction{"satisfaction":"10"}
title: "10 (I am very satisfied)"
- text: "How satisfied or dissatisfied were you with the dialogue?"
+ text: "How satisfied were you with the dialogue?"
utter_commitment_1:
- buttons:
@@ -1649,7 +1668,7 @@ responses:
title: "9"
- payload: /confirm_commitment_1{"commitment_1":"10"}
title: "10 (I strongly agree)"
- text: "How much do you agree or disagree with the following statement: 'I am committing to being physically active by following the first two weeks of the plan, no matter what feels uncomfortable or challenging about that'?"
+ text: "How much do you agree with the following statement: 'I am committing to being physically active by following the first two weeks of the plan, no matter what feels uncomfortable or challenging about that'?"
utter_commitment_f:
- buttons:
@@ -1675,12 +1694,12 @@ responses:
title: "9"
- payload: /confirm_commitment_f{"commitment_f":"10"}
title: "10 (I strongly agree)"
- text: "How much do you agree or disagree with the following statement: 'I am committing to being physically active by following the entire plan, no matter what feels uncomfortable or challenging about that'?"
+ text: "How much do you agree with the following statement: 'I am committing to being physically active by following the entire plan, no mater what feels uncomfortable or challenging about that'?"
utter_confidence_goal:
- buttons:
- payload: /confirm_confidence_goal{"confidence_goal":"0"}
- title: "0 (I am not confident at all that I can reach my goal)"
+ title: "0 (I am not confident at that I can reach my goal)"
- payload: /confirm_confidence_goal{"confidence_goal":"1"}
title: "1"
- payload: /confirm_confidence_goal{"confidence_goal":"2"}
@@ -1701,7 +1720,7 @@ responses:
title: "9"
- payload: /confirm_confidence_goal{"confidence_goal":"10"}
title: "10 (I am sure that I can reach my goal)"
- text: "How confident or unconfidence are you that you can reach your goal of being able to take {goal} steps per day in six months from now?"
+ text: "How confident are you that you can reach your goal of being able to take {goal} steps per day in six months from now?"
utter_thank:
- text: "Thank you for all your answers and for your time!"
@@ -1763,4 +1782,3 @@ actions:
- action_save_action
- action_save_goal_plans_and_reward
- action_rearrange_db
-- action_check_dialogue_done
From b4d0ded4771e9720b9ec97508dfb888be2aa846a Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 7 Jun 2023 10:58:00 +0200
Subject: [PATCH 115/159] Fix end dialogue logic
---
actions/actions.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/actions/actions.py b/actions/actions.py
index dbdeab2..de0b7ad 100644
--- a/actions/actions.py
+++ b/actions/actions.py
@@ -528,7 +528,7 @@ async def run(self, dispatcher: CollectingDispatcher,
a = tracker.get_slot("attitude")
- if c == "high" and pu == "high" and a == "high":
+ if c >= 8 and pu >= 8 and a >= 8:
end = True
From e394e5a40758433dbc2922e00f8a7ab04ccebe47 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 7 Jun 2023 11:02:08 +0200
Subject: [PATCH 116/159] FIx domain file
---
backend/domain.yml | 246 +++++++++++++++++++++++----------------------
1 file changed, 127 insertions(+), 119 deletions(-)
diff --git a/backend/domain.yml b/backend/domain.yml
index 18fb757..371945f 100644
--- a/backend/domain.yml
+++ b/backend/domain.yml
@@ -20,6 +20,10 @@ intents:
# usage
- confirm_usage
+# intro
+
+- confirm_intro
+
# goal
- confirm_explain_goal
@@ -108,6 +112,8 @@ intents:
## actions
+- confirm_continue_dialogue
+
- do_explain_planning
- do_identify_barriers
- do_deal_with_barriers
@@ -1018,41 +1024,86 @@ responses:
utter_greet_2:
- text: "I'm happy to meet you."
-
utter_confirm_mood:
- buttons:
- payload: /confirm_mood_very_good
- title: "I'm doing fantastic today!"
+ title: "Happy"
+ - payload: /confirm_mood_very_good
+ title: "Glad"
+ - payload: /confirm_mood_very_good
+ title: "Pleased"
+ - payload: /confirm_mood_very_good
+ title: "Delighted"
+ - payload: /confirm_mood_very_good
+ title: "Serene"
+ - payload: /confirm_mood_very_good
+ title: "Content"
+ - payload: /confirm_mood_good
+ title: "Satisfied"
+ - payload: /confirm_mood_good
+ title: "Relaxed"
+ - payload: /confirm_mood_good
+ title: "Calm"
+ - payload: /confirm_mood_good
+ title: "Excited"
+ - payload: /confirm_mood_good
+ title: "Astonished"
- payload: /confirm_mood_good
- title: "I'm doing good."
+ title: "Aroused"
- payload: /confirm_mood_neutral
- title: "I'm alright."
+ title: "Sleepy"
+ - payload: /confirm_mood_neutral
+ title: "Neutral"
+ - payload: /confirm_mood_neutral
+ title: "Tired"
+ - payload: /confirm_mood_neutral
+ title: "Tense"
+ - payload: /confirm_mood_bad
+ title: "Alarmed"
- payload: /confirm_mood_bad
- title: "Not so good…"
+ title: "Afraid"
+ - payload: /confirm_mood_bad
+ title: "Droopy"
+ - payload: /confirm_mood_bad
+ title: "Bored"
+ - payload: /confirm_mood_very_bad
+ title: "Angry"
- payload: /confirm_mood_very_bad
- title: "Quite bad…"
- text: "How are you doing today?"
+ title: "Annoyed"
+ - payload: /confirm_mood_very_bad
+ title: "Frustrated"
+ - payload: /confirm_mood_very_bad
+ title: "Distressed"
+ - payload: /confirm_mood_very_bad
+ title: "Depressed"
+ - payload: /confirm_mood_very_bad
+ title: "Sad"
+ - payload: /confirm_mood_very_bad
+ title: "Gloomy"
+ - payload: /confirm_mood_very_bad
+ title: "Miserable"
+ text: "How are you doing today? Pick one of the options below to let me know how you feel."
utter_mood_very_good_response:
- - text: "That's awesome!"
+ - text: "That's awesome! I'm glad you're in a great mood."
utter_mood_good_response:
- - text: "That's good to hear!"
+ - text: "That's good to hear! I'm glad you're in a good mood."
utter_mood_neutral_response:
- - text: "Ah, so a pretty regular day, then. Okay."
+ - text: "Ah, so a pretty regular day, then. Okay!"
utter_mood_bad_response:
- - text: "I'm sorry to hear that. I hope our conversation might cheer you up a bit."
+ - text: "I'm sorry to hear that! I hope our conversation might cheer you up a bit."
utter_mood_very_bad_response:
- - text: "I'm sorry to hear that. Do talk to someone if you have problems you need help with. For now, I hope our conversation might cheer you up a little bit."
+ - text: "I'm sorry to hear that! Do talk to someone if you have problems you need help with. For now, I hope our conversation might cheer you up a little bit."
utter_prompt_usage_1:
- text: "Before we start, let me explain how you can communicate with me."
utter_prompt_usage_2:
- - text: "You can simply click on one of the buttons, like you already did. Sometimes, you will have to use the chat box bellow to type in your answer."
+ - text: "You can simply click on one of the buttons like you already did. Sometimes, you will have to use the chat box below to type in your answer."
utter_explain_usage:
- buttons:
@@ -1061,34 +1112,37 @@ responses:
text: "Other times, you will need to do something on the left side of the screen. I will tell you when that is the case. Let me know when you are ready to continue by clicking the button."
utter_button:
- - text: "Nice. Seems like you're getting familiar with using the buttons."
+ - text: "Nice! Seems like you're getting familiar with using the buttons."
+
+ utter_intro_1:
+ - text: "Let me briefly reiterate what you previously read in the introduction part of this session."
+
+ utter_intro_2:
+ - text: "My goal is to help people create plans for taking walks."
+
+ utter_intro_3:
+ - text: "We'll set a goal for you to reach in 6 months from now, and then create a plan for doing so."
+
+ utter_intro_4:
+ - buttons:
+ - payload: /confirm_intro
+ title: "Let's continue."
+ text: "Let me know when you are ready to continue."
utter_purpose_1:
- - text: "Let me tell you a bit about myself. My goal is to help people create plans for taking walks during the week."
+ - text: "Let me tell you a bit about myself. My goal is to help people create plans for taking walks."
utter_purpose_2:
- - text: "Walking is generally regarded as beneficial for both health and mood."
-
- utter_purpose_3:
- - text: "Another advantage of taking regular walks is that they are easily accessible for everyone."
+ - text: "Walking is generally regarded as beneficial for both health and mood, and it's also easily accessible for everyone, since it doesn't take a lot of time like a workout might, nor does it require special equipment."
utter_continue_purpose_1:
- buttons:
- payload: /confirm_continue_purpose_1
title: "Let's continue."
- text: "This means that it doesn't take a lot of time like a workout might, nor does it require special equipment. Let me know when you are done reading so we can continue."
-
- utter_purpose_4:
- - text: "Okay! Let me explain in a bit more detail the kinds of walks we will make a plan for."
+ text: "Let me know when you are done reading so we can continue."
- utter_purpose_5:
- - text: "Unlike leisurely walks, you'll have to walk at moderate intensity for our plan to be effective."
-
- utter_purpose_6:
- - text: "Moderate intensity is characterised by breathing more heavily than usual, while still being able to hold a short conversation."
-
- utter_purpose_7:
- - text: "In other words, you should walk at a pace that makes it somewhat challenging for you to keep going, which is about 100 steps per minute for the average person."
+ utter_purpose_3:
+ - text: "Okay! For our plan, you'll have to walk at moderate intensity, which means you should be breathing more heavily than usual, while still being able to hold a short conversation."
utter_confirm_purpose:
- buttons:
@@ -1097,16 +1151,10 @@ responses:
text: "Once you are done reading, I will explain how this all ties together with the help of the plan."
utter_explain_usefulness_planning_1:
- - text: "Nice. So, how does planning help you make progress towards your goal?"
+ - text: "Nice. So, how does planning help you make progress toward your goal?"
utter_explain_usefulness_planning_2:
- - text: "If you have a clear indication of when you should go for a walk, it will be much easier for you to actually do it."
-
- utter_explain_usefulness_planning_3:
- - text: "You'll have a clear schedule set in place, which will make it more difficult to avoid taking a walk or to postpone it."
-
- utter_explain_usefulness_planning_4:
- - text: "After all, there is only so much time in a week, so, by making a plan, you integrate walking into your schedule such that you actually have time to do it."
+ - text: "If you have a clear indication of when you should go for a walk, you can integrate walking into your schedule such that you actually have time to do it."
utter_explain_usefulness_planning_question:
- buttons:
@@ -1115,30 +1163,21 @@ responses:
text: "Let me know when you are done reading and you want to continue."
utter_explain_goal_1:
- - text: "Okay! In order to create a plan for walking, we should first set a goal for you."
+ - text: "Alright, let's keep going. To create a plan for walking, we should first set a goal for you."
utter_explain_goal_2:
- - text: "Having a clear goal to work towards is helpful in keeping you motivated."
-
- utter_explain_goal_3:
- - text: "However, for the goal to be most effective, you should pick a goal is both challenging and achievable."
-
- utter_explain_goal_4:
- - text: "You should feel like you have to put in the effort to reach your goal, while avoiding aiming for something unrealistic."
+ - text: "Having a clear goal that is both challenging and achievable helps keep you motivated."
utter_explain_goal_question:
- buttons:
- payload: /confirm_explain_goal
title: "Let's move on."
- text: "Let me know when you are ready to continue."
+ text: "Let me know when you are ready to continue with setting a goal."
utter_set_goal_1:
- - text: "I think we are ready for you to set a goal for walking."
+ - text: "Great, let's carry on! A common way of measuring how much you walk is through counting the number of steps you take in a day."
utter_set_goal_2:
- - text: "A common way of measuring how much you walk is through counting the number of steps you take in a day."
-
- utter_set_goal_3:
- text: "And a common goal is to aim for 10000 steps per day, as this is beneficial for your health, especially if you are currently inactive."
utter_set_goal_continue:
@@ -1147,10 +1186,10 @@ responses:
title: "I am ready."
text: "Once you are ready to continue, please click the button."
- utter_set_goal_4:
- - text: "Okay. I assume you take at least about 2000 steps per day through your regular activities, so one of your options is to increase that amount by 8000 steps to reach a total of 10000 steps per day."
+ utter_set_goal_3:
+ - text: "Okay, let's proceed! I assume you take at least about 2000 steps per day through your regular activities, so one of your options is to increase that amount by 8000 steps to reach a total of 10000 steps per day."
- utter_set_goal_5:
+ utter_set_goal_4:
- text: "However, you can also pick a higher goal if you want a challenge!"
utter_set_goal:
@@ -1164,51 +1203,19 @@ responses:
text: "Please pick one of these options as your goal."
utter_confirm_goal:
- - buttons:
- - payload: /confirm_initial_plan
- title: "I am prepared."
- text: "Great! Take walks regularly and you'll be able to achieve your goal of {goal} steps per day. Now, tell me when you are ready to continue."
-
-
- utter_internal_motivation_1:
- - text: "Okay! An important part of achieving your goal is being motivated."
-
- utter_internal_motivation_2:
- - text: "So, I am curious: what motivates you to want to walk regularly?"
-
- utter_internal_motivation_question:
- - buttons:
- - payload: /confirm_motivation
- title: "Family."
- - payload: /confirm_motivation
- title: "Health."
- - payload: /confirm_motivation
- title: "Relationships."
- - payload: /confirm_motivation
- title: "Personal growth."
- - payload: /confirm_motivation
- title: "Work."
- - payload: /confirm_motivation
- title: "Friends."
- text: "Please pick one of the options below:"
-
- utter_thank_for_motivation:
- - text: "I see, thank you for letting me know!"
+ - text: "Great! Take walks regularly and you'll be able to achieve your goal of {goal} steps per day."
utter_routines_1:
- - text: "Alright, let's move on to creating the plan. In order to do that, let's first see when you have free time."
+ - text: "Let's move on to creating the plan. To do that, let's first see when you have free time."
utter_routines_2:
- - text: "You don't have to provide me with your exact daily schedule, but let me know if you have any routines in place."
-
- utter_routines_3:
- - text: "For example, most people work a day job. But maybe you have things planned on some evenings as well."
+ - text: "Ideally, we're looking for at least four different days during the week when you have at least 30 minutes to take a walk."
- utter_routines_4:
- - text: "Ideally, we're looking for at least four different times during the week when you have at least 30 minutes to take a walk."
+ utter_timeslots_1:
+ - text: "On the left side of the screen, you can see a table. You can click on a time slot in the table to specify that you are available at that time. By clicking that slot again, you indicate that you are not available."
- utter_timeslots:
- - text: "On the left side of the screen, you can see a table. You can click on a time slot in the table to specify that you are available at that time. Please select all the slots when you are avaialable."
+ utter_timeslots_2:
+ - text: "Please select all the slots when you are available. Once you are done, click the button that says 'I'm done selecting time slots when I am free.' You may need to scroll to see this button."
utter_confirm_sunday_slots:
@@ -1216,44 +1223,44 @@ responses:
utter_thank_for_times:
- - text: "Thank you for letting me know when you are available."
+ - text: "Thank you for letting me know when you are available!"
utter_energy_levels:
- text: "Now, I want to ask when you have more energy than usual. We could make use of this opportunity to schedule a walk if you are also free at the time."
utter_energy_instruction:
- - text: "Like before, I would like you to pay attention to the left side of the sceen. Please specify how much energy you have during the weekdays and during the weekends by clicking the corresponding box for each time of the day."
+ - text: "Like before, I would like you to pay attention to the left side of the screen. Please specify how much energy you have during the weekdays and during the weekends by clicking the corresponding box for each time of the day. Note again that you may need to scroll to see the button which confirms that you are done."
utter_energy_levels_weekends_confirm:
- text: "So those are your energy levels on weekends:\n Morning: {weekends_morning}, Midday: {weekends_midday}, Afternoon: {weekends_afternoon}, Evening: {weekends_evening}."
utter_thank_for_energy_levels:
- - text: "Thank you for letting me know when you have more energy than usual."
+ - text: "Thank you for letting me know about your energy levels!"
utter_present_plan_1:
- buttons:
- payload: /confirm_ready_initial_plan
title: "Show me the plan."
- text: "Now, let's see initial plan! Don't worry if it's not entirely to you liking yet. You'll have opportunities to modify it later. Please let me know when you are ready to continue."
+ text: "Now, let's see the initial plan! It is based on the times when you are free and the energy levels you specified, but don't worry if it's not entirely to your liking yet. You'll have opportunities to modify it later. Please let me know when you are ready to continue."
utter_present_plan_2:
- buttons:
- payload: /confirm_checked_plan{"changes_to_plan":"0"}
title: "Let's discuss the plan."
- text: "I'll leave the plan on the left side on the screen so you can take a look at it later. Note that you may need to scroll to see the entire plan, depending on your screen resolution. Let me know when you are prepared to discuss the plan in more detail. "
+ text: "I'll leave the plan on the left side of the screen so you can take a look at it later. Note that you may need to scroll to see the entire plan, depending on your screen resolution. Let me know when you are prepared to discuss the plan in more detail."
utter_present_plan_3:
- - text: "Okay, let's take a took at the plan. On the left side of your screen, you should see a big table with a view similar to that of a calendar. Time slots when you should take walks are marked with the duration you should walk for. You can also notice that the duration increases each week."
+ - text: "Okay, let's take a look at the plan! On the left side of your screen, you should see a big table with a view similar to that of a calendar. Time slots when you should take walks are marked with the duration you should walk for. You can also notice that the duration increases each week."
utter_check_plan_first_walk:
- text: "You can see the first two weeks planned in detail. To check that you understand what the plan signifies, let's do a quick pop quiz! When is the first time you have to take a walk? Please type your answer as day_time. For example, if your first walk is on Friday morning, please type 'friday_morning'."
utter_check_plan_first_walk_correct:
- - text: "That's right, your first walk is on {plan_check_first_walk}."
+ - text: "That's right, your first walk is on {plan_check_first_walk}!"
utter_check_plan_first_walk_incorrect:
- - text: "Unfortunately, you are not right. Please, take another look at the plan. You can see the first two weeks planned in detail. Look for the first day with a time slot selected, then look at what time in that day you should take a walk. Please type your answer as day_time."
+ - text: "Unfortunately, you are not right. Please, take another look at the plan. You can see the first two weeks planned in detail. Look for the first day with a time slot selected, then look at what time during that day you should take a walk. Please type your answer as day_time."
utter_explain_weeks:
- buttons:
@@ -1262,7 +1269,7 @@ responses:
text: "Moving on, you can also see the third and fourth weeks, but only in terms of how many hours you have to walk and how often. For the two months after that, you see only how much you will have to do in the last week of that month, to give you an idea of the effort that you are building up towards. Let me know when you are done reading."
utter_check_plan_week_3:
- - text: "Let's do an extra check to make sure everything is clear. How much time will you have to walk on your third week? Please type your answer as a number with one decimal point. For example, if your answer is 1 and a half hours, please type '1.5'"
+ - text: "Let's do an extra check to make sure everything is clear. How much time will you have to walk in your third week? Please type your answer as a number with one decimal point. For example, if your answer is 1 and a half hours, please type '1.5'"
utter_check_plan_week_3_correct:
- text: "Correct! In your third week, you will have to walk for {plan_check_week_3} hours."
@@ -1309,8 +1316,8 @@ responses:
- text: "So your confidence is {confidence}."
utter_thank_for_confidence:
- - text: "I see. Thank you for telling me."
- - text: "Okay. Good to know. Thank you."
+ - text: "I see. Thank you for telling me!"
+ - text: "Okay! Good to know. Thank you."
- text: "Okay! Thanks for letting me know."
- text: "Good to know. Thanks!"
- text: "Got it. Thanks for letting me know!"
@@ -1346,8 +1353,8 @@ responses:
- text: "So your perceived usefulness is {perceived_usefulness}."
utter_thank_for_perceived_usefulness:
- - text: "I see. Thank you for telling me."
- - text: "Okay. Good to know. Thank you."
+ - text: "I see. Thank you for telling me!"
+ - text: "Okay! Good to know. Thank you."
- text: "Okay! Thanks for letting me know."
- text: "Good to know. Thanks!"
- text: "Got it. Thanks for letting me know!"
@@ -1383,7 +1390,7 @@ responses:
- text: "So your attitude is {attitude}."
utter_thank_for_attitude:
- - text: "That is good to know. Thank you."
+ - text: "That is good to know. Thank you!"
- text: "Thanks for telling me!"
utter_input_too_short_takeaway_1:
@@ -1405,7 +1412,7 @@ responses:
- text: "It seems like your answer is a bit too short... Please type at least 3 words. The question was: How do you think planning can help you do this?"
utter_explain_planning_1:
- - text: "Thanks for telling me! \n I think it would be useful to look again at more ways in which planning can help you be more physically active by walking."
+ - text: "Thanks for telling me! \n I think it would be useful to look at ways in which planning can help you be more physically active by walking."
utter_explain_planning_2:
- buttons:
@@ -1465,10 +1472,10 @@ responses:
text: "Which of these do you think is the biggest barrier for you?"
utter_identify_barriers_4:
- - text: "I see. Thank you for informing me. Would you mind briefly describing your barrier to me in the chat?"
+ - text: "I see. Thank you for informing me! Would you mind briefly describing your barrier to me in the chat?"
utter_identify_barriers_5:
- - text: "Thank you for telling me. I'll try to think a way to overcome your barrier. In the meantime..."
+ - text: "Thank you for telling me!"
# utter_identify_barriers_7:
# - text: "Maybe you don't have shoes that are comfortable to take longer walks in."
@@ -1485,10 +1492,10 @@ responses:
utter_deal_with_barriers_1:
- - text: "Thank you for telling me. \n We've previously thought of barriers which might prevent you from taking walks regularly."
+ - text: "Thank you for telling me! \n We've previously thought of barriers which might prevent you from taking walks regularly."
utter_deal_with_barriers_2:
- - text: "Now, let's try to think how you could overcome those barriers."
+ - text: "Now, let's try to think of how you could overcome those barriers."
utter_deal_with_barriers_3:
- text: "Keep in mind that, while I can provide suggestions, it's really up to you to come up with the solution that works best for you."
@@ -1575,7 +1582,7 @@ responses:
- text: "Okay, that's good!"
utter_changes_to_plan_1:
- - text: "I see. Thank you for informing me. \n I propose we take another look at the plan."
+ - text: "I see. Thank you for informing me! \n I propose we take another look at the plan."
utter_changes_to_plan_intermediary:
- text: "Maybe considering our discussion so far, you realised that you want to change some of the times when you have to go for walks. If you do not want to change anything, please just click the button titled 'I am done adjusting the plan'"
@@ -1642,7 +1649,7 @@ responses:
title: "9"
- payload: /confirm_satisfaction{"satisfaction":"10"}
title: "10 (I am very satisfied)"
- text: "How satisfied were you with the dialogue?"
+ text: "How satisfied or dissatisfied were you with the dialogue?"
utter_commitment_1:
- buttons:
@@ -1668,7 +1675,7 @@ responses:
title: "9"
- payload: /confirm_commitment_1{"commitment_1":"10"}
title: "10 (I strongly agree)"
- text: "How much do you agree with the following statement: 'I am committing to being physically active by following the first two weeks of the plan, no matter what feels uncomfortable or challenging about that'?"
+ text: "How much do you agree or disagree with the following statement: 'I am committing to being physically active by following the first two weeks of the plan, no matter what feels uncomfortable or challenging about that'?"
utter_commitment_f:
- buttons:
@@ -1694,12 +1701,12 @@ responses:
title: "9"
- payload: /confirm_commitment_f{"commitment_f":"10"}
title: "10 (I strongly agree)"
- text: "How much do you agree with the following statement: 'I am committing to being physically active by following the entire plan, no mater what feels uncomfortable or challenging about that'?"
+ text: "How much do you agree or disagree with the following statement: 'I am committing to being physically active by following the entire plan, no matter what feels uncomfortable or challenging about that'?"
utter_confidence_goal:
- buttons:
- payload: /confirm_confidence_goal{"confidence_goal":"0"}
- title: "0 (I am not confident at that I can reach my goal)"
+ title: "0 (I am not confident at all that I can reach my goal)"
- payload: /confirm_confidence_goal{"confidence_goal":"1"}
title: "1"
- payload: /confirm_confidence_goal{"confidence_goal":"2"}
@@ -1720,7 +1727,7 @@ responses:
title: "9"
- payload: /confirm_confidence_goal{"confidence_goal":"10"}
title: "10 (I am sure that I can reach my goal)"
- text: "How confident are you that you can reach your goal of being able to take {goal} steps per day in six months from now?"
+ text: "How confident or unconfidence are you that you can reach your goal of being able to take {goal} steps per day in six months from now?"
utter_thank:
- text: "Thank you for all your answers and for your time!"
@@ -1782,3 +1789,4 @@ actions:
- action_save_action
- action_save_goal_plans_and_reward
- action_rearrange_db
+- action_check_dialogue_done
\ No newline at end of file
From f53faf5fdd9f18e0fa86d69862102e18b737f0d5 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 7 Jun 2023 11:09:00 +0200
Subject: [PATCH 117/159] Fix script
---
frontend/static/js/script.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index 999bcd5..285d43f 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -450,7 +450,7 @@ function setBotResponse(response) {
barrier_strategy = true;
blink_and_select();
}
- else if(response_text[j].includes("I see. Thank you for informing me. Would you mind briefly describing your barrier to me in the chat?") || response_text[j].includes("The question was: Would you mind briefly describing your barrier to me in the chat?")){
+ else if(response_text[j].includes("Would you mind briefly describing your barrier to me in the chat?") || response_text[j].includes("The question was: Would you mind briefly describing your barrier to me in the chat?")){
var BotResponse = '' + response_text[j] + '
';
$(BotResponse).appendTo(".chats").hide().fadeIn(1000);
From 7392b1ea4de24fe441dd49375c18d627cbb26ec2 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 7 Jun 2023 11:13:36 +0200
Subject: [PATCH 118/159] Cast solts to int
---
actions/actions.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/actions/actions.py b/actions/actions.py
index de0b7ad..44a92c6 100644
--- a/actions/actions.py
+++ b/actions/actions.py
@@ -522,11 +522,11 @@ async def run(self, dispatcher: CollectingDispatcher,
if identify_barriers and deal_with_barriers or not identify_barriers:
- c = tracker.get_slot("confidence")
+ c = int(tracker.get_slot("confidence"))
- pu = tracker.get_slot("perceived_usefulness")
+ pu = int(tracker.get_slot("perceived_usefulness"))
- a = tracker.get_slot("attitude")
+ a = int(tracker.get_slot("attitude"))
if c >= 8 and pu >= 8 and a >= 8:
From a65529a225512218dbc8e42ccce10962c925344d Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 7 Jun 2023 11:41:06 +0200
Subject: [PATCH 119/159] Pick action based on adjusted db state values
---
actions/actions.py | 65 ++++++++++++++++++++++++++++++++++++++++------
1 file changed, 57 insertions(+), 8 deletions(-)
diff --git a/actions/actions.py b/actions/actions.py
index 44a92c6..0d9f052 100644
--- a/actions/actions.py
+++ b/actions/actions.py
@@ -617,24 +617,73 @@ async def run(self, dispatcher: CollectingDispatcher,
ch = tracker.get_slot("changes_to_plan")
- c = tracker.get_slot("confidence")
+ c = int(tracker.get_slot("confidence"))
- pu = tracker.get_slot("perceived_usefulness")
+ pu = int(tracker.get_slot("perceived_usefulness"))
- a = tracker.get_slot("attitude")
+ a = int(tracker.get_slot("attitude"))
+
+
+
+ if c in [0,1,2,3]:
+ current_c = "low"
+ elif c in [4,5,6]:
+ current_c = "medium"
+ elif c in [7,8,9,10]:
+ current_c = "high"
+
+ if pu in [0,1,2,3,4]:
+ current_pu = "low"
+ elif pu in [5,6,7,8,9,10]:
+ current_pu = "high"
+
+ if a in [0,1,2,3,4]:
+ current_a = "low"
+ elif a in [5,6,7,8,9,10]:
+ current_a = "high"
# build current state
state = f"{ch}, {c}, {pu}, {a}, {explain_planning}, {identify_barriers}, {deal_with_barriers}, {show_testimonials}"
- query = ("SELECT * FROM state_action_state WHERE state_before = %s")
+ current_state = f"{ch}, {current_c}, {current_pu}, {current_a}, {explain_planning}, {identify_barriers}, {deal_with_barriers}, {show_testimonials}"
- cur.execute(query, [state])
+ query = ("SELECT * FROM state_action_state")
- # retrieve all database entries which have an action taken from this state
+ cur.execute(query)
+
+ # retrieve all database entries
result = cur.fetchall()
- # select only the actions in the database results
- actions = [f"{action}" for (userid,date,state,action,next_state) in result]
+ # select all entries with a similar state
+ similar = []
+
+ for (userid,date,state,action,next_state) in result:
+ split = state.split(", ")
+
+ if split[1] in [0,1,2,3]:
+ db_c = "low"
+ elif split[1] in [4,5,6]:
+ db_c = "medium"
+ elif split[1] in [7,8,9,10]:
+ db_c = "high"
+
+ if pu in [0,1,2,3,4]:
+ db_pu = "low"
+ elif pu in [5,6,7,8,9,10]:
+ db_pu = "high"
+
+ if a in [0,1,2,3,4]:
+ db_a = "low"
+ elif a in [5,6,7,8,9,10]:
+ db_a = "high"
+
+ db_state = f"{ch}, {db_c}, {db_pu}, {db_a}, {explain_planning}, {identify_barriers}, {deal_with_barriers}, {show_testimonials}"
+
+ if db_state == current_state:
+ similar.append((userid,date,state,action,next_state))
+
+ # select only the actions in the database results
+ actions = [f"{action}" for (userid,date,state,action,next_state) in similar]
# count how many times each action was done
count = collections.Counter(actions)
From d67af3a92713eff11a1c8970b938a5349bd1a301 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 7 Jun 2023 11:44:21 +0200
Subject: [PATCH 120/159] Fix comparison logic
---
actions/actions.py | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/actions/actions.py b/actions/actions.py
index 0d9f052..da480cc 100644
--- a/actions/actions.py
+++ b/actions/actions.py
@@ -660,21 +660,21 @@ async def run(self, dispatcher: CollectingDispatcher,
for (userid,date,state,action,next_state) in result:
split = state.split(", ")
- if split[1] in [0,1,2,3]:
+ if int(split[1]) in [0,1,2,3]:
db_c = "low"
- elif split[1] in [4,5,6]:
+ elif int(split[1]) in [4,5,6]:
db_c = "medium"
- elif split[1] in [7,8,9,10]:
+ elif int(split[1]) in [7,8,9,10]:
db_c = "high"
- if pu in [0,1,2,3,4]:
+ if int(split[2]) in [0,1,2,3,4]:
db_pu = "low"
- elif pu in [5,6,7,8,9,10]:
+ elif int(split[2]) in [5,6,7,8,9,10]:
db_pu = "high"
- if a in [0,1,2,3,4]:
+ if int(split[2]) in [0,1,2,3,4]:
db_a = "low"
- elif a in [5,6,7,8,9,10]:
+ elif int(split[2]) in [5,6,7,8,9,10]:
db_a = "high"
db_state = f"{ch}, {db_c}, {db_pu}, {db_a}, {explain_planning}, {identify_barriers}, {deal_with_barriers}, {show_testimonials}"
From ad2195e933310f0ab7ae7f29ecb4c50b25f2ceb9 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Wed, 7 Jun 2023 12:01:54 +0200
Subject: [PATCH 121/159] Add delay back
---
frontend/static/js/script.js | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/frontend/static/js/script.js b/frontend/static/js/script.js
index 285d43f..b5b6024 100644
--- a/frontend/static/js/script.js
+++ b/frontend/static/js/script.js
@@ -272,8 +272,7 @@ function setBotResponse(response) {
//display bot response after the number of miliseconds caputred by the variable 'delay_first_message'
var delay_first_message = 500;
if (response.length >=1) {
- // delay_first_message = Math.min(Math.max(response[0].text.length * 45, 800), 5000);
- delay_first_message = 20;
+ delay_first_message = Math.min(Math.max(response[0].text.length * 45, 800), 5000);
}
setTimeout(function () {
hideBotTyping();
@@ -498,8 +497,7 @@ function setBotResponse(response) {
//if there is more than 1 message from the bot
if (response.length > 1){
//show typing symbol again
- // var delay_typing = 600 + delay_first_message;
- var delay_typing = 20;
+ var delay_typing = 600 + delay_first_message;
setTimeout(function () {
showBotTyping();
}, delay_typing)
@@ -509,7 +507,7 @@ function setBotResponse(response) {
for (var i = 1; i < response.length; i++){
//Add delay based on the length of the next message
- // summed_timeout += Math.min(Math.max(response[i].text.length * 45, 800), 5000);
+ summed_timeout += Math.min(Math.max(response[i].text.length * 45, 800), 5000);
doScaledTimeout(i, response, summed_timeout)
}
From f8843ee63fe1322e0421072fc52f706d5f03ba97 Mon Sep 17 00:00:00 2001
From: Andrei <56655325+AndrewStefan@users.noreply.github.com>
Date: Thu, 8 Jun 2023 10:41:27 +0200
Subject: [PATCH 122/159] Add final model
---
...re-20230510-213224-sophisticated-tree.tar.gz | Bin 25726 -> 0 bytes
...ore-20230608-083511-exothermic-action.tar.gz | Bin 0 -> 24561 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 backend/models/core-20230510-213224-sophisticated-tree.tar.gz
create mode 100644 backend/models/core-20230608-083511-exothermic-action.tar.gz
diff --git a/backend/models/core-20230510-213224-sophisticated-tree.tar.gz b/backend/models/core-20230510-213224-sophisticated-tree.tar.gz
deleted file mode 100644
index d318300bb5aa621f3b9cc6f079b2712636c893c1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 25726
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
B_;COL
diff --git a/backend/models/core-20230608-083511-exothermic-action.tar.gz b/backend/models/core-20230608-083511-exothermic-action.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..8908df3e58fc509a77425dd274b439c2d523e40b
GIT binary patch
literal 24561
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