@hedia/recommendation-screen 1.0.7 → 1.1.1

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 (95) hide show
  1. package/App.jsx +36 -15
  2. package/android/app/src/main/res/values/color.xml +3 -0
  3. package/android/app/src/main/res/values/styles.xml +3 -0
  4. package/index.d.ts +3 -3
  5. package/index.js +23 -7
  6. package/index.ts +3 -16
  7. package/ios/HediaRecommendationScreen/Info.plist +80 -57
  8. package/ios/HediaRecommendationScreen.xcodeproj/project.pbxproj +1085 -807
  9. package/ios/HediaRecommendationScreen.xcworkspace/contents.xcworkspacedata +10 -0
  10. package/ios/HediaRecommendationScreen.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  11. package/ios/Podfile +106 -104
  12. package/ios/Podfile.lock +474 -0
  13. package/jest.mock.js +1 -0
  14. package/package.json +9 -2
  15. package/src/RecommendationScreen.d.ts +19 -5
  16. package/src/RecommendationScreen.jsx +69 -33
  17. package/src/RecommendationScreen.tsx +130 -60
  18. package/src/assets/activity/Cyclist.png +0 -0
  19. package/src/assets/activity/Other.png +0 -0
  20. package/src/assets/activity/Runner.png +0 -0
  21. package/src/assets/activity/Swimmer.png +0 -0
  22. package/src/assets/activity/Walk.png +0 -0
  23. package/src/components/Header.d.ts +1 -5
  24. package/src/components/Header.jsx +4 -9
  25. package/src/components/Header.tsx +7 -14
  26. package/src/components/HediaRecommendationModal.d.ts +26 -0
  27. package/src/components/HediaRecommendationModal.jsx +207 -0
  28. package/src/components/HediaRecommendationModal.tsx +231 -0
  29. package/src/components/InfoBars.jsx +1 -1
  30. package/src/components/InfoBars.tsx +3 -3
  31. package/src/components/InvisibleNumberInput.tsx +7 -7
  32. package/src/components/RecentInsulin.jsx +5 -4
  33. package/src/components/RecentInsulin.tsx +6 -5
  34. package/src/components/RecommendedCarbs.jsx +17 -17
  35. package/src/components/RecommendedCarbs.tsx +24 -24
  36. package/src/components/RecommendedInsulin.jsx +12 -9
  37. package/src/components/RecommendedInsulin.tsx +18 -15
  38. package/src/components/Remeasure.jsx +7 -5
  39. package/src/components/Remeasure.tsx +15 -13
  40. package/src/components/TransferToLogbook.jsx +4 -3
  41. package/src/components/TransferToLogbook.tsx +6 -4
  42. package/src/components/activity/Activity.d.ts +11 -0
  43. package/src/components/activity/Activity.jsx +68 -0
  44. package/src/components/activity/Activity.tsx +74 -0
  45. package/src/components/activity/ActivityIcon.d.ts +7 -0
  46. package/src/components/activity/ActivityIcon.jsx +50 -0
  47. package/src/components/activity/ActivityIcon.tsx +52 -0
  48. package/src/components/activity/ActivityIntensity.d.ts +5 -0
  49. package/src/components/activity/ActivityIntensity.jsx +67 -0
  50. package/src/components/activity/ActivityIntensity.tsx +66 -0
  51. package/src/components/mood/Emotion.d.ts +12 -0
  52. package/src/components/{Emotion.jsx → mood/Emotion.jsx} +12 -16
  53. package/src/components/mood/Emotion.tsx +64 -0
  54. package/src/components/{MoodIcon.d.ts → mood/MoodIcon.d.ts} +1 -1
  55. package/src/components/{MoodIcon.jsx → mood/MoodIcon.jsx} +15 -15
  56. package/src/components/{MoodIcon.tsx → mood/MoodIcon.tsx} +17 -17
  57. package/src/locale/da/messages.js +1 -1
  58. package/src/locale/da/messages.po +191 -49
  59. package/src/locale/en/messages.js +1 -1
  60. package/src/locale/en/messages.po +193 -51
  61. package/src/types/enum.d.ts +48 -6
  62. package/src/types/enum.js +53 -7
  63. package/src/types/enum.ts +48 -3
  64. package/src/types/types.d.ts +18 -1
  65. package/src/types/types.ts +21 -1
  66. package/src/utils/AttentionMessages.d.ts +21 -0
  67. package/src/utils/AttentionMessages.js +62 -0
  68. package/src/utils/AttentionMessages.ts +59 -0
  69. package/src/utils/Constants.d.ts +16 -1
  70. package/src/utils/Constants.js +16 -2
  71. package/src/utils/Constants.ts +20 -1
  72. package/src/utils/RecommendationError.d.ts +18 -6
  73. package/src/utils/RecommendationError.js +23 -7
  74. package/src/utils/RecommendationError.ts +114 -28
  75. package/src/utils/RecommendationUtils.d.ts +12 -0
  76. package/src/utils/RecommendationUtils.js +118 -0
  77. package/src/utils/RecommendationUtils.ts +128 -0
  78. package/src/utils/Utils.d.ts +3 -1
  79. package/src/utils/Utils.js +6 -0
  80. package/src/utils/Utils.ts +13 -5
  81. package/src/utils/Validations.d.ts +22 -0
  82. package/src/utils/Validations.js +175 -0
  83. package/src/utils/Validations.ts +210 -0
  84. package/src/components/Emotion.d.ts +0 -14
  85. package/src/components/Emotion.tsx +0 -70
  86. /package/src/assets/{happy.png → mood/happy.png} +0 -0
  87. /package/src/assets/{happy_active.png → mood/happy_active.png} +0 -0
  88. /package/src/assets/{neutral.png → mood/neutral.png} +0 -0
  89. /package/src/assets/{neutral_active.png → mood/neutral_active.png} +0 -0
  90. /package/src/assets/{sad.png → mood/sad.png} +0 -0
  91. /package/src/assets/{sad_active.png → mood/sad_active.png} +0 -0
  92. /package/src/assets/{semi_happy.png → mood/semi_happy.png} +0 -0
  93. /package/src/assets/{semi_happy_active.png → mood/semi_happy_active.png} +0 -0
  94. /package/src/assets/{semi_sad.png → mood/semi_sad.png} +0 -0
  95. /package/src/assets/{semi_sad_active.png → mood/semi_sad_active.png} +0 -0
