@hedia/recommendation-screen 2.1.29-alpha.1 → 2.1.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/package.json +1 -1
  2. package/src/__tests__/Validations.test.js +1 -1
  3. package/coverage/clover.xml +0 -716
  4. package/coverage/coverage-final.json +0 -28
  5. package/coverage/lcov-report/base.css +0 -224
  6. package/coverage/lcov-report/block-navigation.js +0 -79
  7. package/coverage/lcov-report/favicon.png +0 -0
  8. package/coverage/lcov-report/index.html +0 -201
  9. package/coverage/lcov-report/prettify.css +0 -1
  10. package/coverage/lcov-report/prettify.js +0 -2
  11. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  12. package/coverage/lcov-report/sorter.js +0 -170
  13. package/coverage/lcov-report/src/RecommendationScreen.tsx.html +0 -2501
  14. package/coverage/lcov-report/src/__tests__/index.html +0 -111
  15. package/coverage/lcov-report/src/__tests__/utils.tsx.html +0 -533
  16. package/coverage/lcov-report/src/components/Header.tsx.html +0 -356
  17. package/coverage/lcov-report/src/components/InfoBars.tsx.html +0 -518
  18. package/coverage/lcov-report/src/components/InvisibleNumberInput.tsx.html +0 -587
  19. package/coverage/lcov-report/src/components/LimitationMessage.tsx.html +0 -209
  20. package/coverage/lcov-report/src/components/LineSeparator.tsx.html +0 -161
  21. package/coverage/lcov-report/src/components/RecentInsulin.tsx.html +0 -410
  22. package/coverage/lcov-report/src/components/RecommendationModal.tsx.html +0 -923
  23. package/coverage/lcov-report/src/components/RecommendedCarbs.tsx.html +0 -1061
  24. package/coverage/lcov-report/src/components/RecommendedInsulin.tsx.html +0 -779
  25. package/coverage/lcov-report/src/components/Remeasure.tsx.html +0 -551
  26. package/coverage/lcov-report/src/components/TransferToLogbook.tsx.html +0 -443
  27. package/coverage/lcov-report/src/components/TwoOptionModal.tsx.html +0 -665
  28. package/coverage/lcov-report/src/components/activity/Activity.tsx.html +0 -371
  29. package/coverage/lcov-report/src/components/activity/ActivityIcon.tsx.html +0 -281
  30. package/coverage/lcov-report/src/components/activity/ActivityIntensity.tsx.html +0 -281
  31. package/coverage/lcov-report/src/components/activity/index.html +0 -141
  32. package/coverage/lcov-report/src/components/index.html +0 -276
  33. package/coverage/lcov-report/src/components/mood/Emotion.tsx.html +0 -353
  34. package/coverage/lcov-report/src/components/mood/MoodIcon.tsx.html +0 -335
  35. package/coverage/lcov-report/src/components/mood/index.html +0 -126
  36. package/coverage/lcov-report/src/index.html +0 -111
  37. package/coverage/lcov-report/src/locale/i18nUtils.ts.html +0 -206
  38. package/coverage/lcov-report/src/locale/index.html +0 -111
  39. package/coverage/lcov-report/src/utils/AttentionMessages.tsx.html +0 -554
  40. package/coverage/lcov-report/src/utils/Constants.ts.html +0 -248
  41. package/coverage/lcov-report/src/utils/RecommendationError.tsx.html +0 -620
  42. package/coverage/lcov-report/src/utils/RecommendationUtils.ts.html +0 -764
  43. package/coverage/lcov-report/src/utils/Translations.ts.html +0 -131
  44. package/coverage/lcov-report/src/utils/Utils.ts.html +0 -545
  45. package/coverage/lcov-report/src/utils/Validations.ts.html +0 -1544
  46. package/coverage/lcov-report/src/utils/index.html +0 -201
  47. package/coverage/lcov.info +0 -1611
