@hedia/recommendation-screen 2.2.0-alpha.37 → 2.2.0-alpha.38

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 (118) hide show
  1. package/dist/index.js +1 -0
  2. package/dist/index.js.map +1 -0
  3. package/dist/src/RecommendationScreen.d.ts +3 -7
  4. package/dist/src/RecommendationScreen.js +50 -53
  5. package/dist/src/RecommendationScreen.js.map +1 -0
  6. package/dist/src/components/Header.d.ts +5 -3
  7. package/dist/src/components/Header.js +61 -40
  8. package/dist/src/components/Header.js.map +1 -0
  9. package/dist/src/components/Icon.js +1 -2
  10. package/dist/src/components/Icon.js.map +1 -0
  11. package/dist/src/components/InfoBars.d.ts +3 -4
  12. package/dist/src/components/InfoBars.js +12 -14
  13. package/dist/src/components/InfoBars.js.map +1 -0
  14. package/dist/src/components/InvisibleNumberInput.js +3 -2
  15. package/dist/src/components/InvisibleNumberInput.js.map +1 -0
  16. package/dist/src/components/LimitationMessage.js +4 -4
  17. package/dist/src/components/LimitationMessage.js.map +1 -0
  18. package/dist/src/components/LineSeparator.js +1 -0
  19. package/dist/src/components/LineSeparator.js.map +1 -0
  20. package/dist/src/components/RecentInsulin.d.ts +1 -1
  21. package/dist/src/components/RecentInsulin.js +56 -36
  22. package/dist/src/components/RecentInsulin.js.map +1 -0
  23. package/dist/src/components/RecommendationModal.d.ts +2 -1
  24. package/dist/src/components/RecommendationModal.js +20 -25
  25. package/dist/src/components/RecommendationModal.js.map +1 -0
  26. package/dist/src/components/RecommendedCarbs.d.ts +2 -0
  27. package/dist/src/components/RecommendedCarbs.js +38 -38
  28. package/dist/src/components/RecommendedCarbs.js.map +1 -0
  29. package/dist/src/components/RecommendedInsulin.d.ts +1 -3
  30. package/dist/src/components/RecommendedInsulin.js +47 -60
  31. package/dist/src/components/RecommendedInsulin.js.map +1 -0
  32. package/dist/src/components/Remeasure.d.ts +5 -15
  33. package/dist/src/components/Remeasure.js +12 -30
  34. package/dist/src/components/Remeasure.js.map +1 -0
  35. package/dist/src/components/{SaveButton.d.ts → TransferToLogbook.d.ts} +1 -1
  36. package/dist/src/components/TransferToLogbook.js +92 -0
  37. package/dist/src/components/TransferToLogbook.js.map +1 -0
  38. package/dist/src/components/TwoOptionModal.d.ts +0 -1
  39. package/dist/src/components/TwoOptionModal.js +10 -10
  40. package/dist/src/components/TwoOptionModal.js.map +1 -0
  41. package/dist/src/components/activity/Activity.d.ts +1 -1
  42. package/dist/src/components/activity/Activity.js +5 -5
  43. package/dist/src/components/activity/Activity.js.map +1 -0
  44. package/dist/src/components/activity/ActivityIcon.d.ts +1 -1
  45. package/dist/src/components/activity/ActivityIcon.js +4 -4
  46. package/dist/src/components/activity/ActivityIcon.js.map +1 -0
  47. package/dist/src/components/activity/ActivityIntensity.d.ts +1 -1
  48. package/dist/src/components/activity/ActivityIntensity.js +2 -1
  49. package/dist/src/components/activity/ActivityIntensity.js.map +1 -0
  50. package/dist/src/components/mood/Emotion.d.ts +1 -1
  51. package/dist/src/components/mood/Emotion.js +5 -7
  52. package/dist/src/components/mood/Emotion.js.map +1 -0
  53. package/dist/src/components/mood/MoodIcon.d.ts +1 -1
  54. package/dist/src/components/mood/MoodIcon.js +5 -4
  55. package/dist/src/components/mood/MoodIcon.js.map +1 -0
  56. package/dist/src/components/text/TextBold.js +1 -0
  57. package/dist/src/components/text/TextBold.js.map +1 -0
  58. package/dist/src/components/text/TextRegular.js +1 -0
  59. package/dist/src/components/text/TextRegular.js.map +1 -0
  60. package/dist/src/locales/da/messages.json +80 -0
  61. package/dist/src/locales/de/messages.json +80 -0
  62. package/dist/src/locales/en/messages.json +83 -0
  63. package/dist/src/locales/es/messages.json +80 -0
  64. package/dist/src/locales/fr/messages.json +80 -0
  65. package/dist/src/locales/it/messages.json +80 -0
  66. package/dist/src/locales/translate.d.ts +4 -0
  67. package/dist/src/locales/translate.js +37 -0
  68. package/dist/src/locales/translate.js.map +1 -0
  69. package/dist/src/types/enum.d.ts +4 -9
  70. package/dist/src/types/enum.js +2 -5
  71. package/dist/src/types/enum.js.map +1 -0
  72. package/dist/src/types/types.js +1 -0
  73. package/dist/src/types/types.js.map +1 -0
  74. package/dist/src/utils/AttentionMessages.js +29 -24
  75. package/dist/src/utils/AttentionMessages.js.map +1 -0
  76. package/dist/src/utils/Constants.d.ts +8 -21
  77. package/dist/src/utils/Constants.js +7 -19
  78. package/dist/src/utils/Constants.js.map +1 -0
  79. package/dist/src/utils/RecommendationError.d.ts +0 -4
  80. package/dist/src/utils/RecommendationError.js +24 -28
  81. package/dist/src/utils/RecommendationError.js.map +1 -0
  82. package/dist/src/utils/RecommendationUtils.js +5 -2
  83. package/dist/src/utils/RecommendationUtils.js.map +1 -0
  84. package/dist/src/utils/Translations.js +5 -5
  85. package/dist/src/utils/Translations.js.map +1 -0
  86. package/dist/src/utils/Utils.d.ts +1 -1
  87. package/dist/src/utils/Utils.js +1 -0
  88. package/dist/src/utils/Utils.js.map +1 -0
  89. package/dist/src/utils/Validations.d.ts +1 -18
  90. package/dist/src/utils/Validations.js +5 -39
  91. package/dist/src/utils/Validations.js.map +1 -0
  92. package/dist/tsconfig.tsbuildinfo +1 -0
  93. package/package.json +86 -100
  94. package/dist/src/assets/fonts/Poppins-Bold.ttf +0 -0
  95. package/dist/src/assets/fonts/Poppins-SemiBold.ttf +0 -0
  96. package/dist/src/assets/icons/Edit.d.ts +0 -4
  97. package/dist/src/assets/icons/Edit.js +0 -7
  98. package/dist/src/assets/icons/Edit.tsx +0 -22
  99. package/dist/src/assets/icons/X.d.ts +0 -4
  100. package/dist/src/assets/icons/X.js +0 -6
  101. package/dist/src/assets/icons/X.tsx +0 -14
  102. package/dist/src/components/ForecastInfoBar.d.ts +0 -105
  103. package/dist/src/components/ForecastInfoBar.js +0 -164
  104. package/dist/src/components/SaveButton.js +0 -71
  105. package/dist/src/locale/da/messages.js +0 -1
  106. package/dist/src/locale/da/messages.po +0 -369
  107. package/dist/src/locale/de/messages.js +0 -1
  108. package/dist/src/locale/de/messages.po +0 -369
  109. package/dist/src/locale/en/messages.js +0 -1
  110. package/dist/src/locale/en/messages.po +0 -369
  111. package/dist/src/locale/es/messages.js +0 -1
  112. package/dist/src/locale/es/messages.po +0 -369
  113. package/dist/src/locale/fr/messages.js +0 -1
  114. package/dist/src/locale/fr/messages.po +0 -369
  115. package/dist/src/locale/i18nUtils.d.ts +0 -18
  116. package/dist/src/locale/i18nUtils.js +0 -39
  117. package/dist/src/locale/it/messages.js +0 -1
  118. package/dist/src/locale/it/messages.po +0 -369