package/App.jsx CHANGED
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const RecommendationCalculator_1 = require("@hedia/recommendation-calculator/src/RecommendationCalculator");
6
7
  const react_1 = __importDefault(require("react"));
7
8
  const RecommendationScreen_1 = __importDefault(require("./src/RecommendationScreen"));
8
9
  const enum_1 = require("./src/types/enum");
@@ -31,31 +32,36 @@ class App extends react_1.default.Component {
31
32
  this.transferToLogbook = (...params) => {
32
33
  console.log(`Transfered:`, params);
33
34
  };
35
+ this.updateRemeasureTime = (remeasureTime) => {
36
+ console.log(`updateRemeasureTime:`, remeasureTime);
37
+ };
34
38
  this.handleError = (error) => {
35
39
  console.log(JSON.stringify(error));
36
40
  switch (error.type) {
37
- case enum_1.RecommendationErrorEnum.ActivityOutOfRange:
38
- console.log(`Handling activity out of range!`);
39
- break;
40
41
  default:
41
42
  throw error;
42
43
  }
43
44
  };
44
45
  const params = {
45
- carbohydrateRatio: 10,
46
- carbohydrates: 4,
47
- currentBGL: 2.2,
48
- insulinSensitivity: 4,
49
- targetBGL: 6,
50
- recentBoluses: [],
51
- };
52
- const paramsTest = {
53
- currentBGL: 10.8,
54
- carbohydrates: 27,
46
+ currentBGL: 3,
47
+ carbohydrates: 120,
55
48
  carbohydrateRatio: 22,
56
- insulinSensitivity: 5,
49
+ insulinSensitivity: 0.3,
57
50
  targetBGL: 7,
58
51
  recentBoluses: [],
52
+ activity: {
53
+ activityDate: new Date(Date.now() - enum_1.Milliseconds.Minute * 2),
54
+ activityDuration: 5,
55
+ activityIntensity: RecommendationCalculator_1.ActivityIntensity.Moderate,
56
+ activitySettings: {
57
+ hard: { fromZero: 0.25, fromThirty: 0.55, fromFortysix: 0 },
58
+ light: { fromZero: 0.25, fromThirty: 0.55, fromFortysix: 0.25 },
59
+ post: { fromZero: 1, fromThirty: 0, fromFortysix: 0.25 },
60
+ moderate: { fromZero: 0.25, fromThirty: 0.5, fromFortysix: 0.75 },
61
+ target: 8.3,
62
+ },
63
+ activityTitle: `Moderate Activity Test Title`,
64
+ },
59
65
  };
60
66
  this.state = {
61
67
  params,
@@ -64,7 +70,22 @@ class App extends react_1.default.Component {
64
70
  };
65
71
  }
66
72
  render() {
67
- return (<RecommendationScreen_1.default language={enum_1.Languages.en} injectionMethod={this.state.injectionMethod} calculatorParams={this.state.params} units={enum_1.BGUnit.MMOL_L} exitCallback={this.exitCallback} removeRecommendedCarbs={this.removeCarbs} onRecentInsulinYes={this.onYes} transferToLogbook={this.transferToLogbook} onError={this.handleError}/>);
73
+ const logbook1 = {
74
+ blood_glucose_millimolar: 15,
75
+ carbohydrates_entered_grams: 25,
76
+ carbohydrates_suggested_grams: 25,
77
+ client_timestamp: `25`,
78
+ client_version: 25,
79
+ entry_timestamp: `25`,
80
+ event_uuid: null,
81
+ insulin_entered_units: 25,
82
+ insulin_suggested_units: 25,
83
+ is_deleted: null,
84
+ mood: 2,
85
+ settings_uuid: `25`,
86
+ uuid: `aaa`,
87
+ };
88
+ return (<RecommendationScreen_1.default latestLogbookFrom6Hours={logbook1} language={enum_1.Languages.en} injectionMethod={this.state.injectionMethod} calculatorParams={this.state.params} userReminder={5} units={enum_1.BGUnit.MMOL_L} exitCallback={this.exitCallback} onRecentInsulinYes={this.onYes} transferToLogbook={this.transferToLogbook} onError={this.handleError} activityType={enum_1.ActivityEnum.Walking}/>);
68
89
  }
69
90
  }
