@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,551 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/components/Remeasure.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</a> Remeasure.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'>15/15</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'>10/10</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'>5/5</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'>15/15</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>
152
- <a name='L93'></a><a href='#L93'>93</a>
153
- <a name='L94'></a><a href='#L94'>94</a>
154
- <a name='L95'></a><a href='#L95'>95</a>
155
- <a name='L96'></a><a href='#L96'>96</a>
156
- <a name='L97'></a><a href='#L97'>97</a>
157
- <a name='L98'></a><a href='#L98'>98</a>
158
- <a name='L99'></a><a href='#L99'>99</a>
159
- <a name='L100'></a><a href='#L100'>100</a>
160
- <a name='L101'></a><a href='#L101'>101</a>
161
- <a name='L102'></a><a href='#L102'>102</a>
162
- <a name='L103'></a><a href='#L103'>103</a>
163
- <a name='L104'></a><a href='#L104'>104</a>
164
- <a name='L105'></a><a href='#L105'>105</a>
165
- <a name='L106'></a><a href='#L106'>106</a>
166
- <a name='L107'></a><a href='#L107'>107</a>
167
- <a name='L108'></a><a href='#L108'>108</a>
168
- <a name='L109'></a><a href='#L109'>109</a>
169
- <a name='L110'></a><a href='#L110'>110</a>
170
- <a name='L111'></a><a href='#L111'>111</a>
171
- <a name='L112'></a><a href='#L112'>112</a>
172
- <a name='L113'></a><a href='#L113'>113</a>
173
- <a name='L114'></a><a href='#L114'>114</a>
174
- <a name='L115'></a><a href='#L115'>115</a>
175
- <a name='L116'></a><a href='#L116'>116</a>
176
- <a name='L117'></a><a href='#L117'>117</a>
177
- <a name='L118'></a><a href='#L118'>118</a>
178
- <a name='L119'></a><a href='#L119'>119</a>
179
- <a name='L120'></a><a href='#L120'>120</a>
180
- <a name='L121'></a><a href='#L121'>121</a>
181
- <a name='L122'></a><a href='#L122'>122</a>
182
- <a name='L123'></a><a href='#L123'>123</a>
183
- <a name='L124'></a><a href='#L124'>124</a>
184
- <a name='L125'></a><a href='#L125'>125</a>
185
- <a name='L126'></a><a href='#L126'>126</a>
186
- <a name='L127'></a><a href='#L127'>127</a>
187
- <a name='L128'></a><a href='#L128'>128</a>
188
- <a name='L129'></a><a href='#L129'>129</a>
189
- <a name='L130'></a><a href='#L130'>130</a>
190
- <a name='L131'></a><a href='#L131'>131</a>
191
- <a name='L132'></a><a href='#L132'>132</a>
192
- <a name='L133'></a><a href='#L133'>133</a>
193
- <a name='L134'></a><a href='#L134'>134</a>
194
- <a name='L135'></a><a href='#L135'>135</a>
195
- <a name='L136'></a><a href='#L136'>136</a>
196
- <a name='L137'></a><a href='#L137'>137</a>
197
- <a name='L138'></a><a href='#L138'>138</a>
198
- <a name='L139'></a><a href='#L139'>139</a>
199
- <a name='L140'></a><a href='#L140'>140</a>
200
- <a name='L141'></a><a href='#L141'>141</a>
201
- <a name='L142'></a><a href='#L142'>142</a>
202
- <a name='L143'></a><a href='#L143'>143</a>
203
- <a name='L144'></a><a href='#L144'>144</a>
204
- <a name='L145'></a><a href='#L145'>145</a>
205
- <a name='L146'></a><a href='#L146'>146</a>
206
- <a name='L147'></a><a href='#L147'>147</a>
207
- <a name='L148'></a><a href='#L148'>148</a>
208
- <a name='L149'></a><a href='#L149'>149</a>
209
- <a name='L150'></a><a href='#L150'>150</a>
210
- <a name='L151'></a><a href='#L151'>151</a>
211
- <a name='L152'></a><a href='#L152'>152</a>
212
- <a name='L153'></a><a href='#L153'>153</a>
213
- <a name='L154'></a><a href='#L154'>154</a>
214
- <a name='L155'></a><a href='#L155'>155</a>
215
- <a name='L156'></a><a href='#L156'>156</a>
216
- <a name='L157'></a><a href='#L157'>157</a>
217
- <a name='L158'></a><a href='#L158'>158</a></td><td class="line-coverage quiet"><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-neutral">&nbsp;</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>
243
- <span class="cline-any cline-neutral">&nbsp;</span>
244
- <span class="cline-any cline-neutral">&nbsp;</span>
245
- <span class="cline-any cline-neutral">&nbsp;</span>
246
- <span class="cline-any cline-neutral">&nbsp;</span>
247
- <span class="cline-any cline-neutral">&nbsp;</span>
248
- <span class="cline-any cline-neutral">&nbsp;</span>
249
- <span class="cline-any cline-neutral">&nbsp;</span>
250
- <span class="cline-any cline-neutral">&nbsp;</span>
251
- <span class="cline-any cline-neutral">&nbsp;</span>
252
- <span class="cline-any cline-neutral">&nbsp;</span>
253
- <span class="cline-any cline-neutral">&nbsp;</span>
254
- <span class="cline-any cline-neutral">&nbsp;</span>
255
- <span class="cline-any cline-neutral">&nbsp;</span>
256
- <span class="cline-any cline-yes">78x</span>
257
- <span class="cline-any cline-neutral">&nbsp;</span>
258
- <span class="cline-any cline-neutral">&nbsp;</span>
259
- <span class="cline-any cline-neutral">&nbsp;</span>
260
- <span class="cline-any cline-neutral">&nbsp;</span>
261
- <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-neutral">&nbsp;</span>
263
- <span class="cline-any cline-neutral">&nbsp;</span>
264
- <span class="cline-any cline-neutral">&nbsp;</span>
265
- <span class="cline-any cline-neutral">&nbsp;</span>
266
- <span class="cline-any cline-neutral">&nbsp;</span>
267
- <span class="cline-any cline-yes">78x</span>
268
- <span class="cline-any cline-yes">17x</span>
269
- <span class="cline-any cline-yes">17x</span>
270
- <span class="cline-any cline-neutral">&nbsp;</span>
271
- <span class="cline-any cline-neutral">&nbsp;</span>
272
- <span class="cline-any cline-neutral">&nbsp;</span>
273
- <span class="cline-any cline-neutral">&nbsp;</span>
274
- <span class="cline-any cline-neutral">&nbsp;</span>
275
- <span class="cline-any cline-neutral">&nbsp;</span>
276
- <span class="cline-any cline-neutral">&nbsp;</span>
277
- <span class="cline-any cline-neutral">&nbsp;</span>
278
- <span class="cline-any cline-yes">78x</span>
279
- <span class="cline-any cline-yes">178x</span>
280
- <span class="cline-any cline-neutral">&nbsp;</span>
281
- <span class="cline-any cline-neutral">&nbsp;</span>
282
- <span class="cline-any cline-neutral">&nbsp;</span>
283
- <span class="cline-any cline-neutral">&nbsp;</span>
284
- <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-neutral">&nbsp;</span>
286
- <span class="cline-any cline-neutral">&nbsp;</span>
287
- <span class="cline-any cline-yes">161x</span>
288
- <span class="cline-any cline-yes">161x</span>
289
- <span class="cline-any cline-yes">161x</span>
290
- <span class="cline-any cline-yes">161x</span>
291
- <span class="cline-any cline-yes">161x</span>
292
- <span class="cline-any cline-neutral">&nbsp;</span>
293
- <span class="cline-any cline-neutral">&nbsp;</span>
294
- <span class="cline-any cline-neutral">&nbsp;</span>
295
- <span class="cline-any cline-neutral">&nbsp;</span>
296
- <span class="cline-any cline-neutral">&nbsp;</span>
297
- <span class="cline-any cline-neutral">&nbsp;</span>
298
- <span class="cline-any cline-neutral">&nbsp;</span>
299
- <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-neutral">&nbsp;</span>
301
- <span class="cline-any cline-neutral">&nbsp;</span>
302
- <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-neutral">&nbsp;</span>
304
- <span class="cline-any cline-neutral">&nbsp;</span>
305
- <span class="cline-any cline-neutral">&nbsp;</span>
306
- <span class="cline-any cline-neutral">&nbsp;</span>
307
- <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-neutral">&nbsp;</span>
309
- <span class="cline-any cline-neutral">&nbsp;</span>
310
- <span class="cline-any cline-yes">322x</span>
311
- <span class="cline-any cline-yes">161x</span>
312
- <span class="cline-any cline-neutral">&nbsp;</span>
313
- <span class="cline-any cline-neutral">&nbsp;</span>
314
- <span class="cline-any cline-neutral">&nbsp;</span>
315
- <span class="cline-any cline-neutral">&nbsp;</span>
316
- <span class="cline-any cline-neutral">&nbsp;</span>
317
- <span class="cline-any cline-neutral">&nbsp;</span>
318
- <span class="cline-any cline-neutral">&nbsp;</span>
319
- <span class="cline-any cline-neutral">&nbsp;</span>
320
- <span class="cline-any cline-neutral">&nbsp;</span>
321
- <span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-neutral">&nbsp;</span>
325
- <span class="cline-any cline-neutral">&nbsp;</span>
326
- <span class="cline-any cline-neutral">&nbsp;</span>
327
- <span class="cline-any cline-neutral">&nbsp;</span>
328
- <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-neutral">&nbsp;</span>
330
- <span class="cline-any cline-yes">2x</span>
331
- <span class="cline-any cline-neutral">&nbsp;</span>
332
- <span class="cline-any cline-neutral">&nbsp;</span>
333
- <span class="cline-any cline-neutral">&nbsp;</span>
334
- <span class="cline-any cline-neutral">&nbsp;</span>
335
- <span class="cline-any cline-neutral">&nbsp;</span>
336
- <span class="cline-any cline-neutral">&nbsp;</span>
337
- <span class="cline-any cline-neutral">&nbsp;</span>
338
- <span class="cline-any cline-neutral">&nbsp;</span>
339
- <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-neutral">&nbsp;</span>
341
- <span class="cline-any cline-neutral">&nbsp;</span>
342
- <span class="cline-any cline-neutral">&nbsp;</span>
343
- <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-neutral">&nbsp;</span>
345
- <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-neutral">&nbsp;</span>
347
- <span class="cline-any cline-neutral">&nbsp;</span>
348
- <span class="cline-any cline-neutral">&nbsp;</span>
349
- <span class="cline-any cline-neutral">&nbsp;</span>
350
- <span class="cline-any cline-neutral">&nbsp;</span>
351
- <span class="cline-any cline-neutral">&nbsp;</span>
352
- <span class="cline-any cline-neutral">&nbsp;</span>
353
- <span class="cline-any cline-neutral">&nbsp;</span>
354
- <span class="cline-any cline-neutral">&nbsp;</span>
355
- <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-neutral">&nbsp;</span>
357
- <span class="cline-any cline-neutral">&nbsp;</span>
358
- <span class="cline-any cline-neutral">&nbsp;</span>
359
- <span class="cline-any cline-neutral">&nbsp;</span>
360
- <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-neutral">&nbsp;</span>
362
- <span class="cline-any cline-neutral">&nbsp;</span>
363
- <span class="cline-any cline-neutral">&nbsp;</span>
364
- <span class="cline-any cline-neutral">&nbsp;</span>
365
- <span class="cline-any cline-neutral">&nbsp;</span>
366
- <span class="cline-any cline-neutral">&nbsp;</span>
367
- <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-yes">2x</span>
369
- <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-neutral">&nbsp;</span>
371
- <span class="cline-any cline-neutral">&nbsp;</span>
372
- <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { t } from "@lingui/macro";
375
- import Slider from "@react-native-community/slider";
376
- import React from "react";
377
- import { Dimensions, Platform, StyleSheet, Text, View } from "react-native";
378
- import { i18n } from "../locale/i18nUtils";
379
- import { Testing } from "../types/enum";
380
- import { BORDER_COLOUR_GREY, BORDER_COLOUR_TEAL } from "../utils/Constants";
381
- import { infoStyles } from "./InfoBars";
382
- &nbsp;
383
- export interface IProps {
384
- /** The initial time (in hours) after which the user should be reminded to measure their BGL. */
385
- remeasureTime: number;
386
- /**
387
- * Callback function taking a single number (the new remeasurement time) as argument
388
- * Function to be called every time the slider component is changed to a new value.
389
- */
390
- onSliderChange(value: number): void;
391
- }
392
- &nbsp;
393
- /**
394
- * The Remeasure component has a slider child component that the user can drag to change
395
- * when they will get a reminder notification about measuring their BGL again.
396
- */
397
- export default class Remeasure extends React.Component&lt;IProps&gt; {
398
- /** For holding a reference to the slider component so its initial value can be set (only one time) when the Remeasure component has been mounted. */
399
- private slider?: Slider;
400
- &nbsp;
401
- /**
402
- * Called immediately after a component is mounted. Setting state here will trigger re-rendering.
403
- *
404
- * If the value of a slider component in React Native is set to track an outside state,
405
- * the slider indicator may jump back and forth while updates to the value are propagated through the affected objects and components.
406
- * Since we don’t need to change the value of the slider from the outside after initialising it to the default value,
407
- * we simply set the default value (using setNativeProp) upon initialisation instead of using the slider’s normal value prop to set it.
408
- *
409
- * Steps:
410
- * 1. Call the setNativeProps() method on the slider to set its value to the remeasureTime prop.
411
- */
412
- public componentDidMount(): void {
413
- this.slider?.setNativeProps({
414
- value: this.props.remeasureTime,
415
- });
416
- }
417
- &nbsp;
418
- /**
419
- * Steps:
420
- * 1. Use limitTime() to limit/clamp the value of remeasureTime in the range 0 to 6.
421
- * 2. Call the onSliderChange prop callback function with the limited value as argument.
422
- * @param remeasureTime The value of the remeasurement slider.
423
- */
424
- public handleSliderChange = (remeasureTime: number): void =&gt; {
425
- const limited = this.limitTime(remeasureTime);
426
- this.props.onSliderChange(limited);
427
- };
428
- &nbsp;
429
- /**
430
- * Steps:
431
- * 1.Use Math.min() and Math.max() to clamp remeasureTime in the range 0 to 6 and return the result.
432
- * @param remeasureTime The value of the remeasurement slider.
433
- * @returns The limited remeasurement time in hours
434
- */
435
- public limitTime = (remeasureTime: number): number =&gt; {
436
- return Math.min(Math.max(0, remeasureTime), 6);
437
- };
438
- &nbsp;
439
- /**
440
- * Compose a JSX element for displaying the currently selected remeasurement time along
441
- * with a horizontal slider for changing it in increments of 0.5 hours in the range 0 to 6.
442
- */
443
- public render(): JSX.Element {
444
- const measure = this.props.remeasureTime &gt; 0;
445
- const limited = this.limitTime(this.props.remeasureTime);
446
- const marginHorizontal = Platform.OS === `ios` ? `3%` : `0%`;
447
- const valueContainer = measure ? remeasureStyles.valueContainer : variantStyles.centeredValueContainer;
448
- return (
449
- &lt;View style={remeasureStyles.container}&gt;
450
- &lt;View style={remeasureStyles.borderContainer}&gt;
451
- &lt;View style={remeasureStyles.remeasureContainer}&gt;
452
- &lt;Text style={remeasureStyles.remeasureLabel}&gt;{i18n._(t`Remind me to remeasure in`)}&lt;/Text&gt;
453
- &lt;/View&gt;
454
- &lt;View style={remeasureStyles.valueUnitContainer}&gt;
455
- &lt;View style={valueContainer}&gt;
456
- &lt;Text style={remeasureStyles.value}&gt;{measure ? limited : i18n._(t`OFF`)}&lt;/Text&gt;
457
- &lt;/View&gt;
458
- {measure ? (
459
- &lt;View style={remeasureStyles.unitContainer}&gt;
460
- &lt;Text style={remeasureStyles.units}&gt;{i18n._(t`hours`)}&lt;/Text&gt;
461
- &lt;/View&gt;
462
- ) : null}
463
- &lt;/View&gt;
464
- &lt;/View&gt;
465
- &lt;Slider
466
- ref={(slider): void =&gt; {
467
- if (slider !== null) {
468
- this.slider = slider;
469
- }
470
- }}
471
- testID={Testing.Id.RemeasureTestIds.RemeasureSlider}
472
- accessibilityLabel="remeasureSlider"
473
- maximumTrackTintColor={BORDER_COLOUR_GREY}
474
- minimumTrackTintColor={BORDER_COLOUR_TEAL}
475
- thumbTintColor={BORDER_COLOUR_TEAL}
476
- maximumValue={6}
477
- minimumValue={0}
478
- step={0.5}
479
- style={[remeasureStyles.sliderStyle, { marginHorizontal }]}
480
- onValueChange={this.handleSliderChange}
481
- /&gt;
482
- &lt;/View&gt;
483
- );
484
- }
485
- }
486
- &nbsp;
487
- const remeasureStyles = StyleSheet.create({
488
- container: {
489
- flexDirection: `column`,
490
- padding: `3%`,
491
- },
492
- borderContainer: {
493
- ...infoStyles.borderContainer,
494
- alignItems: `center`,
495
- },
496
- remeasureContainer: {
497
- flex: 7,
498
- },
499
- remeasureLabel: {
500
- color: `white`,
501
- fontSize: Dimensions.get(`screen`).width / 25,
502
- fontWeight: `bold`,
503
- },
504
- valueUnitContainer: {
505
- ...infoStyles.valueUnitContainer,
506
- },
507
- valueContainer: {
508
- ...infoStyles.valueContainer,
509
- },
510
- value: {
511
- ...infoStyles.value,
512
- },
513
- unitContainer: {
514
- ...infoStyles.unitContainer,
515
- },
516
- units: {
517
- ...infoStyles.units,
518
- },
519
- sliderStyle: {
520
- marginTop: `3%`,
521
- marginBottom: `2%`,
522
- },
523
- });
524
- &nbsp;
525
- const variantStyles = StyleSheet.create({
526
- centeredValueContainer: {
527
- ...remeasureStyles.valueContainer,
528
- alignItems: `center`,
529
- },
530
- });
531
- &nbsp;</pre></td></tr></table></pre>
532
-
533
- <div class='push'></div><!-- for sticky footer -->
534
- </div><!-- /wrapper -->
535
- <div class='footer quiet pad2 space-top1 center small'>
536
- Code coverage generated by
537
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
538
- at Fri Nov 26 2021 09:42:41 GMT+0000 (Coordinated Universal Time)
539
- </div>
540
- </div>
541
- <script src="../../prettify.js"></script>
542
- <script>
543
- window.onload = function () {
544
- prettyPrint();
545
- };
546
- </script>
547
- <script src="../../sorter.js"></script>
548
- <script src="../../block-navigation.js"></script>
549
- </body>
550
- </html>
551
-