@hedia/recommendation-screen 1.0.0 → 1.0.2

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/Changelog.md +8 -4
  2. package/README.md +3 -3
  3. package/android/app/BUCK +55 -55
  4. package/android/app/build.gradle +225 -225
  5. package/android/app/build_defs.bzl +19 -19
  6. package/android/app/debug.keystore +0 -0
  7. package/android/app/proguard-rules.pro +10 -10
  8. package/android/app/src/debug/AndroidManifest.xml +8 -8
  9. package/android/app/src/debug/java/com/hediarecommendationscreen/ReactNativeFlipper.java +72 -72
  10. package/android/app/src/main/AndroidManifest.xml +27 -27
  11. package/android/app/src/main/java/com/hediarecommendationscreen/MainActivity.java +15 -15
  12. package/android/app/src/main/java/com/hediarecommendationscreen/MainApplication.java +80 -80
  13. package/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  14. package/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  15. package/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  16. package/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  17. package/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  18. package/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  19. package/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  20. package/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  21. package/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  22. package/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  23. package/android/app/src/main/res/values/strings.xml +3 -3
  24. package/android/app/src/main/res/values/styles.xml +9 -9
  25. package/android/build.gradle +38 -38
  26. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  27. package/android/gradle/wrapper/gradle-wrapper.properties +5 -5
  28. package/android/gradle.properties +28 -28
  29. package/android/gradlew +188 -188
  30. package/android/gradlew.bat +0 -0
  31. package/android/settings.gradle +3 -3
  32. package/index.ts +0 -0
  33. package/ios/HediaRecommendationScreen/AppDelegate.h +8 -8
  34. package/ios/HediaRecommendationScreen/AppDelegate.m +58 -58
  35. package/ios/HediaRecommendationScreen/Base.lproj/LaunchScreen.xib +42 -42
  36. package/ios/HediaRecommendationScreen/Images.xcassets/AppIcon.appiconset/Contents.json +37 -37
  37. package/ios/HediaRecommendationScreen/Images.xcassets/Contents.json +6 -6
  38. package/ios/HediaRecommendationScreen/Info.plist +57 -57
  39. package/ios/HediaRecommendationScreen/main.m +9 -9
  40. package/ios/HediaRecommendationScreen-tvOS/Info.plist +53 -53
  41. package/ios/HediaRecommendationScreen-tvOSTests/Info.plist +24 -24
  42. package/ios/HediaRecommendationScreen.xcodeproj/project.pbxproj +807 -807
  43. package/ios/HediaRecommendationScreen.xcodeproj/xcshareddata/xcschemes/HediaRecommendationScreen-tvOS.xcscheme +88 -88
  44. package/ios/HediaRecommendationScreen.xcodeproj/xcshareddata/xcschemes/HediaRecommendationScreen.xcscheme +88 -88
  45. package/ios/HediaRecommendationScreenTests/HediaRecommendationScreenTests.m +65 -65
  46. package/ios/HediaRecommendationScreenTests/Info.plist +24 -24
  47. package/ios/Podfile +104 -104
  48. package/package.json +8 -12
  49. package/src/RecommendationScreen.tsx +3 -4
  50. package/src/assets/happy.png +0 -0
  51. package/src/assets/happy_active.png +0 -0
  52. package/src/assets/neutral.png +0 -0
  53. package/src/assets/neutral_active.png +0 -0
  54. package/src/assets/sad.png +0 -0
  55. package/src/assets/sad_active.png +0 -0
  56. package/src/assets/semi_happy.png +0 -0
  57. package/src/assets/semi_happy_active.png +0 -0
  58. package/src/assets/semi_sad.png +0 -0
  59. package/src/assets/semi_sad_active.png +0 -0
  60. package/src/components/Emotion.tsx +1 -2
  61. package/src/components/Header.tsx +1 -2
  62. package/src/components/Icon.js +41 -41
  63. package/src/components/InfoBars.tsx +0 -0
  64. package/src/components/InvisibleNumberInput.tsx +0 -0
  65. package/src/components/MoodIcon.tsx +0 -0
  66. package/src/components/RecentInsulin.tsx +4 -5
  67. package/src/components/RecommendedCarbs.tsx +8 -9
  68. package/src/components/RecommendedInsulin.tsx +2 -3
  69. package/src/components/Remeasure.tsx +3 -4
  70. package/src/components/TransferToLogbook.tsx +2 -3
  71. package/src/locale/da/messages.js +1 -1
  72. package/src/locale/da/messages.po +31 -29
  73. package/src/locale/en/messages.js +1 -1
  74. package/src/locale/en/messages.po +32 -30
  75. package/src/locale/i18nUtils.ts +0 -0
  76. package/src/types/enum.ts +0 -0
  77. package/src/types/types.ts +0 -0
  78. package/src/utils/Constants.ts +0 -0
  79. package/src/utils/RecommendationError.ts +4 -6
  80. package/src/utils/Utils.ts +0 -0
  81. package/.prettierignore +0 -2
  82. package/index-git.sh +0 -5
  83. package/index.d.ts +0 -5
  84. package/index.js +0 -16
  85. package/src/RecommendationScreen.d.ts +0 -42
  86. package/src/RecommendationScreen.js +0 -142
  87. package/src/components/Emotion.d.ts +0 -14
  88. package/src/components/Emotion.js +0 -55
  89. package/src/components/Header.d.ts +0 -52
  90. package/src/components/Header.js +0 -83
  91. package/src/components/InfoBars.d.ts +0 -67
  92. package/src/components/InfoBars.js +0 -89
  93. package/src/components/InvisibleNumberInput.d.ts +0 -24
  94. package/src/components/InvisibleNumberInput.js +0 -64
  95. package/src/components/MoodIcon.d.ts +0 -14
  96. package/src/components/MoodIcon.js +0 -53
  97. package/src/components/RecentInsulin.d.ts +0 -9
  98. package/src/components/RecentInsulin.js +0 -91
  99. package/src/components/RecommendedCarbs.d.ts +0 -30
  100. package/src/components/RecommendedCarbs.js +0 -193
  101. package/src/components/RecommendedInsulin.d.ts +0 -22
  102. package/src/components/RecommendedInsulin.js +0 -110
  103. package/src/components/Remeasure.d.ts +0 -13
  104. package/src/components/Remeasure.js +0 -89
  105. package/src/components/TransferToLogbook.d.ts +0 -14
  106. package/src/components/TransferToLogbook.js +0 -81
  107. package/src/locale/i18nUtils.d.ts +0 -5
  108. package/src/locale/i18nUtils.js +0 -22
  109. package/src/types/enum.d.ts +0 -26
  110. package/src/types/enum.js +0 -34
  111. package/src/types/types.d.ts +0 -21
  112. package/src/types/types.js +0 -2
  113. package/src/utils/Constants.d.ts +0 -3
  114. package/src/utils/Constants.js +0 -6
  115. package/src/utils/RecommendationError.d.ts +0 -9
  116. package/src/utils/RecommendationError.js +0 -17
  117. package/src/utils/Utils.d.ts +0 -5
  118. package/src/utils/Utils.js +0 -24