70
91
  exports.default = App;
@@ -0,0 +1,3 @@
1
+ <resources>
2
+ <color name="colorPrimary">#1b1f48</color>
3
+ </resources>
@@ -4,6 +4,9 @@
4
4
  <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
5
5
  <!-- Customize your theme here. -->
6
6
  <item name="android:textColor">#000000</item>
7
+ <item name="colorPrimary">@color/colorPrimary</item>
8
+ <item name="colorPrimaryDark">@color/colorPrimary</item>
9
+ <item name="colorAccent">@color/colorPrimary</item>
7
10
  </style>
8
11
 
9
12
  </resources>
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import RecommendationScreen from "./src/RecommendationScreen";
2
- import { RecommendationErrorEnum } from "./src/types/enum";
3
- import { ActivityNullError, ActivityRangeError, CarbohydrateLimitError, InsulinLimitError, RecommendationError } from "./src/utils/RecommendationError";
2
+ import { ActivityEnum, RecommendationErrorEnum } from "./src/types/enum";
3
+ import * as Errors from "./src/utils/RecommendationError";
4
4
  export default RecommendationScreen;
5
- export { ActivityNullError, ActivityRangeError, CarbohydrateLimitError, InsulinLimitError, RecommendationError, RecommendationErrorEnum, };
5
+ export { ActivityEnum, Errors, RecommendationErrorEnum };
package/index.js CHANGED
@@ -1,16 +1,32 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
23
  };