package/dist/index.js CHANGED
@@ -3,3 +3,4 @@ import * as Errors from "./src/utils/RecommendationError";
3
3
  export default RecommendationScreen;
4
4
  export { Errors };
5
5
  export * from "./src/types/enum";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,MAAM,MAAM,iCAAiC,CAAC;AAE1D,eAAe,oBAAoB,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,cAAc,kBAAkB,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import React from "react";
2
2
  import { AppStateStatus } from "react-native";
3
3
  import { BloodGlucoseUnit, BloodKetonesUnit, BolusCalculator, Languages, Logbook, UserSettings } from "@hedia/types";
4
- import { RecommendationError } from "./utils/RecommendationError";
5
4
  import { IActivityDisplayProps } from "./types/types";
5
+ import { RecommendationError } from "./utils/RecommendationError";
6
6
  /** Represents both a suggestion by HDA and an actual amount of either insulin or carbohydrates. */
7
7
  export interface IResult {
8
8
  /** The suggested amount (of insulin in units or carbohydrates in grams) */
@@ -14,7 +14,7 @@ export interface IRecommendationProps {
14
14
  /** The blood glucose measurement unit that the user prefers. */
15
15
  bloodGlucoseUnit: BloodGlucoseUnit;
16
16
  /** The user’s preferred language. */
17
- language: Languages;
17
+ language: keyof typeof Languages;
18
18
  /** The user’s preferred default reminder time in hours when they enter carbohydrates or an activity. */
19
19
  userReminder: number;
20
20
  /** The values needed to make an insulin recommendation calculation. */
@@ -29,10 +29,6 @@ export interface IRecommendationProps {
29
29
  latestLogbookFrom6Hours: Logbook.Types.ILogbookEntry | null;
30
30
  /** The properties of the entered activity that are not used for making the calculation itself, but will be used on the recommendation screen. */
31
31
  activityDisplayProps: IActivityDisplayProps | null;
32
- /** Forecast data received from the app */
33
- forecast?: Logbook.Types.ILogbookEntry[`forecast_glucose`];
34
- /** CGM data received from the app */
35
- cgm?: Logbook.Types.ILogbookEntry[`cgm_reading`];
36
32
  /**
37
33
  * Callback function taking a single boolean argument and returning nothing.
38
34
  * To be called when the user decides on a presented carbohydrate recommendation.
@@ -70,7 +66,7 @@ export interface IRecommendationProps {
70
66
  * To be called in case a serious issue with the validity of input data is detected.
71
67
  * @param error The detected error.
72
68
  */
73
- onError(error: RecommendationError): void;
69
+ onError(error: RecommendationError | Error): void;
74
70
  /**
75
71
  * Callback function taking a single argument of type boolean.
76
72
  * To be called to hide the bottom navigation bar while displaying modal dialogs.
@@ -1,27 +1,24 @@
1
1
  import React from "react";
2
- import { AppState, BackHandler, Dimensions, LogBox, ScrollView, StatusBar, StyleSheet, View, } from "react-native";
2
+ import { AppState, BackHandler, LogBox, StyleSheet, View } from "react-native";
3
3
  import { KeyboardAwareScrollView } from "react-native-keyboard-aware-scroll-view";
4
- import { colors } from "./utils/Constants";
5
- import ForecastInfoBar from "./components/ForecastInfoBar";
4
+ import * as Calculator from "@hedia/recommendation-calculator";
5
+ import { Milliseconds, } from "@hedia/types";
6
+ import Activity from "./components/activity/Activity";
6
7
  import Header from "./components/Header";
7
8
  import InfoBars, { infoStyles } from "./components/InfoBars";
9
+ import LimitationMessage from "./components/LimitationMessage";
10
+ import Emotion from "./components/mood/Emotion";
8
11
  import RecentInsulin from "./components/RecentInsulin";
12
+ import RecommendationModal from "./components/RecommendationModal";
9
13
  import RecommendedCarbs from "./components/RecommendedCarbs";
10
14
  import RecommendedInsulin from "./components/RecommendedInsulin";
11
15
  import Remeasure from "./components/Remeasure";
12
- import * as Calculator from "@hedia/recommendation-calculator";
13
- import { Milliseconds, } from "@hedia/types";
14
- import { I18nProvider } from "@lingui/react";
15
- import Emotion from "./components/mood/Emotion";
16
- import SaveButton from "./components/SaveButton";
17
- import { t } from "@lingui/macro";
18
- import Activity from "./components/activity/Activity";
19
- import LimitationMessage from "./components/LimitationMessage";
20
- import RecommendationModal from "./components/RecommendationModal";
16
+ import TransferToLogbook from "./components/TransferToLogbook";
21
17
  import TwoOptionModal, { modalStyle } from "./components/TwoOptionModal";
22
- import { changeLanguage, i18n } from "./locale/i18nUtils";
18
+ import { changeLocale, translate } from "./locales/translate";
23
19
  import { Testing } from "./types/enum";
24
20
  import { Messages } from "./utils/AttentionMessages";
21
+ import { BACKGROUND_COLOUR_PURPLE, BORDER_COLOUR_GREY, BORDER_COLOUR_TEAL } from "./utils/Constants";
25
22
  import { getAttentionMessage, getBGLevel, getLimitationMessage, getReminder } from "./utils/RecommendationUtils";
26
23
  import { Utils } from "./utils/Utils";
27
24
  import { validateParams } from "./utils/Validations";
@@ -94,8 +91,8 @@ export default class RecommendationScreen extends React.Component {
94
91
  super(props);
95
92
  try {
96
93
  validateParams(props);
94
+ changeLocale(props.language);
97
95
  this.recommendationDate = new Date(global.Date.now());
98
- changeLanguage(props.language);
99
96
  const { recentBoluses } = props.calculatorParams;
100
97
  const { bolus, carbRecommendation, activityReduction, wasLimited, activeInsulin } = Calculator.calculateRecommendation(props.calculatorParams);
101
98
  this.suggestedCarbs = carbRecommendation;
@@ -285,7 +282,7 @@ export default class RecommendationScreen extends React.Component {
285
282
  handleNoRecentInsulin = () => {
286
283
  this.setState({ isRecommendationDisplayed: true }, () => {
287
284
  setTimeout(() => {
288
- this.scrollView?.scrollToEnd({ animated: true });
285
+ this.scrollView?.scrollToEnd(true);
289
286
  }, 0);
290
287
  });
291
288
  };
@@ -454,58 +451,57 @@ export default class RecommendationScreen extends React.Component {
454
451
  if (this.hasError) {
455
452
  return <View style={containerStyles.container}/>;
456
453
  }
457
- const { activeInsulin, activityReduction, carbRecommendation: carbRecommendationProp, enteredCarbs, enteredInsulin, insulinRecommendation, isRecommendationDisplayed, recommendationModal, remeasureTime, selectedMood, showExitModal, showLimitationMessage, showTimeoutModal, } = this.state;
458
- const { BloodGlucose: BGValueTestID, BloodKetone: BKValueTestID, ActiveInsulin: ActiveInsulinValueTestID, ForecastedGlucose: FGValueTestID, } = InfoBarTestIds.Value;
459
- const { ActiveInsulin: ActiveInsulinUnitTestID, BloodGlucose: BGUnitTestID, BloodKetone: BKUnitTestID, ForecastedGlucose: FGUnitTestID, } = InfoBarTestIds.Unit;
454
+ const { activeInsulin, recommendationModal, carbRecommendation: carbRecommendationProp, enteredCarbs, enteredInsulin, insulinRecommendation, activityReduction, isRecommendationDisplayed, } = this.state;
455
+ const { BloodGlucose: BGValueTestID, BloodKetone: BKValueTestID, ActiveInsulin: ActiveInsulinValueTestID, } = InfoBarTestIds.Value;
456
+ const { ActiveInsulin: ActiveInsulinUnitTestID, BloodGlucose: BGUnitTestID, BloodKetone: BKUnitTestID, } = InfoBarTestIds.Unit;
460
457
  const carbRecommendation = carbRecommendationProp !== null ? Math.round(carbRecommendationProp) : null;
461
458
  const recommendedCarbs = enteredCarbs ?? carbRecommendation;
462
- const isModalOpen = showExitModal || showLimitationMessage || showTimeoutModal;
463
- const { activityDisplayProps, bloodGlucoseUnit, bloodKetoneUnit, calculatorParams, cgm, currentBKL, injectionMethod, language, onRecentInsulinYes, forecast, } = this.props;
464
- const { activity, currentBGL, carbohydrates: providedCarbs } = calculatorParams;
459
+ const { calculatorParams, bloodGlucoseUnit, currentBKL, bloodKetoneUnit } = this.props;
460
+ const { currentBGL, carbohydrates: providedCarbs } = calculatorParams;
465
461
  const displayedBGL = currentBGL ? Utils.displayedBGLValue(currentBGL, bloodGlucoseUnit) : null;
466
462
  const displayedBKL = currentBKL !== null && bloodKetoneUnit ? Utils.displayedBKLValue(currentBKL, bloodKetoneUnit) : null;
467
- return (<I18nProvider language={language} i18n={i18n}>
468
- <KeyboardAwareScrollView scrollEnabled={!isModalOpen} style={containerStyles.container}>
469
- <StatusBar backgroundColor={colors.darkBlue}/>
470
- <ScrollView testID={RecommendationScreenTestIds.RecommendationScrollView} style={containerStyles.container} ref={(view) => {
463
+ return (<>
464
+ <KeyboardAwareScrollView testID={RecommendationScreenTestIds.RecommendationScrollView} enableResetScrollToCoords={false} style={containerStyles.container} ref={(view) => {
471
465
  if (view !== null) {
472
466
  this.scrollView = view;
473
467
  }
474
468
  }}>
475
- <Header exitCallback={this.onExit}/>
476
- <InfoBars label={i18n._(t `Active Insulin`)} value={activeInsulin ? `${activeInsulin.toFixed(1)}` : null} unit={i18n._(t `units`)} showNullAsDash={false} testID={{ unitID: ActiveInsulinUnitTestID, valueID: ActiveInsulinValueTestID }}/>
477
- {forecast && cgm ? (<ForecastInfoBar label={i18n._(t `Forecasted Glucose`)} forecast={forecast} cgm={cgm} unit={bloodGlucoseUnit} testID={{ unitID: FGUnitTestID, valueID: FGValueTestID }}/>) : (<InfoBars label={i18n._(t `Blood Glucose Level`)} value={displayedBGL} unit={bloodGlucoseUnit} showNullAsDash={true} testID={{ unitID: BGUnitTestID, valueID: BGValueTestID }}/>)}
478
- <InfoBars label={i18n._(t `Blood Ketone Level`)} value={displayedBKL} unit={bloodKetoneUnit} showNullAsDash={true} testID={{ unitID: BKUnitTestID, valueID: BKValueTestID }}/>
479
- <View style={containerStyles.calcContainer}>
480
- <View style={containerStyles.calcMargin}>
481
- <View style={containerStyles.calcBorder}>
482
- <RecommendedCarbs enteredCarbs={`${providedCarbs}`} changedRecommendedCarbs={this.updateCarbRecommendation} recommendedCarbs={`${recommendedCarbs}`} removeRecommendedCarbs={this.removeCarbRecommendation}/>
483
- </View>
469
+ <Header exitCallback={this.onExit}/>
470
+ <InfoBars label={translate(`Active Insulin`)} value={activeInsulin ? `${activeInsulin.toFixed(1)}` : null} unit={translate(`units`)} showNullAsDash={false} testID={{ unitID: ActiveInsulinUnitTestID, valueID: ActiveInsulinValueTestID }}/>
471
+ <InfoBars label={translate(`Blood Glucose Level`)} value={displayedBGL} unit={this.props.bloodGlucoseUnit} showNullAsDash={true} testID={{ unitID: BGUnitTestID, valueID: BGValueTestID }}/>
472
+ <InfoBars label={translate(`Blood Ketone Level`)} value={displayedBKL} unit={this.props.bloodKetoneUnit} showNullAsDash={true} testID={{ unitID: BKUnitTestID, valueID: BKValueTestID }}/>
473
+ <View style={containerStyles.calcContainer}>
474
+ <View style={containerStyles.calcMargin}>
475
+ <View style={[
476
+ containerStyles.calcBorder,
477
+ {
478
+ borderColor: recommendedCarbs ? BORDER_COLOUR_TEAL : BORDER_COLOUR_GREY,
479
+ },
480
+ ]}>
481
+ <RecommendedCarbs enteredCarbs={`${providedCarbs}`} changedRecommendedCarbs={this.updateCarbRecommendation} recommendedCarbs={`${recommendedCarbs}`} removeRecommendedCarbs={this.removeCarbRecommendation}/>
484
482
  </View>
485
483
  </View>
486
- {activity && activityDisplayProps && (<Activity activity={activity} activityType={activityDisplayProps.activityType} activityTitle={activityDisplayProps.activityTitle} activityReduction={activityReduction}/>)}
487
- <Remeasure onSliderChange={this.updateRemeasureTime} remeasureTime={remeasureTime}/>
488
- {!isRecommendationDisplayed ? (<RecentInsulin onRecentInsulinYes={onRecentInsulinYes} onRecentInsulinNo={this.handleNoRecentInsulin}/>) : (<RecommendedInsulin injectionMethod={injectionMethod} insulinRecommendation={insulinRecommendation} enteredInsulin={enteredInsulin} activityReduction={activityReduction} updateRecommendedInsulin={this.updateInsulinRecommendation} forecast={forecast}/>)}
489
- <Emotion moodSelected={this.handleMoodSelected} currentMood={selectedMood}/>
490
- <SaveButton visible={isRecommendationDisplayed} transfer={this.handleTransfer}/>
491
- <RecommendationModal isVisible={recommendationModal} suggestedCarbohydrates={carbRecommendationProp} attentionMessage={this.getBGLevelAttentionMessage()} limitationMessage={this.getLimitationAttentionMessage()} onClickOkButton={this.hideAttentionModal} onAcceptCarbohydrates={this.acceptCarbRecommendation} onDeclineCarbohydrates={this.declineCarbRecommendation}/>
492
- </ScrollView>
493
- {/* Modals */}
494
- {showExitModal && (<TwoOptionModal title={i18n._(t `Save data before closing?`)} message={i18n._(t `Your saved data will be used for future calculations.`)} textFirstOption={i18n._(t `Save to logbook`)} textSecondOption={i18n._(t `Close calculation`)} isCancelable={true} rowAsButtonLayout={true} firstOption={this.handleTransfer} secondOption={this.closeCalculation} onClose={this.hideExitModal}/>)}
495
- {showLimitationMessage && (<View style={modalStyle.container}>
496
- <LimitationMessage limitationMessage={this.getLimitationAttentionMessage()} onPressNextButton={this.hideLimitationMessage}/>
497
- </View>)}
498
- {showTimeoutModal &&
499
- (isRecommendationDisplayed ? (<TwoOptionModal title={Messages.TimeoutPrompTitle()} message={Messages.TimeoutRecommendationVisible(this.recommendationDate)} textFirstOption={i18n._(t `Yes, save to logbook`)} textSecondOption={i18n._(t `No, return to dashboard`)} rowAsButtonLayout={false} firstOption={this.handleTransfer} secondOption={this.closeCalculation}/>) : (<TwoOptionModal title={Messages.TimeoutPrompTitle()} message={Messages.TimeoutRecommendationNotVisible()} textFirstOption={i18n._(t `Start new calculation`)} textSecondOption={i18n._(t `Return to dashboard`)} rowAsButtonLayout={false} firstOption={this.restartCalculation} secondOption={this.closeCalculation}/>))}
484
+ </View>
485
+ {this.props.calculatorParams.activity && this.props.activityDisplayProps ? (<Activity activity={this.props.calculatorParams.activity} activityType={this.props.activityDisplayProps.activityType} activityTitle={this.props.activityDisplayProps.activityTitle} activityReduction={this.state.activityReduction}/>) : null}
486
+ <Remeasure onSliderChange={this.updateRemeasureTime} remeasureTime={this.state.remeasureTime}/>
487
+ {!this.state.isRecommendationDisplayed ? (<RecentInsulin onRecentInsulinYes={this.props.onRecentInsulinYes} onRecentInsulinNo={this.handleNoRecentInsulin}/>) : (<RecommendedInsulin injectionMethod={this.props.injectionMethod} insulinRecommendation={insulinRecommendation} enteredInsulin={enteredInsulin} activityReduction={activityReduction} updateRecommendedInsulin={this.updateInsulinRecommendation}/>)}
488
+ <Emotion moodSelected={this.handleMoodSelected} currentMood={this.state.selectedMood}/>
489
+ <TransferToLogbook visible={isRecommendationDisplayed} transfer={this.handleTransfer}/>
490
+ <RecommendationModal isVisible={recommendationModal} suggestedCarbohydrates={carbRecommendationProp} attentionMessage={this.getBGLevelAttentionMessage()} limitationMessage={this.getLimitationAttentionMessage()} onClickOkButton={this.hideAttentionModal} onAcceptCarbohydrates={this.acceptCarbRecommendation} onDeclineCarbohydrates={this.declineCarbRecommendation}/>
500
491
  </KeyboardAwareScrollView>
501
- </I18nProvider>);
492
+ {this.state.showExitModal && (<TwoOptionModal title={translate(`Save data before closing?`)} message={translate(`Your saved data will be used for future calculations.`)} textFirstOption={translate(`Save to logbook`)} textSecondOption={translate(`Close calculation`)} isCancelable={true} rowAsButtonLayout={true} firstOption={this.handleTransfer} secondOption={this.closeCalculation} onClose={this.hideExitModal}/>)}
493
+ {this.state.showLimitationMessage && (<View style={modalStyle.container}>
494
+ <LimitationMessage limitationMessage={this.getLimitationAttentionMessage()} onPressNextButton={this.hideLimitationMessage}/>
495
+ </View>)}
496
+ {this.state.showTimeoutModal &&
497
+ (this.state.isRecommendationDisplayed ? (<TwoOptionModal title={Messages.TimeoutPrompTitle()} message={Messages.TimeoutRecommendationVisible(this.recommendationDate)} textFirstOption={translate(`Yes, save to logbook`)} textSecondOption={translate(`No, return to dashboard`)} rowAsButtonLayout={false} firstOption={this.handleTransfer} secondOption={this.closeCalculation}/>) : (<TwoOptionModal title={Messages.TimeoutPrompTitle()} message={Messages.TimeoutRecommendationNotVisible()} textFirstOption={translate(`Start new calculation`)} textSecondOption={translate(`Return to dashboard`)} rowAsButtonLayout={false} firstOption={this.restartCalculation} secondOption={this.closeCalculation}/>))}
498
+ </>);
502
499
  }