@@ -1,276 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/components</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> src/components</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>162/162</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>96/96</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>43/43</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>162/162</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- </div>
58
- <div class='status-line high'></div>
59
- <div class="pad1">
60
- <table class="coverage-summary">
61
- <thead>
62
- <tr>
63
- <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
64
- <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
65
- <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
66
- <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
67
- <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
68
- <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
69
- <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
70
- <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
71
- <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
72
- <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
73
- </tr>
74
- </thead>
75
- <tbody><tr>
76
- <td class="file high" data-value="Header.tsx"><a href="Header.tsx.html">Header.tsx</a></td>
77
- <td data-value="100" class="pic high">
78
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
79
- </td>
80
- <td data-value="100" class="pct high">100%</td>
81
- <td data-value="2" class="abs high">2/2</td>
82
- <td data-value="100" class="pct high">100%</td>
83
- <td data-value="0" class="abs high">0/0</td>
84
- <td data-value="100" class="pct high">100%</td>
85
- <td data-value="1" class="abs high">1/1</td>
86
- <td data-value="100" class="pct high">100%</td>
87
- <td data-value="2" class="abs high">2/2</td>
88
- </tr>
89
-
90
- <tr>
91
- <td class="file high" data-value="InfoBars.tsx"><a href="InfoBars.tsx.html">InfoBars.tsx</a></td>
92
- <td data-value="100" class="pic high">
93
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
94
- </td>
95
- <td data-value="100" class="pct high">100%</td>
96
- <td data-value="13" class="abs high">13/13</td>
97
- <td data-value="100" class="pct high">100%</td>
98
- <td data-value="14" class="abs high">14/14</td>
99
- <td data-value="100" class="pct high">100%</td>
100
- <td data-value="3" class="abs high">3/3</td>
101
- <td data-value="100" class="pct high">100%</td>
102
- <td data-value="13" class="abs high">13/13</td>
103
- </tr>
104
-
105
- <tr>
106
- <td class="file high" data-value="InvisibleNumberInput.tsx"><a href="InvisibleNumberInput.tsx.html">InvisibleNumberInput.tsx</a></td>
107
- <td data-value="100" class="pic high">
108
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
109
- </td>
110
- <td data-value="100" class="pct high">100%</td>
111
- <td data-value="29" class="abs high">29/29</td>
112
- <td data-value="100" class="pct high">100%</td>
113
- <td data-value="12" class="abs high">12/12</td>
114
- <td data-value="100" class="pct high">100%</td>
115
- <td data-value="8" class="abs high">8/8</td>
116
- <td data-value="100" class="pct high">100%</td>
117
- <td data-value="29" class="abs high">29/29</td>
118
- </tr>
119
-
120
- <tr>
121
- <td class="file high" data-value="LimitationMessage.tsx"><a href="LimitationMessage.tsx.html">LimitationMessage.tsx</a></td>
122
- <td data-value="100" class="pic high">
123
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
124
- </td>
125
- <td data-value="100" class="pct high">100%</td>
126
- <td data-value="3" class="abs high">3/3</td>
127
- <td data-value="100" class="pct high">100%</td>
128
- <td data-value="0" class="abs high">0/0</td>
129
- <td data-value="100" class="pct high">100%</td>
130
- <td data-value="1" class="abs high">1/1</td>
131
- <td data-value="100" class="pct high">100%</td>
132
- <td data-value="3" class="abs high">3/3</td>
133
- </tr>
134
-
135
- <tr>
136
- <td class="file high" data-value="LineSeparator.tsx"><a href="LineSeparator.tsx.html">LineSeparator.tsx</a></td>
137
- <td data-value="100" class="pic high">
138
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
139
- </td>
140
- <td data-value="100" class="pct high">100%</td>
141
- <td data-value="2" class="abs high">2/2</td>
142
- <td data-value="100" class="pct high">100%</td>
143
- <td data-value="0" class="abs high">0/0</td>
144
- <td data-value="100" class="pct high">100%</td>
145
- <td data-value="1" class="abs high">1/1</td>
146
- <td data-value="100" class="pct high">100%</td>
147
- <td data-value="2" class="abs high">2/2</td>
148
- </tr>
149
-
150
- <tr>
151
- <td class="file high" data-value="RecentInsulin.tsx"><a href="RecentInsulin.tsx.html">RecentInsulin.tsx</a></td>
152
- <td data-value="100" class="pic high">
153
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
154
- </td>
155
- <td data-value="100" class="pct high">100%</td>
156
- <td data-value="3" class="abs high">3/3</td>
157
- <td data-value="100" class="pct high">100%</td>
158
- <td data-value="0" class="abs high">0/0</td>
159
- <td data-value="100" class="pct high">100%</td>
160
- <td data-value="1" class="abs high">1/1</td>
161
- <td data-value="100" class="pct high">100%</td>
162
- <td data-value="3" class="abs high">3/3</td>
163
- </tr>
164
-
165
- <tr>
166
- <td class="file high" data-value="RecommendationModal.tsx"><a href="RecommendationModal.tsx.html">RecommendationModal.tsx</a></td>
167
- <td data-value="100" class="pic high">
168
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
169
- </td>
170
- <td data-value="100" class="pct high">100%</td>
171
- <td data-value="33" class="abs high">33/33</td>
172
- <td data-value="100" class="pct high">100%</td>
173
- <td data-value="12" class="abs high">12/12</td>
174
- <td data-value="100" class="pct high">100%</td>
175
- <td data-value="7" class="abs high">7/7</td>
176
- <td data-value="100" class="pct high">100%</td>
177
- <td data-value="33" class="abs high">33/33</td>
178
- </tr>
179
-
180
- <tr>
181
- <td class="file high" data-value="RecommendedCarbs.tsx"><a href="RecommendedCarbs.tsx.html">RecommendedCarbs.tsx</a></td>
182
- <td data-value="100" class="pic high">
183
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
184
- </td>
185
- <td data-value="100" class="pct high">100%</td>
186
- <td data-value="22" class="abs high">22/22</td>
187
- <td data-value="100" class="pct high">100%</td>
188
- <td data-value="10" class="abs high">10/10</td>
189
- <td data-value="100" class="pct high">100%</td>
190
- <td data-value="7" class="abs high">7/7</td>
191
- <td data-value="100" class="pct high">100%</td>
192
- <td data-value="22" class="abs high">22/22</td>
193
- </tr>
194
-
195
- <tr>
196
- <td class="file high" data-value="RecommendedInsulin.tsx"><a href="RecommendedInsulin.tsx.html">RecommendedInsulin.tsx</a></td>
197
- <td data-value="100" class="pic high">
198
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
199
- </td>
200
- <td data-value="100" class="pct high">100%</td>
201
- <td data-value="27" class="abs high">27/27</td>
202
- <td data-value="100" class="pct high">100%</td>
203
- <td data-value="18" class="abs high">18/18</td>
204
- <td data-value="100" class="pct high">100%</td>
205
- <td data-value="6" class="abs high">6/6</td>
206
- <td data-value="100" class="pct high">100%</td>
207
- <td data-value="27" class="abs high">27/27</td>
208
- </tr>
209
-
210
- <tr>
211
- <td class="file high" data-value="Remeasure.tsx"><a href="Remeasure.tsx.html">Remeasure.tsx</a></td>
212
- <td data-value="100" class="pic high">
213
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
214
- </td>
215
- <td data-value="100" class="pct high">100%</td>
216
- <td data-value="15" class="abs high">15/15</td>
217
- <td data-value="100" class="pct high">100%</td>
218
- <td data-value="10" class="abs high">10/10</td>
219
- <td data-value="100" class="pct high">100%</td>
220
- <td data-value="5" class="abs high">5/5</td>
221
- <td data-value="100" class="pct high">100%</td>
222
- <td data-value="15" class="abs high">15/15</td>
223
- </tr>
224
-
225
- <tr>
226
- <td class="file high" data-value="TransferToLogbook.tsx"><a href="TransferToLogbook.tsx.html">TransferToLogbook.tsx</a></td>
227
- <td data-value="100" class="pic high">
228
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
229
- </td>
230
- <td data-value="100" class="pct high">100%</td>
231
- <td data-value="8" class="abs high">8/8</td>
232
- <td data-value="100" class="pct high">100%</td>
233
- <td data-value="4" class="abs high">4/4</td>
234
- <td data-value="100" class="pct high">100%</td>
235
- <td data-value="2" class="abs high">2/2</td>
236
- <td data-value="100" class="pct high">100%</td>
237
- <td data-value="8" class="abs high">8/8</td>
238
- </tr>
239
-
240
- <tr>
241
- <td class="file high" data-value="TwoOptionModal.tsx"><a href="TwoOptionModal.tsx.html">TwoOptionModal.tsx</a></td>
242
- <td data-value="100" class="pic high">
243
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
244
- </td>
245
- <td data-value="100" class="pct high">100%</td>
246
- <td data-value="5" class="abs high">5/5</td>
247
- <td data-value="100" class="pct high">100%</td>
248
- <td data-value="16" class="abs high">16/16</td>
249
- <td data-value="100" class="pct high">100%</td>
250
- <td data-value="1" class="abs high">1/1</td>
251
- <td data-value="100" class="pct high">100%</td>
252
- <td data-value="5" class="abs high">5/5</td>
253
- </tr>
254
-
255
- </tbody>
256
- </table>
257
- </div>
258
- <div class='push'></div><!-- for sticky footer -->
259
- </div><!-- /wrapper -->
260
- <div class='footer quiet pad2 space-top1 center small'>
261
- Code coverage generated by
262
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
263
- at Fri Nov 26 2021 09:42:41 GMT+0000 (Coordinated Universal Time)
264
- </div>
265
- </div>
266
- <script src="../../prettify.js"></script>
267
- <script>
268
- window.onload = function () {
269
- prettyPrint();
270
- };
271
- </script>
272
- <script src="../../sorter.js"></script>
273
- <script src="../../block-navigation.js"></script>
274
- </body>
275
- </html>
276
-
@@ -1,353 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/components/mood/Emotion.tsx</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/components/mood</a> Emotion.tsx</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>12/12</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>2/2</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>6/6</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>11/11</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- </div>
58
- <div class='status-line high'></div>
59
- <pre><table class="coverage">
60
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
- <a name='L2'></a><a href='#L2'>2</a>
62
- <a name='L3'></a><a href='#L3'>3</a>
63
- <a name='L4'></a><a href='#L4'>4</a>
64
- <a name='L5'></a><a href='#L5'>5</a>
65
- <a name='L6'></a><a href='#L6'>6</a>
66
- <a name='L7'></a><a href='#L7'>7</a>
67
- <a name='L8'></a><a href='#L8'>8</a>
68
- <a name='L9'></a><a href='#L9'>9</a>
69
- <a name='L10'></a><a href='#L10'>10</a>
70
- <a name='L11'></a><a href='#L11'>11</a>
71
- <a name='L12'></a><a href='#L12'>12</a>
72
- <a name='L13'></a><a href='#L13'>13</a>
73
- <a name='L14'></a><a href='#L14'>14</a>
74
- <a name='L15'></a><a href='#L15'>15</a>
75
- <a name='L16'></a><a href='#L16'>16</a>
76
- <a name='L17'></a><a href='#L17'>17</a>
77
- <a name='L18'></a><a href='#L18'>18</a>
78
- <a name='L19'></a><a href='#L19'>19</a>
79
- <a name='L20'></a><a href='#L20'>20</a>
80
- <a name='L21'></a><a href='#L21'>21</a>
81
- <a name='L22'></a><a href='#L22'>22</a>
82
- <a name='L23'></a><a href='#L23'>23</a>
83
- <a name='L24'></a><a href='#L24'>24</a>
84
- <a name='L25'></a><a href='#L25'>25</a>
85
- <a name='L26'></a><a href='#L26'>26</a>
86
- <a name='L27'></a><a href='#L27'>27</a>
87
- <a name='L28'></a><a href='#L28'>28</a>
88
- <a name='L29'></a><a href='#L29'>29</a>
89
- <a name='L30'></a><a href='#L30'>30</a>
90
- <a name='L31'></a><a href='#L31'>31</a>
91
- <a name='L32'></a><a href='#L32'>32</a>
92
- <a name='L33'></a><a href='#L33'>33</a>
93
- <a name='L34'></a><a href='#L34'>34</a>
94
- <a name='L35'></a><a href='#L35'>35</a>
95
- <a name='L36'></a><a href='#L36'>36</a>
96
- <a name='L37'></a><a href='#L37'>37</a>
97
- <a name='L38'></a><a href='#L38'>38</a>
98
- <a name='L39'></a><a href='#L39'>39</a>
99
- <a name='L40'></a><a href='#L40'>40</a>
100
- <a name='L41'></a><a href='#L41'>41</a>
101
- <a name='L42'></a><a href='#L42'>42</a>
102
- <a name='L43'></a><a href='#L43'>43</a>
103
- <a name='L44'></a><a href='#L44'>44</a>
104
- <a name='L45'></a><a href='#L45'>45</a>
105
- <a name='L46'></a><a href='#L46'>46</a>
106
- <a name='L47'></a><a href='#L47'>47</a>
107
- <a name='L48'></a><a href='#L48'>48</a>
108
- <a name='L49'></a><a href='#L49'>49</a>
109
- <a name='L50'></a><a href='#L50'>50</a>
110
- <a name='L51'></a><a href='#L51'>51</a>
111
- <a name='L52'></a><a href='#L52'>52</a>
112
- <a name='L53'></a><a href='#L53'>53</a>
113
- <a name='L54'></a><a href='#L54'>54</a>
114
- <a name='L55'></a><a href='#L55'>55</a>
115
- <a name='L56'></a><a href='#L56'>56</a>
116
- <a name='L57'></a><a href='#L57'>57</a>
117
- <a name='L58'></a><a href='#L58'>58</a>
118
- <a name='L59'></a><a href='#L59'>59</a>
119
- <a name='L60'></a><a href='#L60'>60</a>
120
- <a name='L61'></a><a href='#L61'>61</a>
121
- <a name='L62'></a><a href='#L62'>62</a>
122
- <a name='L63'></a><a href='#L63'>63</a>
123
- <a name='L64'></a><a href='#L64'>64</a>
124
- <a name='L65'></a><a href='#L65'>65</a>
125
- <a name='L66'></a><a href='#L66'>66</a>
126
- <a name='L67'></a><a href='#L67'>67</a>
127
- <a name='L68'></a><a href='#L68'>68</a>
128
- <a name='L69'></a><a href='#L69'>69</a>
129
- <a name='L70'></a><a href='#L70'>70</a>
130
- <a name='L71'></a><a href='#L71'>71</a>
131
- <a name='L72'></a><a href='#L72'>72</a>
132
- <a name='L73'></a><a href='#L73'>73</a>
133
- <a name='L74'></a><a href='#L74'>74</a>
134
- <a name='L75'></a><a href='#L75'>75</a>
135
- <a name='L76'></a><a href='#L76'>76</a>
136
- <a name='L77'></a><a href='#L77'>77</a>
137
- <a name='L78'></a><a href='#L78'>78</a>
138
- <a name='L79'></a><a href='#L79'>79</a>
139
- <a name='L80'></a><a href='#L80'>80</a>
140
- <a name='L81'></a><a href='#L81'>81</a>
141
- <a name='L82'></a><a href='#L82'>82</a>
142
- <a name='L83'></a><a href='#L83'>83</a>
143
- <a name='L84'></a><a href='#L84'>84</a>
144
- <a name='L85'></a><a href='#L85'>85</a>
145
- <a name='L86'></a><a href='#L86'>86</a>
146
- <a name='L87'></a><a href='#L87'>87</a>
147
- <a name='L88'></a><a href='#L88'>88</a>
148
- <a name='L89'></a><a href='#L89'>89</a>
149
- <a name='L90'></a><a href='#L90'>90</a>
150
- <a name='L91'></a><a href='#L91'>91</a>
151
- <a name='L92'></a><a href='#L92'>92</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-neutral">&nbsp;</span>
153
- <span class="cline-any cline-neutral">&nbsp;</span>
154
- <span class="cline-any cline-neutral">&nbsp;</span>
155
- <span class="cline-any cline-neutral">&nbsp;</span>
156
- <span class="cline-any cline-neutral">&nbsp;</span>
157
- <span class="cline-any cline-neutral">&nbsp;</span>
158
- <span class="cline-any cline-yes">2x</span>
159
- <span class="cline-any cline-neutral">&nbsp;</span>
160
- <span class="cline-any cline-neutral">&nbsp;</span>
161
- <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-neutral">&nbsp;</span>
163
- <span class="cline-any cline-neutral">&nbsp;</span>
164
- <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-neutral">&nbsp;</span>
166
- <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-neutral">&nbsp;</span>
168
- <span class="cline-any cline-neutral">&nbsp;</span>
169
- <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-neutral">&nbsp;</span>
172
- <span class="cline-any cline-neutral">&nbsp;</span>
173
- <span class="cline-any cline-neutral">&nbsp;</span>
174
- <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-neutral">&nbsp;</span>
176
- <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-yes">69x</span>
181
- <span class="cline-any cline-yes">8x</span>
182
- <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-neutral">&nbsp;</span>
186
- <span class="cline-any cline-neutral">&nbsp;</span>
187
- <span class="cline-any cline-neutral">&nbsp;</span>
188
- <span class="cline-any cline-neutral">&nbsp;</span>
189
- <span class="cline-any cline-neutral">&nbsp;</span>
190
- <span class="cline-any cline-neutral">&nbsp;</span>
191
- <span class="cline-any cline-neutral">&nbsp;</span>
192
- <span class="cline-any cline-yes">69x</span>
193
- <span class="cline-any cline-yes">1440x</span>
194
- <span class="cline-any cline-neutral">&nbsp;</span>
195
- <span class="cline-any cline-neutral">&nbsp;</span>
196
- <span class="cline-any cline-neutral">&nbsp;</span>
197
- <span class="cline-any cline-yes">144x</span>
198
- <span class="cline-any cline-neutral">&nbsp;</span>
199
- <span class="cline-any cline-yes">720x</span>
200
- <span class="cline-any cline-yes">720x</span>
201
- <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-yes">8x</span>
203
- <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-neutral">&nbsp;</span>
206
- <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-neutral">&nbsp;</span>
208
- <span class="cline-any cline-neutral">&nbsp;</span>
209
- <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-neutral">&nbsp;</span>
211
- <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-neutral">&nbsp;</span>
213
- <span class="cline-any cline-neutral">&nbsp;</span>
214
- <span class="cline-any cline-neutral">&nbsp;</span>
215
- <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-yes">144x</span>
217
- <span class="cline-any cline-neutral">&nbsp;</span>
218
- <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-neutral">&nbsp;</span>
221
- <span class="cline-any cline-neutral">&nbsp;</span>
222
- <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-neutral">&nbsp;</span>
225
- <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-neutral">&nbsp;</span>
227
- <span class="cline-any cline-yes">2x</span>
228
- <span class="cline-any cline-neutral">&nbsp;</span>
229
- <span class="cline-any cline-neutral">&nbsp;</span>
230
- <span class="cline-any cline-neutral">&nbsp;</span>
231
- <span class="cline-any cline-neutral">&nbsp;</span>
232
- <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-neutral">&nbsp;</span>
234
- <span class="cline-any cline-neutral">&nbsp;</span>
235
- <span class="cline-any cline-neutral">&nbsp;</span>
236
- <span class="cline-any cline-neutral">&nbsp;</span>
237
- <span class="cline-any cline-neutral">&nbsp;</span>
238
- <span class="cline-any cline-neutral">&nbsp;</span>
239
- <span class="cline-any cline-neutral">&nbsp;</span>
240
- <span class="cline-any cline-neutral">&nbsp;</span>
241
- <span class="cline-any cline-neutral">&nbsp;</span>
242
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Logbook } from "@hedia/types";
243
- import { t } from "@lingui/macro";
244
- import React from "react";
245
- import { Dimensions, StyleSheet, Text, View } from "react-native";
246
- import { i18n } from "../../locale/i18nUtils";
247
- import MoodIcon from "./MoodIcon";
248
- &nbsp;
249
- const MoodEnum = Logbook.Enums.MoodEnum;
250
- &nbsp;
251
- export interface IProps {
252
- /** Indicates which mood if any that is currently selected. */
253
- currentMood: Logbook.Enums.MoodEnum | null;
254
- /**
255
- * Callback function to call when the selected icon changes. Takes a single optional argument, mood, which is a {@link Logbook.Enums.MoodEnum} | null.
256
- * Doesn’t have a return value.
257
- * */
258
- moodSelected(mood: Logbook.Enums.MoodEnum | null): void;
259
- }
260
- &nbsp;
261
- /** The Emotion component displays a horizontally arranged set of icons representing various moods and allows the user to select one. */
262
- export default class Emotion extends React.Component&lt;IProps&gt; {
263
- /**
264
- * Handle what should happen when the user picks taps on one of the mood icons.
265
- *
266
- * Steps:
267
- * 1. Call the moodSelected prop callback function with selected as argument if toggle is true and null as argument otherwise.
268
- * @param selected Integer number that represents the icon that was tapped.
269
- * @param toggle Boolean indicating whether the icon should be deselected.
270
- */
271
- public handleIconPress = (selected: Logbook.Enums.MoodEnum, toggle: boolean): void =&gt; {
272
- this.props.moodSelected(toggle ? selected : null);
273
- };
274
- &nbsp;
275
- /**
276
- * Compose a sequence of MoodIcons
277
- *
278
- * Steps:
279
- * 1. Make a sequence of MoodEnum values from the properties of the MoodEnum object and save the sequence as a variable named values.
280
- * 2. Map each of the elements of the values sequence to a MoodIcon.
281
- * @returns JSX Element consisting of an array of MoodIcon components.
282
- */
283
- public mappedMoods = (): Array&lt;JSX.Element&gt; =&gt; {
284
- const values = Object.values(MoodEnum).filter((val): boolean =&gt; isNaN(Number(val))) as Array&lt;
285
- keyof typeof MoodEnum
286
- &gt;;
287
- &nbsp;
288
- return values.map(
289
- (key): JSX.Element =&gt; {
290
- const moodValue = MoodEnum[key];
291
- return (
292
- &lt;MoodIcon
293
- onPress={(toggle): void =&gt; this.handleIconPress(moodValue, toggle)}
294
- active={moodValue === this.props.currentMood}
295
- mood={moodValue}
296
- key={moodValue}
297
- /&gt;
298
- );
299
- },
300
- );
301
- };
302
- &nbsp;
303
- /**
304
- * @returns JSX element to display the mood icons from mappedMoods() in a horizontal arrangement.
305
- */
306
- public render(): JSX.Element {
307
- return (
308
- &lt;View style={emotionStyles.container}&gt;
309
- &lt;View style={emotionStyles.feelingContainer}&gt;
310
- &lt;Text style={emotionStyles.feelingText}&gt;{i18n._(t`How are you feeling?`)}&lt;/Text&gt;
311
- &lt;/View&gt;
312
- &lt;View style={emotionStyles.moodIconContainer}&gt;{this.mappedMoods()}&lt;/View&gt;
313
- &lt;/View&gt;
314
- );
315
- }
316
- }
317
- &nbsp;
318
- const emotionStyles = StyleSheet.create({
319
- container: {
320
- flex: 1,
321
- },
322
- feelingContainer: {
323
- marginVertical: `3%`,
324
- },
325
- feelingText: {
326
- textAlign: `center`,
327
- color: `white`,
328
- fontWeight: `bold`,
329
- fontSize: Dimensions.get(`screen`).width / 26,
330
- },
331
- moodIconContainer: { flex: 1, flexDirection: `row`, justifyContent: `center` },
332
- });
333
- &nbsp;</pre></td></tr></table></pre>
334
-
335
- <div class='push'></div><!-- for sticky footer -->
336
- </div><!-- /wrapper -->
337
- <div class='footer quiet pad2 space-top1 center small'>
338
- Code coverage generated by
339
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
340
- at Fri Nov 26 2021 09:42:41 GMT+0000 (Coordinated Universal Time)
341
- </div>
342
- </div>
343
- <script src="../../../prettify.js"></script>
344
- <script>
345
- window.onload = function () {
346
- prettyPrint();
347
- };
348
- </script>
349
- <script src="../../../sorter.js"></script>
350
- <script src="../../../block-navigation.js"></script>
351
- </body>
352
- </html>
353
-