5
24
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.RecommendationErrorEnum = exports.RecommendationError = exports.InsulinLimitError = exports.CarbohydrateLimitError = exports.ActivityRangeError = exports.ActivityNullError = void 0;
25
+ exports.RecommendationErrorEnum = exports.Errors = exports.ActivityEnum = void 0;
7
26
  const RecommendationScreen_1 = __importDefault(require("./src/RecommendationScreen"));
8
27
  const enum_1 = require("./src/types/enum");
28
+ Object.defineProperty(exports, "ActivityEnum", { enumerable: true, get: function () { return enum_1.ActivityEnum; } });
9
29
  Object.defineProperty(exports, "RecommendationErrorEnum", { enumerable: true, get: function () { return enum_1.RecommendationErrorEnum; } });
10
- const RecommendationError_1 = require("./src/utils/RecommendationError");
11
- Object.defineProperty(exports, "ActivityNullError", { enumerable: true, get: function () { return RecommendationError_1.ActivityNullError; } });
12
- Object.defineProperty(exports, "ActivityRangeError", { enumerable: true, get: function () { return RecommendationError_1.ActivityRangeError; } });
13
- Object.defineProperty(exports, "CarbohydrateLimitError", { enumerable: true, get: function () { return RecommendationError_1.CarbohydrateLimitError; } });
14
- Object.defineProperty(exports, "InsulinLimitError", { enumerable: true, get: function () { return RecommendationError_1.InsulinLimitError; } });
15
- Object.defineProperty(exports, "RecommendationError", { enumerable: true, get: function () { return RecommendationError_1.RecommendationError; } });
30
+ const Errors = __importStar(require("./src/utils/RecommendationError"));
31
+ exports.Errors = Errors;
16
32
  exports.default = RecommendationScreen_1.default;
package/index.ts CHANGED
@@ -1,19 +1,6 @@
1
1
  import RecommendationScreen from "./src/RecommendationScreen";
2
- import { RecommendationErrorEnum } from "./src/types/enum";
3
- import {
4
- ActivityNullError,
5
- ActivityRangeError,
6
- CarbohydrateLimitError,
7
- InsulinLimitError,
8
- RecommendationError,
9
- } from "./src/utils/RecommendationError";
2
+ import { ActivityEnum, RecommendationErrorEnum } from "./src/types/enum";
3
+ import * as Errors from "./src/utils/RecommendationError";
10
4
 
11
5
  export default RecommendationScreen;