503
500
  }
504
- const { width } = Dimensions.get(`screen`);
505
501
  const containerStyles = StyleSheet.create({
506
502
  container: {
507
503
  flex: 1,
508
- backgroundColor: colors.darkBlue,
504
+ backgroundColor: BACKGROUND_COLOUR_PURPLE,
509
505
  },
510
506
  calcContainer: {
511
507
  flex: 1,
@@ -513,10 +509,11 @@ const containerStyles = StyleSheet.create({
513
509
  calcMargin: {
514
510
  flex: 1,
515
511
  marginBottom: 0,
516
- marginHorizontal: width / 17,
517
- marginVertical: `3%`,
512
+ margin: `3%`,
518
513
  },
519
514
  calcBorder: {
520
515
  ...infoStyles.border,
516
+ borderColor: BORDER_COLOUR_TEAL,
521
517
  },
522
518
  });
519
+ //# sourceMappingURL=RecommendationScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecommendationScreen.js","sourceRoot":"","sources":["../../src/RecommendationScreen.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  export interface IProps {
3
3
  /** A callback that doesn’t take any arguments and doesn’t return a value to be called when the cancel-button is pressed. */
4
4
  exitCallback(): void;
5
5
  }
6
6
  /** Component to display a header text along with a cancel-button that triggers a callback function. */
7
- declare const Header: ({ exitCallback }: IProps) => JSX.Element;
8
- export default Header;
7
+ export default class Header extends React.Component<IProps> {
8
+ /** JSX element to display the cancel button and header. When the cancel button in the header is tabbed, the exitCallback prop callback function should be called. */
9
+ render(): JSX.Element;
10
+ }
@@ -1,54 +1,75 @@
1
- import { t } from "@lingui/macro";
2
1
  import React from "react";
3
2
  import { Dimensions, SafeAreaView, StyleSheet, TouchableOpacity, View } from "react-native";
4
- import XIcon from "../assets/icons/X";
5
- import { i18n } from "../locale/i18nUtils";
3
+ import { translate } from "../locales/translate";
6
4
  import { Testing } from "../types/enum";
5
+ import { BACKGROUND_COLOUR_PURPLE, BORDER_COLOUR_GREY } from "../utils/Constants";
6
+ import Icon from "./Icon";
7
7
  import TextBold from "./text/TextBold";
8
8
  /** Component to display a header text along with a cancel-button that triggers a callback function. */
9
- const Header = ({ exitCallback }) => {
10
- const { iconWrapper, container, emptyButton, text } = headerStyles;
11
- return (<>
12
- <SafeAreaView />
13
- <View style={container}>
14
- <TouchableOpacity testID={Testing.Id.HeaderTestIds.ExitCalculation} style={iconWrapper} onPress={exitCallback}>
15
- <XIcon />
16
- </TouchableOpacity>
17
-
18
- <TextBold style={text} testID={Testing.Id.HeaderTestIds.HeaderText}>
19
- {i18n._(t `Insulin recommendation`)}
20
- </TextBold>
21
-
22
- <View style={emptyButton}/>
23
- </View>
24
- </>);
25
- };
26
- const { width } = Dimensions.get(`screen`);
9
+ export default class Header extends React.Component {
10
+ /** JSX element to display the cancel button and header. When the cancel button in the header is tabbed, the exitCallback prop callback function should be called. */
11
+ render() {
12
+ return (<React.Fragment>
13
+ <SafeAreaView style={headerStyles.backgroundColour}/>
14
+ <View style={headerStyles.headerContainer}>
15
+ <View style={headerStyles.margin}>
16
+ <View style={headerStyles.exitButtonContainer}>
17
+ <View style={headerStyles.exitButton}>
18
+ <TouchableOpacity testID={Testing.Id.HeaderTestIds.ExitCalculation} style={headerStyles.exitButton} onPress={this.props.exitCallback}>
19
+ <Icon iconIdentifier={`Ionicons/ios-close-circle-outline`} style={headerStyles.iconStyle}/>
20
+ </TouchableOpacity>
21
+ <View style={headerStyles.headerFiller}/>
22
+ </View>
23
+ </View>
24
+ <View style={headerStyles.headerTextContainer}>
25
+ <TextBold style={headerStyles.headerText} testID={Testing.Id.HeaderTestIds.HeaderText}>
26
+ {translate(`INSULIN{0}RECOMMENDATION`, { 0: `\n` })}
27
+ </TextBold>
28
+ </View>
29
+ <View style={headerStyles.headerFiller}/>
30
+ </View>
31
+ </View>
32
+ </React.Fragment>);
33
+ }
34
+ }
27
35
  const headerStyles = StyleSheet.create({
28
- container: {
36
+ backgroundColour: {
37
+ backgroundColor: BACKGROUND_COLOUR_PURPLE,
38
+ },
39
+ margin: {
40
+ margin: `1%`,
41
+ marginBottom: `3%`,
42
+ flexDirection: `row`,
43
+ flex: 1,
44
+ },
45
+ headerContainer: {
29
46
  flexDirection: `row`,
30
47
  flex: 1,
31
- paddingHorizontal: width / 17,
32
- paddingVertical: width / 43,
48
+ },
49
+ exitButtonContainer: {
33
50
  alignItems: `center`,
34
- justifyContent: `space-between`,
35
- },
36
- iconWrapper: {
37
- padding: width / 60,
38
- borderWidth: 1,
39
- borderColor: `#C8CCFA33`,
40
- borderRadius: 10,
41
- },
42
- text: {
43
- fontFamily: `Poppins-SemiBold`,
44
- fontSize: width / 22,
45
- lineHeight: width / 14,
51
+ flex: 1,
52
+ },
53
+ exitButton: {
54
+ flex: 1,
55
+ },
56
+ iconStyle: {
57
+ fontSize: Dimensions.get(`screen`).width / 12,
58
+ color: BORDER_COLOUR_GREY,
59
+ },
60
+ headerTextContainer: {
61
+ flex: 6,
62
+ justifyContent: `center`,
63
+ alignItems: `center`,
64
+ marginTop: `5%`,
65
+ },
66
+ headerText: {
67
+ fontSize: Dimensions.get(`screen`).width / 18,
46
68
  textAlign: `center`,
47
69
  color: `white`,
48
70
  },
49
- emptyButton: {
50
- width: width / 11,
51
- height: width / 11,
71
+ headerFiller: {
72
+ flex: 1,
52
73
  },
53
74
  });
54
- export default Header;
75
+ //# sourceMappingURL=Header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/components/Header.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- // @ts-nocheck
2
- /* tslint:disable */
3
1
  import React from "react";
4
2
  /** Mapping from react-native-vector-icons identifier to corresponding icon resource. */
5
3
  export const IconSets = {
@@ -41,3 +39,4 @@ export default class Icon extends React.Component {
41
39
  Icon.defaultProps = {
42
40
  iconIdentifier: `FontAwesome/question`,
43
41
  };
42
+ //# sourceMappingURL=Icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../src/components/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,wFAAwF;AACxF,MAAM,CAAC,MAAM,QAAQ,GAAwB;IAC5C,SAAS,EAAE,OAAO,CAAC,qCAAqC,CAAC;IACzD,OAAO,EAAE,OAAO,CAAC,mCAAmC,CAAC;IACrD,SAAS,EAAE,OAAO,CAAC,qCAAqC,CAAC;IACzD,QAAQ,EAAE,OAAO,CAAC,oCAAoC,CAAC;IACvD,WAAW,EAAE,OAAO,CAAC,uCAAuC,CAAC;IAC7D,MAAM,EAAE,OAAO,CAAC,kCAAkC,CAAC;CACnD,CAAC;AASF,4DAA4D;AAC5D,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,KAAK,CAAC,SAAiB;IACjD,MAAM,CAAC,YAAY,CAAM;IACzB,KAAK,CAAM;IAEX,cAAc,CAAC,WAAgB;QACrC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,MAAM;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;YAC/B,eAAe,GAAG,aAAa,CAAC;YAChC,QAAQ,GAAG,UAAU,CAAC;SACtB;QACD,MAAM,WAAW,GAAG;YACnB,GAAG,IAAI,CAAC,KAAK;YACb,IAAI,EAAE,QAAQ;YACd,cAAc,EAAE,SAAS;YACzB,GAAG,EAAE,CAAC,SAAc,EAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;SACvD,CAAC;QACF,MAAM,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC;QACpD,OAAO,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,EAAG,CAAC;IACvC,CAAC;CACD;AAED,IAAI,CAAC,YAAY,GAAG;IACnB,cAAc,EAAE,sBAAsB;CACtC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { BloodGlucoseUnit, BloodKetonesUnit } from "@hedia/types";
2
1
  import React from "react";
2
+ import { BloodGlucoseUnit, BloodKetonesUnit } from "@hedia/types";
3
3
  import { Testing } from "../types/enum";
4
4
  export interface IProps {
5
5
  /** The display label that describes the value to the user. */
@@ -50,8 +50,7 @@ export declare const infoStyles: {
50
50
  };
51
51
  margin: {
52
52
  flex: number;
53
- marginVertical: number;
54
- marginHorizontal: number;
53
+ margin: string;
55
54
  marginBottom: number;
56
55
  };
57
56
  border: {
@@ -91,12 +90,12 @@ export declare const infoStyles: {
91
90
  unitContainer: {
92
91
  flex: number;
93
92
  justifyContent: "flex-end";
93
+ paddingBottom: string;
94
94
  };
95
95
  units: {
96
96
  color: string;
97
97
  fontSize: number;
98
98
  textAlign: "left";
99
99
  paddingLeft: string;
100
- marginBottom: number;
101
100
  };
102
101
  };
@@ -1,9 +1,8 @@
1
- import { BloodGlucoseUnit, BloodKetonesUnit } from "@hedia/types";
2
- import { t } from "@lingui/macro";
3
1
  import React from "react";
4
2
  import { Dimensions, StyleSheet, View } from "react-native";
5
- import { i18n } from "../locale/i18nUtils";
6
- import { colors } from "../utils/Constants";
3
+ import { BloodGlucoseUnit, BloodKetonesUnit } from "@hedia/types";
4
+ import { translate } from "../locales/translate";
5
+ import { BORDER_COLOUR_GREY } from "../utils/Constants";
7
6
  import { Utils } from "../utils/Utils";
8
7
  import TextBold from "./text/TextBold";
9
8
  import TextRegular from "./text/TextRegular";
@@ -38,7 +37,7 @@ export default class InfoBars extends React.Component {
38
37
  if (!unit) {
39
38
  return null;
40
39
  }
41
- return unit === i18n._(t `units`) ? unit : Utils.formatUnit(unit);
40
+ return unit === translate(`units`) ? unit : Utils.formatUnit(unit);
42
41
  };
43
42
  /**
44
43
  * @returns JSX element to display a card with the entered value.
@@ -70,19 +69,17 @@ export default class InfoBars extends React.Component {
70
69
  </View>);
71
70
  }
72
71
  }
73
- const { width } = Dimensions.get(`screen`);
74
72
  /** @internal */
75
73
  export const infoStyles = StyleSheet.create({
76
74
  container: { flex: 1 },
77
75
  margin: {
78
76
  flex: 1,
79
- marginVertical: width / 35,
80
- marginHorizontal: width / 17,
77
+ margin: `3%`,
81
78
  marginBottom: 0,
82
79
  },
83
80
  border: {
84
81
  borderWidth: 2,
85
- borderColor: colors.mistBlue,
82
+ borderColor: BORDER_COLOUR_GREY,
86
83
  borderRadius: 5,
87
84
  paddingVertical: `1%`,
88
85
  },
@@ -98,7 +95,7 @@ export const infoStyles = StyleSheet.create({
98
95
  },
99
96
  label: {
100
97
  color: `white`,
101
- fontSize: width / 22,
98
+ fontSize: Dimensions.get(`screen`).width / 22,
102
99
  },
103
100
  valueUnitContainer: {
104
101
  flex: 6.5,
@@ -111,18 +108,19 @@ export const infoStyles = StyleSheet.create({
111
108
  },
112
109
  value: {
113
110
  color: `white`,
114
- fontSize: width / 16,
111
+ fontSize: Dimensions.get(`screen`).width / 15,
115
112
  textAlign: `right`,
116
113
  },
117
114
  unitContainer: {
118
115
  flex: 3,
119
116
  justifyContent: `flex-end`,
117
+ paddingBottom: `3%`,
120
118
  },
121
119
  units: {
122
120
  color: `white`,
123
- fontSize: width / 30,
121
+ fontSize: Dimensions.get(`screen`).width / 30,
124
122
  textAlign: `left`,
125
- paddingLeft: `15%`,
126
- marginBottom: 4,
123
+ paddingLeft: `5%`,
127
124
  },
128
125
  });
126
+ //# sourceMappingURL=InfoBars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoBars.js","sourceRoot":"","sources":["../../../src/components/InfoBars.tsx"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ export default class InvisibleNumberInput extends React.Component {
48
48
  * @returns A string with the cleaned text.
49
49
  */
50
50
  cleanInput = (text) => {
51
- const replaced = text.replace(/\,/g, `.`).replace(/(\d*\.\d*).*/, `$1`);
51
+ const replaced = text.replace(/,/g, `.`).replace(/(\d*\.\d*).*/, `$1`);
52
52
  const round = (value) => {
53
53
  const temp = Number(value) * Math.pow(10, this.props.decimalPlaces);
54
54
  const rounded = Math.round(temp) / Math.pow(10, this.props.decimalPlaces);
@@ -72,7 +72,7 @@ export default class InvisibleNumberInput extends React.Component {
72
72
  * @param text The updated text in the input field
73
73
  */
74
74
  handleOnChangeText = (text) => {
75
- const cleaned = this.props.cleanPartialInput ? this.cleanInput(text) : text.replace(/\,/g, `.`);
75
+ const cleaned = this.props.cleanPartialInput ? this.cleanInput(text) : text.replace(/,/g, `.`);
76
76
  let replacedSeparator = cleaned.replace(/\.+/g, `.`).replace(/(\d*\.\d*).*/, `$1`);
77
77
  if (!this.props.negativeAllowed) {
78
78
  replacedSeparator = replacedSeparator.replace(/[^0-9.]/g, ``);
@@ -119,3 +119,4 @@ const inputStyles = StyleSheet.create({
119
119
  }),
120
120
  },
121
121
  });
122
+ //# sourceMappingURL=InvisibleNumberInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InvisibleNumberInput.js","sourceRoot":"","sources":["../../../src/components/InvisibleNumberInput.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { t } from "@lingui/macro";
2
1
  import * as React from "react";
3
2
  import { TouchableOpacity, View } from "react-native";
4
- import { i18n } from "../locale/i18nUtils";
3
+ import { translate } from "../locales/translate";
5
4
  import { Testing } from "../types/enum";
6
5
  import { stylesModal } from "./RecommendationModal";
7
6
  import TextBold from "./text/TextBold";
@@ -16,15 +15,16 @@ export default class LimitationMessage extends React.Component {
16
15
  return (<React.Fragment>
17
16
  <View style={stylesModal.container}>
18
17
  <View style={stylesModal.titleContainer}>
19
- <TextBold style={stylesModal.textTittleMessage}>{i18n._(t `Attention`)}</TextBold>
18
+ <TextBold style={stylesModal.textTittleMessage}>{translate(`Attention`)}</TextBold>
20
19
  </View>
21
20
  <TextRegular style={stylesModal.textMessage}>{limitationMessage}</TextRegular>
22
21
  </View>
23
22
  <View style={stylesModal.containerAcceptButton}>
24
23
  <TouchableOpacity testID={Testing.Id.LimitationMessageTestIds.OkButton} style={stylesModal.okButton} onPress={this.props.onPressNextButton}>
25
- <TextRegular style={stylesModal.buttonText}>{i18n._(t `OK`)}</TextRegular>
24
+ <TextRegular style={stylesModal.buttonText}>{translate(`OK`)}</TextRegular>
26
25
  </TouchableOpacity>
27
26
  </View>
28
27
  </React.Fragment>);
29
28
  };
30
29
  }
30
+ //# sourceMappingURL=LimitationMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LimitationMessage.js","sourceRoot":"","sources":["../../../src/components/LimitationMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAS7C,wGAAwG;AACxG,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,KAAK,CAAC,SAAkC;IACtF;;OAEG;IACI,MAAM,GAAG,GAAgB,EAAE;QACjC,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACzC,OAAO,CACN,CAAC,KAAK,CAAC,QAAQ,CACd;IAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAClC;KAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CACvC;MAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,CACnF;KAAA,EAAE,IAAI,CACN;KAAA,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,WAAW,CAC9E;IAAA,EAAE,IAAI,CACN;IAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAC9C;KAAA,CAAC,gBAAgB,CAChB,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CACrD,KAAK,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAC5B,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAEtC;MAAA,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAC3E;KAAA,EAAE,gBAAgB,CACnB;IAAA,EAAE,IAAI,CACP;GAAA,EAAE,KAAK,CAAC,QAAQ,CAAC,CACjB,CAAC;IACH,CAAC,CAAC;CACF"}
@@ -16,3 +16,4 @@ const lineSeparatorStyles = StyleSheet.create({
16
16
  borderBottomWidth: 1,
17
17
  },
18
18
  });
19
+ //# sourceMappingURL=LineSeparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineSeparator.js","sourceRoot":"","sources":["../../../src/components/LineSeparator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAOhD,wFAAwF;AACxF,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,KAAK,CAAC,SAAiB;IACjE,oFAAoF;IAC7E,MAAM;QACZ,OAAO,CACN,CAAC,KAAK,CAAC,QAAQ,CACd;IAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EACvF;GAAA,EAAE,KAAK,CAAC,QAAQ,CAAC,CACjB,CAAC;IACH,CAAC;CACD;AAED,MAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE;QACV,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,IAAI;QACpB,iBAAiB,EAAE,CAAC;KACpB;CACD,CAAC,CAAC"}
@@ -9,7 +9,7 @@ export interface IProps {
9
9
  export default class RecentInsulin extends React.Component<IProps> {
10
10
  /**
11
11
  *
12
- * @returns JSX element that displays a card with the question “Have you taken rapid-acting insulin within the last 4 hours? Along with two buttons labeled “Yes” and “No” respectively.
12
+ * @returns JSX element that displays a card with the question “Have you taken insulin within the last 4 hours? Along with two buttons labeled “Yes” and “No” respectively.
13
13
  * If the user taps the “Yes” button, the onRecentInsulinYes prop callback function should be called.
14
14
  * If the user taps the “No” button, the onRecentInsulinNo prop callback function should be called.
15
15
  */