@@ -1,52 +0,0 @@
1
- import React from "react";
2
- import { IRecommendationProps } from "../RecommendationScreen";
3
- interface IProps {
4
- exitCallback: IRecommendationProps["exitCallback"];
5
- }
6
- interface IState {
7
- hello: string;
8
- }
9
- export default class Header extends React.Component<IProps, IState> {
10
- state: IState;
11
- render(): JSX.Element;
12
- }
13
- export declare const headerStyles: {
14
- backgroundColour: {
15
- backgroundColor: string;
16
- };
17
- margin: {
18
- margin: string;
19
- flexDirection: "row";
20
- flex: number;
21
- };
22
- headerContainer: {
23
- flexDirection: "row";
24
- flex: number;
25
- };
26
- exitButtonContainer: {
27
- flex: number;
28
- };
29
- exitButton: {
30
- flex: number;
31
- };
32
- iconStyle: {
33
- fontSize: number;
34
- color: string;
35
- };
36
- headerTextContainer: {
37
- flex: number;
38
- justifyContent: "center";
39
- alignItems: "center";
40
- marginTop: string;
41
- };
42
- headerText: {
43
- fontSize: number;
44
- fontWeight: "bold";
45
- textAlign: "center";
46
- color: string;
47
- };
48
- headerFiller: {
49
- flex: number;
50
- };
51
- };
52
- export {};
@@ -1,83 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.headerStyles = void 0;
7
- const macro_1 = require("@lingui/macro");
8
- const react_1 = __importDefault(require("react"));
9
- const react_native_1 = require("react-native");
10
- const i18nUtils_1 = require("../locale/i18nUtils");
11
- const Constants_1 = require("../utils/Constants");
12
- const Icon_1 = __importDefault(require("./Icon"));
13
- class Header extends react_1.default.Component {
14
- constructor() {
15
- super(...arguments);
16
- this.state = {
17
- hello: `World`,
18
- };
19
- }
20
- render() {
21
- return (<react_1.default.Fragment>
22
- <react_native_1.SafeAreaView style={exports.headerStyles.backgroundColour}/>
23
- <react_native_1.View style={exports.headerStyles.headerContainer}>
24
- <react_native_1.View style={exports.headerStyles.margin}>
25
- <react_native_1.View style={exports.headerStyles.exitButtonContainer}>
26
- <react_native_1.View style={exports.headerStyles.exitButton}>
27
- <react_native_1.TouchableOpacity accessibilityLabel="exitButton" style={exports.headerStyles.exitButton} onPress={this.props.exitCallback}>
28
- <Icon_1.default iconIdentifier={`Ionicons/ios-close-circle-outline`} style={exports.headerStyles.iconStyle}/>
29
- </react_native_1.TouchableOpacity>
30
- <react_native_1.View style={exports.headerStyles.headerFiller}/>
31
- </react_native_1.View>
32
- </react_native_1.View>
33
- <react_native_1.View style={exports.headerStyles.headerTextContainer}>
34
- <react_native_1.Text style={exports.headerStyles.headerText} testID="headerText">
35
- {i18nUtils_1.i18n._(macro_1.t `INSULIN\nRECOMMENDATION`)}
36
- </react_native_1.Text>
37
- </react_native_1.View>
38
- <react_native_1.View style={exports.headerStyles.headerFiller}/>
39
- </react_native_1.View>
40
- </react_native_1.View>
41
- </react_1.default.Fragment>);
42
- }
43
- }
44
- exports.default = Header;
45
- exports.headerStyles = react_native_1.StyleSheet.create({
46
- backgroundColour: {
47
- backgroundColor: Constants_1.BACKGROUND_COLOUR_PURPLE,
48
- },
49
- margin: {
50
- margin: `3%`,
51
- flexDirection: `row`,
52
- flex: 1,
53
- },
54
- headerContainer: {
55
- flexDirection: `row`,
56
- flex: 1,
57
- },
58
- exitButtonContainer: {
59
- flex: 1,
60
- },
61
- exitButton: {
62
- flex: 1,
63
- },
64
- iconStyle: {
65
- fontSize: react_native_1.Dimensions.get(`screen`).width / 10,
66
- color: Constants_1.BORDER_COLOUR_WHITE,
67
- },
68
- headerTextContainer: {
69
- flex: 5,
70
- justifyContent: `center`,
71
- alignItems: `center`,
72
- marginTop: `5%`,
73
- },
74
- headerText: {
75
- fontSize: react_native_1.Dimensions.get(`screen`).width / 14,
76
- fontWeight: `bold`,
77
- textAlign: `center`,
78
- color: `white`,
79
- },
80
- headerFiller: {
81
- flex: 1,
82
- },
83
- });
@@ -1,67 +0,0 @@
1
- import React from "react";
2
- export interface IProps {
3
- label: string;
4
- value?: string;
5
- units: string;
6
- showZeroAsDash: boolean;
7
- }
8
- export default class InfoBars extends React.Component<IProps> {
9
- render(): JSX.Element;
10
- }
11
- export declare const infoStyles: {
12
- container: {
13
- flex: number;
14
- };
15
- margin: {
16
- flex: number;
17
- margin: string;
18
- marginBottom: number;
19
- };
20
- border: {
21
- borderWidth: number;
22
- borderColor: string;
23
- borderRadius: number;
24
- };
25
- borderContainer: {
26
- flex: number;
27
- flexDirection: "row";
28
- justifyContent: "space-between";
29
- paddingLeft: string;
30
- paddingRight: string;
31
- };
32
- labelContainer: {
33
- flex: number;
34
- justifyContent: "center";
35
- };
36
- label: {
37
- color: string;
38
- fontSize: number;
39
- fontWeight: "bold";
40
- };
41
- valueUnitContainer: {
42
- flex: number;
43
- justifyContent: "flex-end";
44
- flexDirection: "row";
45
- };
46
- valueContainer: {
47
- flex: number;
48
- justifyContent: "flex-end";
49
- };
50
- value: {
51
- color: string;
52
- fontSize: number;
53
- fontWeight: "bold";
54
- textAlign: "right";
55
- };
56
- unitContainer: {
57
- flex: number;
58
- justifyContent: "flex-end";
59
- paddingBottom: string;
60
- };
61
- units: {
62
- color: string;
63
- fontSize: number;
64
- textAlign: "left";
65
- paddingLeft: string;
66
- };
67
- };
@@ -1,89 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.infoStyles = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const react_native_1 = require("react-native");
9
- const Constants_1 = require("../utils/Constants");
10
- const Header_1 = require("./Header");
11
- class InfoBars extends react_1.default.Component {
12
- render() {
13
- return (<react_native_1.View style={exports.infoStyles.container}>
14
- <react_native_1.View style={exports.infoStyles.margin}>
15
- <react_native_1.View style={exports.infoStyles.border}>
16
- <react_native_1.View style={exports.infoStyles.borderContainer}>
17
- <react_native_1.View style={exports.infoStyles.labelContainer}>
18
- <react_native_1.Text style={exports.infoStyles.label}>{this.props.label}</react_native_1.Text>
19
- </react_native_1.View>
20
- <react_native_1.View style={exports.infoStyles.valueUnitContainer}>
21
- <react_native_1.View style={exports.infoStyles.valueContainer}>
22
- <react_native_1.Text style={exports.infoStyles.value}>{this.props.value ? this.props.value : `-.-`}</react_native_1.Text>
23
- </react_native_1.View>
24
- <react_native_1.View style={exports.infoStyles.unitContainer}>
25
- <react_native_1.Text style={exports.infoStyles.units}>{this.props.units}</react_native_1.Text>
26
- </react_native_1.View>
27
- </react_native_1.View>
28
- </react_native_1.View>
29
- </react_native_1.View>
30
- </react_native_1.View>
31
- </react_native_1.View>);
32
- }
33
- }
34
- exports.default = InfoBars;
35
- exports.infoStyles = react_native_1.StyleSheet.create({
36
- container: { flex: 1 },
37
- margin: {
38
- flex: 1,
39
- margin: Header_1.headerStyles.margin.margin,
40
- marginBottom: 0,
41
- },
42
- border: {
43
- borderWidth: 2,
44
- borderColor: Constants_1.BORDER_COLOUR_WHITE,
45
- borderRadius: 5,
46
- },
47
- borderContainer: {
48
- flex: 1,
49
- flexDirection: `row`,
50
- justifyContent: `space-between`,
51
- paddingLeft: `3%`,
52
- paddingRight: `3%`,
53
- },
54
- labelContainer: {
55
- flex: 7,
56
- justifyContent: `center`,
57
- },
58
- label: {
59
- color: `white`,
60
- fontSize: react_native_1.Dimensions.get(`screen`).width / 22,
61
- fontWeight: `bold`,
62
- },
63
- valueUnitContainer: {
64
- flex: 4,
65
- justifyContent: `flex-end`,
66
- flexDirection: `row`,
67
- },
68
- valueContainer: {
69
- flex: 1,
70
- justifyContent: `flex-end`,
71
- },
72
- value: {
73
- color: `white`,
74
- fontSize: react_native_1.Dimensions.get(`screen`).width / 16,
75
- fontWeight: `bold`,
76
- textAlign: `right`,
77
- },
78
- unitContainer: {
79
- flex: 1,
80
- justifyContent: `flex-end`,
81
- paddingBottom: `3%`,
82
- },
83
- units: {
84
- color: `white`,
85
- fontSize: react_native_1.Dimensions.get(`screen`).width / 30,
86
- textAlign: `left`,
87
- paddingLeft: `5%`,
88
- },
89
- });
@@ -1,24 +0,0 @@
1
- import React from "react";
2
- import { TextInput } from "react-native";
3
- interface IProps {
4
- startValue?: string;
5
- decimalPlaces: number;
6
- cleanPartialInput: boolean;
7
- negativeAllowed: boolean;
8
- visible(toggle: () => void): void;
9
- onEnd?(value: number): void;
10
- partialInput?(value: string): void;
11
- }
12
- interface IState {
13
- value: string;
14
- }
15
- export default class InvisibleNumberInput extends React.Component<IProps, IState> {
16
- textInput: TextInput;
17
- state: IState;
18
- componentDidMount(): void;
19
- cleanInput: (text: string) => string;
20
- handleOnChangeText: (text: string) => void;
21
- onEndEdit: () => void;
22
- render(): JSX.Element;
23
- }
24
- export {};
@@ -1,64 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const react_native_1 = require("react-native");
8
- class InvisibleNumberInput extends react_1.default.Component {
9
- constructor() {
10
- super(...arguments);
11
- this.state = {
12
- value: `0`,
13
- };
14
- this.cleanInput = (text) => {
15
- const replaced = text.replace(/\,/g, `.`).replace(/(\d*\.\d*).*/, `$1`);
16
- const round = (value) => {
17
- const temp = Number(value) * Math.pow(10, this.props.decimalPlaces);
18
- const rounded = Math.round(temp) / Math.pow(10, this.props.decimalPlaces);
19
- if (this.props.negativeAllowed) {
20
- return rounded.toFixed(this.props.decimalPlaces);
21
- }
22
- return Math.abs(rounded).toFixed(this.props.decimalPlaces);
23
- };
24
- if (!isNaN(Number(replaced))) {
25
- return round(replaced);
26
- }
27
- return `0`;
28
- };
29
- this.handleOnChangeText = (text) => {
30
- const cleaned = this.props.cleanPartialInput ? this.cleanInput(text) : text.replace(/\,/g, `.`);
31
- const replacedSeperator = cleaned.replace(/\.+/g, `.`);
32
- this.setState({
33
- value: `${replacedSeperator}`,
34
- });
35
- this.props.partialInput?.(`${replacedSeperator}`);
36
- };
37
- this.onEndEdit = () => {
38
- const cleaned = this.cleanInput(this.state.value);
39
- this.props.onEnd?.(Number(cleaned));
40
- };
41
- }
42
- componentDidMount() {
43
- this.setState({
44
- value: this.props.startValue ?? `0`,
45
- });
46
- this.props.visible(() => {
47
- this.setState({
48
- value: this.props.startValue ?? `0`,
49
- });
50
- return this.textInput.focus();
51
- });
52
- }
53
- render() {
54
- return (<react_native_1.TextInput accessibilityLabel="InvisibleNumberInput" value={`${this.state.value}`} ref={(textInput) => (this.textInput = textInput)} style={inputStyles.textInput} keyboardType="numeric" onChangeText={this.handleOnChangeText} onEndEditing={this.onEndEdit}/>);
55
- }
56
- }
57
- exports.default = InvisibleNumberInput;
58
- const inputStyles = react_native_1.StyleSheet.create({
59
- textInput: {
60
- width: 0,
61
- height: 0,
62
- padding: 0.2,
63
- },
64
- });
@@ -1,14 +0,0 @@
1
- import React from "react";
2
- import { ImageURISource } from "react-native";
3
- import { MoodEnum } from "../types/enum";
4
- interface IProps {
5
- mood: MoodEnum;
6
- active: boolean;
7
- onPress(toggle: boolean): void;
8
- }
9
- export default class MoodIcon extends React.Component<IProps> {
10
- getMoodIcon: () => ImageURISource;
11
- handleOnPress: () => void;
12
- render(): JSX.Element;
13
- }
14
- export {};
@@ -1,53 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const react_native_1 = require("react-native");
8
- const enum_1 = require("../types/enum");
9
- const moods_inactive = {
10
- 1: require(`../assets/sad.png`),
11
- 2: require(`../assets/semi_sad.png`),
12
- 3: require(`../assets/neutral.png`),
13
- 4: require(`../assets/semi_happy.png`),
14
- 5: require(`../assets/happy.png`),
15
- };
16
- const moods_active = {
17
- 1: require(`../assets/sad_active.png`),
18
- 2: require(`../assets/semi_sad_active.png`),
19
- 3: require(`../assets/neutral_active.png`),
20
- 4: require(`../assets/semi_happy_active.png`),
21
- 5: require(`../assets/happy_active.png`),
22
- };
23
- class MoodIcon extends react_1.default.Component {
24
- constructor() {
25
- super(...arguments);
26
- this.getMoodIcon = () => {
27
- if (this.props.active) {
28
- return moods_active[this.props.mood];
29
- }
30
- return moods_inactive[this.props.mood];
31
- };
32
- this.handleOnPress = () => {
33
- this.props.onPress(!this.props.active);
34
- };
35
- }
36
- render() {
37
- const { mood, active } = this.props;
38
- const label = `${enum_1.MoodEnum[mood]}_${active}`;
39
- return (<react_native_1.TouchableOpacity style={moodIconStyles.container} onPress={this.handleOnPress} accessibilityLabel={label}>
40
- <react_native_1.Image style={moodIconStyles.icon} source={this.getMoodIcon()}/>
41
- </react_native_1.TouchableOpacity>);
42
- }
43
- }
44
- exports.default = MoodIcon;
45
- const moodIconStyles = react_native_1.StyleSheet.create({
46
- container: {
47
- marginHorizontal: `1%`,
48
- },
49
- icon: {
50
- width: react_native_1.Dimensions.get(`screen`).width / 8,
51
- height: react_native_1.Dimensions.get(`screen`).width / 8,
52
- },
53
- });
@@ -1,9 +0,0 @@
1
- import React from "react";
2
- interface IProps {
3
- onRecentInsulinYes(): void;
4
- onRecentInsulinNo(): void;
5
- }
6
- export default class RecentInsulin extends React.Component<IProps> {
7
- render: () => JSX.Element;
8
- }
9
- export {};
@@ -1,91 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const macro_1 = require("@lingui/macro");
7
- const react_1 = __importDefault(require("react"));
8
- const react_native_1 = require("react-native");
9
- const i18nUtils_1 = require("../locale/i18nUtils");
10
- const InfoBars_1 = require("./InfoBars");
11
- class RecentInsulin extends react_1.default.Component {
12
- constructor() {
13
- super(...arguments);
14
- this.render = () => {
15
- return (<react_native_1.View style={recentInsulinStyles.container}>
16
- <react_native_1.View style={recentInsulinStyles.titleContainer}>
17
- <react_native_1.Text style={recentInsulinStyles.recommended}>{i18nUtils_1.i18n._(macro_1.t `Recommended amount of insulin`)}</react_native_1.Text>
18
- </react_native_1.View>
19
- <react_native_1.View style={recentInsulinStyles.takenInsulinContainer}>
20
- <react_native_1.Text style={recentInsulinStyles.takenInsulin}>
21
- {i18nUtils_1.i18n._(macro_1.t `Have you taken insulin within the last 4 hours?`)}
22
- </react_native_1.Text>
23
- </react_native_1.View>
24
- <react_native_1.View style={recentInsulinStyles.buttonContainer}>
25
- <react_native_1.View style={recentInsulinStyles.filler}/>
26
- <react_native_1.TouchableOpacity onPress={this.props.onRecentInsulinYes} style={[recentInsulinStyles.yesNoContainer, { marginRight: `2%` }]}>
27
- <react_native_1.Text style={recentInsulinStyles.yesNoText}>{i18nUtils_1.i18n._(macro_1.t `Yes`)}</react_native_1.Text>
28
- </react_native_1.TouchableOpacity>
29
- <react_native_1.TouchableOpacity onPress={this.props.onRecentInsulinNo} style={[recentInsulinStyles.yesNoContainer, { marginLeft: `2%` }]}>
30
- <react_native_1.Text style={recentInsulinStyles.yesNoText}>{i18nUtils_1.i18n._(macro_1.t `No`)}</react_native_1.Text>
31
- </react_native_1.TouchableOpacity>
32
- <react_native_1.View style={recentInsulinStyles.filler}/>
33
- </react_native_1.View>
34
- </react_native_1.View>);
35
- };
36
- }
37
- }
38
- exports.default = RecentInsulin;
39
- const recentInsulinStyles = react_native_1.StyleSheet.create({
40
- container: {
41
- ...InfoBars_1.infoStyles.margin,
42
- backgroundColor: `rgba(118, 82, 255, 0.5)`,
43
- borderRadius: 5,
44
- },
45
- titleContainer: {
46
- flex: 1,
47
- justifyContent: `center`,
48
- alignItems: `center`,
49
- marginTop: `4%`,
50
- marginBottom: `4%`,
51
- },
52
- recommended: {
53
- ...InfoBars_1.infoStyles.label,
54
- },
55
- takenInsulinContainer: {
56
- flex: 1,
57
- justifyContent: `center`,
58
- alignItems: `center`,
59
- marginTop: `2%`,
60
- },
61
- takenInsulin: {
62
- ...InfoBars_1.infoStyles.label,
63
- fontSize: react_native_1.Dimensions.get(`screen`).width / 27,
64
- },
65
- buttonContainer: {
66
- flex: 1,
67
- flexDirection: `row`,
68
- justifyContent: `space-evenly`,
69
- marginTop: `4%`,
70
- marginBottom: `5%`,
71
- },
72
- yesNoContainer: {
73
- flex: 1,
74
- borderColor: `white`,
75
- borderRadius: 100,
76
- borderWidth: 2,
77
- paddingHorizontal: `2%`,
78
- paddingVertical: `1%`,
79
- },
80
- yesNoText: {
81
- textAlign: `center`,
82
- paddingTop: `1%`,
83
- paddingBottom: `1%`,
84
- color: `white`,
85
- fontSize: react_native_1.Dimensions.get(`screen`).width / 25,
86
- fontWeight: `bold`,
87
- },
88
- filler: {
89
- flex: 1,
90
- },
91
- });
@@ -1,30 +0,0 @@
1
- import React from "react";
2
- import { RecommendationError } from "../utils/RecommendationError";
3
- interface ICalculationRow {
4
- label: string;
5
- info: string;
6
- value: string;
7
- units: string;
8
- }
9
- interface IProps {
10
- recommendedCarbs?: string;
11
- enteredCarbs: string;
12
- removeRecommendedCarbs(): void;
13
- changedRecommendedCarbs(value: number): void;
14
- onError(error: RecommendationError): void;
15
- }
16
- interface IState {
17
- remeasureTime: number;
18
- partialInput: string;
19
- }
20
- export default class RecommendedCarbs extends React.Component<IProps, IState> {
21
- state: IState;
22
- callbackInput: () => void;
23
- showTextInput: () => void;
24
- handlePartialInput: (partialInput: string) => void;
25
- handleChangedCarbs: (carbs: number) => void;
26
- renderRecommendedCarbs: () => JSX.Element;
27
- renderRow: (row: ICalculationRow) => JSX.Element;
28
- render(): JSX.Element;
29
- }
30
- export {};