12
- export {
13
- ActivityNullError,
14
- ActivityRangeError,
15
- CarbohydrateLimitError,
16
- InsulinLimitError,
17
- RecommendationError,
18
- RecommendationErrorEnum,
19
- };
6
+ export { ActivityEnum, Errors, RecommendationErrorEnum };
@@ -1,57 +1,80 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>CFBundleDevelopmentRegion</key>
6
- <string>en</string>
7
- <key>CFBundleDisplayName</key>
8
- <string>HediaRecommendationScreen</string>
9
- <key>CFBundleExecutable</key>
10
- <string>$(EXECUTABLE_NAME)</string>
11
- <key>CFBundleIdentifier</key>
12
- <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
13
- <key>CFBundleInfoDictionaryVersion</key>
14
- <string>6.0</string>
15
- <key>CFBundleName</key>
16
- <string>$(PRODUCT_NAME)</string>
17
- <key>CFBundlePackageType</key>
18
- <string>APPL</string>
19
- <key>CFBundleShortVersionString</key>
20
- <string>1.0</string>
21
- <key>CFBundleSignature</key>
22
- <string>????</string>
23
- <key>CFBundleVersion</key>
24
- <string>1</string>
25
- <key>LSRequiresIPhoneOS</key>
26
- <true/>
27
- <key>NSAppTransportSecurity</key>
28
- <dict>
29
- <key>NSAllowsArbitraryLoads</key>
30
- <true/>
31
- <key>NSExceptionDomains</key>
32
- <dict>
33
- <key>localhost</key>
34
- <dict>
35
- <key>NSExceptionAllowsInsecureHTTPLoads</key>
36
- <true/>
37
- </dict>
38
- </dict>
39
- </dict>
40
- <key>NSLocationWhenInUseUsageDescription</key>
41
- <string></string>
42
- <key>UILaunchStoryboardName</key>
43
- <string>LaunchScreen</string>
44
- <key>UIRequiredDeviceCapabilities</key>
45
- <array>
46
- <string>armv7</string>
47
- </array>
48
- <key>UISupportedInterfaceOrientations</key>
49
- <array>
50
- <string>UIInterfaceOrientationPortrait</string>
51
- <string>UIInterfaceOrientationLandscapeLeft</string>
52
- <string>UIInterfaceOrientationLandscapeRight</string>
53
- </array>
54
- <key>UIViewControllerBasedStatusBarAppearance</key>
55
- <false/>
56
- </dict>
57
- </plist>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>CFBundleDevelopmentRegion</key>
6
+ <string>en</string>
7
+ <key>CFBundleDisplayName</key>
8
+ <string>HediaRecommendationScreen</string>
9
+ <key>CFBundleExecutable</key>
10
+ <string>$(EXECUTABLE_NAME)</string>
11
+ <key>CFBundleIdentifier</key>
12
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
13
+ <key>CFBundleInfoDictionaryVersion</key>
14
+ <string>6.0</string>
15
+ <key>CFBundleName</key>
16
+ <string>$(PRODUCT_NAME)</string>
17
+ <key>CFBundlePackageType</key>
18
+ <string>APPL</string>
19
+ <key>CFBundleShortVersionString</key>
20
+ <string>1.0</string>
21
+ <key>CFBundleSignature</key>
22
+ <string>????</string>
23
+ <key>CFBundleVersion</key>
24
+ <string>1</string>
25
+ <key>LSRequiresIPhoneOS</key>
26
+ <true/>
27
+ <key>NSAppTransportSecurity</key>
28
+ <dict>
29
+ <key>NSAllowsArbitraryLoads</key>
30
+ <true/>
31
+ <key>NSExceptionDomains</key>
32
+ <dict>
33
+ <key>localhost</key>
34
+ <dict>
35
+ <key>NSExceptionAllowsInsecureHTTPLoads</key>
36
+ <true/>
37
+ </dict>
38
+ </dict>
39
+ </dict>
40
+ <key>NSLocationWhenInUseUsageDescription</key>
41
+ <string/>
42
+ <key>UILaunchStoryboardName</key>
43
+ <string>LaunchScreen</string>
44
+ <key>UIRequiredDeviceCapabilities</key>
45
+ <array>
46
+ <string>armv7</string>
47
+ </array>
48
+ <key>UISupportedInterfaceOrientations</key>
49
+ <array>
50
+ <string>UIInterfaceOrientationPortrait</string>
51
+ <string>UIInterfaceOrientationLandscapeLeft</string>
52
+ <string>UIInterfaceOrientationLandscapeRight</string>
53
+ </array>
54
+ <key>UIAppFonts</key>
55
+ <array>
56
+ <string>AntDesign.ttf</string>
57
+ <string>Entypo.ttf</string>
58
+ <string>EvilIcons.ttf</string>
59
+ <string>Feather.ttf</string>
60
+ <string>FontAwesome.ttf</string>
61
+ <string>FontAwesome5_Brands.ttf</string>
62
+ <string>FontAwesome5_Regular.ttf</string>
63
+ <string>FontAwesome5_Solid.ttf</string>
64
+ <string>Fontisto.ttf</string>
65
+ <string>Foundation.ttf</string>
66
+ <string>Ionicons.ttf</string>
67
+ <string>MaterialCommunityIcons.ttf</string>
68
+ <string>MaterialIcons.ttf</string>
69
+ <string>Octicons.ttf</string>
70
+ <string>SimpleLineIcons.ttf</string>
71
+ <string>Zocial.ttf</string>
72
+ </array>
73
+ <key>UIStatusBarStyle</key>
74
+ <string>UIStatusBarStyleLightContent</string>
75
+ <key>UIUserInterfaceStyle</key>
76
+ <string>Light</string>
77
+ <key>UIViewControllerBasedStatusBarAppearance</key>
78
+ <false/>
79
+ </dict>
80
+ </plist>