Commit 06f24f6b authored by Phuengton Chummuel's avatar Phuengton Chummuel

...

parent 6c0762d0
...@@ -137,6 +137,7 @@ android { ...@@ -137,6 +137,7 @@ android {
} }
dependencies { dependencies {
compile project(':react-native-device-info')
compile project(':react-native-picker') compile project(':react-native-picker')
compile project(':realm') compile project(':realm')
compile project(':react-native-push-notification') compile project(':react-native-push-notification')
......
...@@ -3,6 +3,7 @@ package com.pillminder; ...@@ -3,6 +3,7 @@ package com.pillminder;
import android.app.Application; import android.app.Application;
import com.facebook.react.ReactApplication; import com.facebook.react.ReactApplication;
import com.learnium.RNDeviceInfo.RNDeviceInfo;
import com.beefe.picker.PickerViewPackage; import com.beefe.picker.PickerViewPackage;
import io.realm.react.RealmReactPackage; import io.realm.react.RealmReactPackage;
import com.dieam.reactnativepushnotification.ReactNativePushNotificationPackage; import com.dieam.reactnativepushnotification.ReactNativePushNotificationPackage;
...@@ -27,6 +28,7 @@ public class MainApplication extends Application implements ReactApplication { ...@@ -27,6 +28,7 @@ public class MainApplication extends Application implements ReactApplication {
protected List<ReactPackage> getPackages() { protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList( return Arrays.<ReactPackage>asList(
new MainReactPackage(), new MainReactPackage(),
new RNDeviceInfo(),
new PickerViewPackage(), new PickerViewPackage(),
new RealmReactPackage(), new RealmReactPackage(),
new ReactNativePushNotificationPackage(), new ReactNativePushNotificationPackage(),
......
rootProject.name = 'PillMinder' rootProject.name = 'PillMinder'
include ':react-native-device-info'
project(':react-native-device-info').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-device-info/android')
include ':react-native-picker' include ':react-native-picker'
project(':react-native-picker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-picker/android') project(':react-native-picker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-picker/android')
include ':realm' include ':realm'
......
...@@ -62,6 +62,8 @@ ...@@ -62,6 +62,8 @@
3E4551D5ECD34C78B5CA9466 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 83B233663AAC4D56B48CE593 /* libc++.tbd */; }; 3E4551D5ECD34C78B5CA9466 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 83B233663AAC4D56B48CE593 /* libc++.tbd */; };
EC83982BEE5B40FE8C6A1CBF /* libRNCamera.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E75D49961054457590A5CFEF /* libRNCamera.a */; }; EC83982BEE5B40FE8C6A1CBF /* libRNCamera.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E75D49961054457590A5CFEF /* libRNCamera.a */; };
8E168B3CFE9A490CB89C0114 /* libRCTBEEPickerManager.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EE5A4E9780D3422CB7E6E167 /* libRCTBEEPickerManager.a */; }; 8E168B3CFE9A490CB89C0114 /* libRCTBEEPickerManager.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EE5A4E9780D3422CB7E6E167 /* libRCTBEEPickerManager.a */; };
532C6125919B4EE79C2C46A7 /* libRNDeviceInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 93362DE2E9EE4435B9ECCE1A /* libRNDeviceInfo.a */; };
853B865A254B4A6CB5DF1D46 /* libRNDeviceInfo-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 159B6AFCA0DC48029ECA9671 /* libRNDeviceInfo-tvOS.a */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
...@@ -322,6 +324,9 @@ ...@@ -322,6 +324,9 @@
E75D49961054457590A5CFEF /* libRNCamera.a */ = {isa = PBXFileReference; name = "libRNCamera.a"; path = "libRNCamera.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; }; E75D49961054457590A5CFEF /* libRNCamera.a */ = {isa = PBXFileReference; name = "libRNCamera.a"; path = "libRNCamera.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
A8ED09151DE3412BA00A7359 /* RCTBEEPickerManager.xcodeproj */ = {isa = PBXFileReference; name = "RCTBEEPickerManager.xcodeproj"; path = "../node_modules/react-native-picker/ios/RCTBEEPickerManager.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; }; A8ED09151DE3412BA00A7359 /* RCTBEEPickerManager.xcodeproj */ = {isa = PBXFileReference; name = "RCTBEEPickerManager.xcodeproj"; path = "../node_modules/react-native-picker/ios/RCTBEEPickerManager.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
EE5A4E9780D3422CB7E6E167 /* libRCTBEEPickerManager.a */ = {isa = PBXFileReference; name = "libRCTBEEPickerManager.a"; path = "libRCTBEEPickerManager.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; }; EE5A4E9780D3422CB7E6E167 /* libRCTBEEPickerManager.a */ = {isa = PBXFileReference; name = "libRCTBEEPickerManager.a"; path = "libRCTBEEPickerManager.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
AC3B8838799A4A2596926FA2 /* RNDeviceInfo.xcodeproj */ = {isa = PBXFileReference; name = "RNDeviceInfo.xcodeproj"; path = "../node_modules/react-native-device-info/ios/RNDeviceInfo.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
93362DE2E9EE4435B9ECCE1A /* libRNDeviceInfo.a */ = {isa = PBXFileReference; name = "libRNDeviceInfo.a"; path = "libRNDeviceInfo.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
159B6AFCA0DC48029ECA9671 /* libRNDeviceInfo-tvOS.a */ = {isa = PBXFileReference; name = "libRNDeviceInfo-tvOS.a"; path = "libRNDeviceInfo-tvOS.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
...@@ -362,6 +367,8 @@ ...@@ -362,6 +367,8 @@
3E4551D5ECD34C78B5CA9466 /* libc++.tbd in Frameworks */, 3E4551D5ECD34C78B5CA9466 /* libc++.tbd in Frameworks */,
EC83982BEE5B40FE8C6A1CBF /* libRNCamera.a in Frameworks */, EC83982BEE5B40FE8C6A1CBF /* libRNCamera.a in Frameworks */,
8E168B3CFE9A490CB89C0114 /* libRCTBEEPickerManager.a in Frameworks */, 8E168B3CFE9A490CB89C0114 /* libRCTBEEPickerManager.a in Frameworks */,
532C6125919B4EE79C2C46A7 /* libRNDeviceInfo.a in Frameworks */,
853B865A254B4A6CB5DF1D46 /* libRNDeviceInfo-tvOS.a in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
...@@ -537,6 +544,7 @@ ...@@ -537,6 +544,7 @@
2E3477DB564D4B6CB4679C62 /* RealmReact.xcodeproj */, 2E3477DB564D4B6CB4679C62 /* RealmReact.xcodeproj */,
8984A4BE9AA646DFA3628D48 /* RNCamera.xcodeproj */, 8984A4BE9AA646DFA3628D48 /* RNCamera.xcodeproj */,
A8ED09151DE3412BA00A7359 /* RCTBEEPickerManager.xcodeproj */, A8ED09151DE3412BA00A7359 /* RCTBEEPickerManager.xcodeproj */,
AC3B8838799A4A2596926FA2 /* RNDeviceInfo.xcodeproj */,
); );
name = Libraries; name = Libraries;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -1142,6 +1150,8 @@ ...@@ -1142,6 +1150,8 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
); );
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
...@@ -1152,6 +1162,7 @@ ...@@ -1152,6 +1162,7 @@
"$(SRCROOT)/../node_modules/realm/src/**", "$(SRCROOT)/../node_modules/realm/src/**",
"$(SRCROOT)/../node_modules/react-native-camera/ios/**", "$(SRCROOT)/../node_modules/react-native-camera/ios/**",
"$(SRCROOT)/../node_modules/react-native-picker/ios/RCTBEEPickerManager", "$(SRCROOT)/../node_modules/react-native-picker/ios/RCTBEEPickerManager",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
); );
}; };
name = Debug; name = Debug;
...@@ -1179,6 +1190,8 @@ ...@@ -1179,6 +1190,8 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
); );
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
...@@ -1189,6 +1202,7 @@ ...@@ -1189,6 +1202,7 @@
"$(SRCROOT)/../node_modules/realm/src/**", "$(SRCROOT)/../node_modules/realm/src/**",
"$(SRCROOT)/../node_modules/react-native-camera/ios/**", "$(SRCROOT)/../node_modules/react-native-camera/ios/**",
"$(SRCROOT)/../node_modules/react-native-picker/ios/RCTBEEPickerManager", "$(SRCROOT)/../node_modules/react-native-picker/ios/RCTBEEPickerManager",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
); );
}; };
name = Release; name = Release;
...@@ -1217,6 +1231,7 @@ ...@@ -1217,6 +1231,7 @@
"$(SRCROOT)/../node_modules/realm/src/**", "$(SRCROOT)/../node_modules/realm/src/**",
"$(SRCROOT)/../node_modules/react-native-camera/ios/**", "$(SRCROOT)/../node_modules/react-native-camera/ios/**",
"$(SRCROOT)/../node_modules/react-native-picker/ios/RCTBEEPickerManager", "$(SRCROOT)/../node_modules/react-native-picker/ios/RCTBEEPickerManager",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
); );
}; };
name = Debug; name = Debug;
...@@ -1244,6 +1259,7 @@ ...@@ -1244,6 +1259,7 @@
"$(SRCROOT)/../node_modules/realm/src/**", "$(SRCROOT)/../node_modules/realm/src/**",
"$(SRCROOT)/../node_modules/react-native-camera/ios/**", "$(SRCROOT)/../node_modules/react-native-camera/ios/**",
"$(SRCROOT)/../node_modules/react-native-picker/ios/RCTBEEPickerManager", "$(SRCROOT)/../node_modules/react-native-picker/ios/RCTBEEPickerManager",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
); );
}; };
name = Release; name = Release;
...@@ -1280,6 +1296,8 @@ ...@@ -1280,6 +1296,8 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
); );
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
...@@ -1290,6 +1308,7 @@ ...@@ -1290,6 +1308,7 @@
"$(SRCROOT)/../node_modules/realm/src/**", "$(SRCROOT)/../node_modules/realm/src/**",
"$(SRCROOT)/../node_modules/react-native-camera/ios/**", "$(SRCROOT)/../node_modules/react-native-camera/ios/**",
"$(SRCROOT)/../node_modules/react-native-picker/ios/RCTBEEPickerManager", "$(SRCROOT)/../node_modules/react-native-picker/ios/RCTBEEPickerManager",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
); );
}; };
name = Debug; name = Debug;
...@@ -1326,6 +1345,8 @@ ...@@ -1326,6 +1345,8 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
); );
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
...@@ -1336,6 +1357,7 @@ ...@@ -1336,6 +1357,7 @@
"$(SRCROOT)/../node_modules/realm/src/**", "$(SRCROOT)/../node_modules/realm/src/**",
"$(SRCROOT)/../node_modules/react-native-camera/ios/**", "$(SRCROOT)/../node_modules/react-native-camera/ios/**",
"$(SRCROOT)/../node_modules/react-native-picker/ios/RCTBEEPickerManager", "$(SRCROOT)/../node_modules/react-native-picker/ios/RCTBEEPickerManager",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo",
); );
}; };
name = Release; name = Release;
...@@ -1367,6 +1389,8 @@ ...@@ -1367,6 +1389,8 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
); );
}; };
name = Debug; name = Debug;
...@@ -1398,6 +1422,8 @@ ...@@ -1398,6 +1422,8 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
); );
}; };
name = Release; name = Release;
......
...@@ -281,6 +281,15 @@ ...@@ -281,6 +281,15 @@
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
"integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4="
}, },
"axios": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz",
"integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=",
"requires": {
"follow-redirects": "1.5.0",
"is-buffer": "1.1.6"
}
},
"babel-code-frame": { "babel-code-frame": {
"version": "6.26.0", "version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
...@@ -2444,6 +2453,24 @@ ...@@ -2444,6 +2453,24 @@
"locate-path": "2.0.0" "locate-path": "2.0.0"
} }
}, },
"follow-redirects": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz",
"integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==",
"requires": {
"debug": "3.1.0"
},
"dependencies": {
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"requires": {
"ms": "2.0.0"
}
}
}
},
"for-in": { "for-in": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
...@@ -7160,6 +7187,11 @@ ...@@ -7160,6 +7187,11 @@
"moment": "2.20.1" "moment": "2.20.1"
} }
}, },
"react-native-device-info": {
"version": "0.21.5",
"resolved": "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-0.21.5.tgz",
"integrity": "sha512-Bvl7TyVMDbBH3wzvZx0xj3deMhWVRDHdOdjP1MjGVxVVH+bSlCi6oYDScaX2yz5rfi2OvevWWCg8jUqFKeepjA=="
},
"react-native-dismiss-keyboard": { "react-native-dismiss-keyboard": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/react-native-dismiss-keyboard/-/react-native-dismiss-keyboard-1.0.0.tgz", "resolved": "https://registry.npmjs.org/react-native-dismiss-keyboard/-/react-native-dismiss-keyboard-1.0.0.tgz",
......
...@@ -7,12 +7,14 @@ ...@@ -7,12 +7,14 @@
"test": "jest" "test": "jest"
}, },
"dependencies": { "dependencies": {
"axios": "^0.18.0",
"moment": "^2.20.1", "moment": "^2.20.1",
"native-base": "^2.3.3", "native-base": "^2.3.3",
"react": "16.0.0", "react": "16.0.0",
"react-native": "0.50.3", "react-native": "0.50.3",
"react-native-camera": "^1.0.2", "react-native-camera": "^1.0.2",
"react-native-datepicker": "^1.6.0", "react-native-datepicker": "^1.6.0",
"react-native-device-info": "^0.21.5",
"react-native-material-dialog": "^0.7.4", "react-native-material-dialog": "^0.7.4",
"react-native-modal-datetime-picker": "^4.13.0", "react-native-modal-datetime-picker": "^4.13.0",
"react-native-picker": "^4.3.5", "react-native-picker": "^4.3.5",
......
export const MAIN_HOST = 'http://192.168.43.96:8000'; export const MAIN_HOST = 'http://192.168.1.17:8000';
export const IMAGE_TO_TEXT = MAIN_HOST + '/uploadimg' export const IMAGE_TO_TEXT = MAIN_HOST + '/uploadimg'
export const SERVICE_HOST = "http://202.28.49.67/api"
\ No newline at end of file
...@@ -10,6 +10,8 @@ import ReminderDetail from './../screens/ReminderDetail'; ...@@ -10,6 +10,8 @@ import ReminderDetail from './../screens/ReminderDetail';
import AppointmentsScreen from './../screens/AppointmentsScreen'; import AppointmentsScreen from './../screens/AppointmentsScreen';
import MedicationsListScreen from './../screens/MedicationListScreen'; import MedicationsListScreen from './../screens/MedicationListScreen';
import AppointmentsListScreen from './../screens/AppointmentListScreen'; import AppointmentsListScreen from './../screens/AppointmentListScreen';
import SearchMedicineListScreen from './../screens/SearchMedicineListScreen';
import MedicationDetailScreen from './../screens/MedicationDetailScreen'
const HomeNavigator = StackNavigator({ const HomeNavigator = StackNavigator({
Home: { Home: {
...@@ -66,7 +68,16 @@ const AppointmentsNavigator = StackNavigator({ ...@@ -66,7 +68,16 @@ const AppointmentsNavigator = StackNavigator({
headerMode: 'none' headerMode: 'none'
}) })
const SearchMedicationNavigator = StackNavigator({
SearchMedicine: {
screen: SearchMedicineListScreen
},
MedicationDetail: {
screen: MedicationDetailScreen
}
}, {
headerMode: 'none'
})
const RootNavigator = StackNavigator( const RootNavigator = StackNavigator(
{ {
...@@ -84,6 +95,9 @@ const RootNavigator = StackNavigator( ...@@ -84,6 +95,9 @@ const RootNavigator = StackNavigator(
Appointments: { Appointments: {
screen: AppointmentsNavigator, screen: AppointmentsNavigator,
}, },
SearchMedicine: {
screen: SearchMedicationNavigator
},
Settings: { Settings: {
screen: SettingsNavigator, screen: SettingsNavigator,
} }
......
import DeviceInfo from 'react-native-device-info';
import { SERVICE_HOST } from './../ServiceUrl'
import Axios from 'axios';
let baseUrl = SERVICE_HOST
export function signToken() {
return Axios.get(baseUrl + "/token/sign", {
"id": DeviceInfo.getUniqueID()
})
}
export function verifyToken(token) {
return Axios.get(baseUrl + "/token/verify", {
headers: {'api-key': token}
})
}
export function searchMedication(apiKey, queryString) {
return Axios.get(baseUrl + "/drugs/search", {
headers: {'api-key': apiKey},
params: {'input': queryString}
})
}
\ No newline at end of file
...@@ -159,10 +159,6 @@ class AppCamera extends Component { ...@@ -159,10 +159,6 @@ class AppCamera extends Component {
} }
const styles = StyleSheet.create({ const styles = StyleSheet.create({
container: { container: {
flex: 1, flex: 1,
......
...@@ -65,7 +65,7 @@ class HomeScreen extends Component { ...@@ -65,7 +65,7 @@ class HomeScreen extends Component {
<Row> <Row>
<View style={timePeriodLeftStyle} > <View style={timePeriodLeftStyle} >
<ReminderBoxList <ReminderBoxList
periodText={"Morning"} periodText={"เช้า"}
items={this.state.morningReminder} items={this.state.morningReminder}
/> />
</View> </View>
...@@ -73,7 +73,7 @@ class HomeScreen extends Component { ...@@ -73,7 +73,7 @@ class HomeScreen extends Component {
<Row> <Row>
<View style={timePeriodLeftStyle} > <View style={timePeriodLeftStyle} >
<ReminderBoxList <ReminderBoxList
periodText={"Afternoon"} periodText={"กลางวัน"}
items={this.state.afternoonReminder} items={this.state.afternoonReminder}
/> />
</View> </View>
...@@ -83,7 +83,7 @@ class HomeScreen extends Component { ...@@ -83,7 +83,7 @@ class HomeScreen extends Component {
<Row> <Row>
<View style={timePeriodRightStyle} > <View style={timePeriodRightStyle} >
<ReminderBoxList <ReminderBoxList
periodText={"Evening"} periodText={"เย็น"}
items={this.state.eveningReminder} items={this.state.eveningReminder}
/> />
</View> </View>
...@@ -91,7 +91,7 @@ class HomeScreen extends Component { ...@@ -91,7 +91,7 @@ class HomeScreen extends Component {
<Row> <Row>
<View style={timePeriodRightStyle} > <View style={timePeriodRightStyle} >
<ReminderBoxList <ReminderBoxList
periodText={"Night"} periodText={"ค่ำ"}
items={this.state.nightReminder} items={this.state.nightReminder}
/> />
</View> </View>
...@@ -104,14 +104,6 @@ class HomeScreen extends Component { ...@@ -104,14 +104,6 @@ class HomeScreen extends Component {
} }
onHomePressed() {
this.props.navigation.navigate('Home');
}
onCameraPressed() {
this.props.navigation.navigate('Camera');
}
onAddMedicinePressed() { onAddMedicinePressed() {
this.props.navigation.navigate('AddMedication') this.props.navigation.navigate('AddMedication')
} }
...@@ -120,11 +112,6 @@ class HomeScreen extends Component { ...@@ -120,11 +112,6 @@ class HomeScreen extends Component {
this.props.navigation.navigate('DrawerToggle'); this.props.navigation.navigate('DrawerToggle');
} }
_timePeriodPress(data, period) {
// ToastAndroid.show(JSON.stringify(data), ToastAndroid.SHORT)
this.props.navigation.navigate('Detail', { items: data, period: period })
}
_queryReminder() { _queryReminder() {
let myReminder = realm.objects('Reminder') let myReminder = realm.objects('Reminder')
let morningReminder = myReminder.filtered('period == 1') let morningReminder = myReminder.filtered('period == 1')
...@@ -152,11 +139,7 @@ class HomeScreen extends Component { ...@@ -152,11 +139,7 @@ class HomeScreen extends Component {
tmpNight.push(i) tmpNight.push(i)
}) })
this.setState({ morningReminder: tmpMorning, afternoonReminder: tmpAfternoon, eveningReminder: tmpEvening, nightReminder: tmpNight }) this.setState({ morningReminder: tmpMorning, afternoonReminder: tmpAfternoon, eveningReminder: tmpEvening, nightReminder: tmpNight })
// ToastAndroid.show(JSON.stringify(myReminder), ToastAndroid.LONG)
// ToastAndroid.show(JSON.stringify(this.state.morningReminder), ToastAndroid.LONG)
} }
_isFirstLaunched() { _isFirstLaunched() {
......
import React from 'react';
import AppHeader from './../components/Header'
import { Image } from 'react-native'
import { Container, Content, Button, Icon, View, Text, Left, Right } from 'native-base'
import { SERVICE_HOST } from '../ServiceUrl';
class MedicationDetailScreen extends React.Component {
constructor(props) {
super(props)
}
render() {
const { navigation } = this.props;
const { goBack } = navigation
const { detailItem, fontStyle, titleFontStyle } = styles
const medicationData = navigation.state.params.data
return (
<Container>
<AppHeader
headerLeft={
<Button onPress={() => goBack()}>
<Icon name='arrow-back' />
</Button>
}
headerText={medicationData.regno}
/>
<Content style={{ backgroundColor: 'white' }}>
<Image
style={{ flex: 1, height: 250 }}
source={{ uri: "http://202.28.49.67/" + medicationData.dimgpath }}
resizeMode="cover"
/>
<View style={detailItem}>
<Left>
<Text style={titleFontStyle}>ชื่อสามัญทางยา</Text>
</Left>
<Right>
<Text style={fontStyle}>{medicationData.genericname + " " + medicationData.genericnameweight}</Text>
</Right>
</View>
<View style={detailItem}>
<Left>
<Text style={titleFontStyle}>ผู้ผลิต</Text>
</Left>
<Right>
<Text style={fontStyle}>{medicationData.manufacturername == "" ? "-" : medicationData.manufacturername}</Text>
</Right>
</View>
<View style={detailItem}>
<Left>
<Text style={titleFontStyle}>ผู้รับอณุญาต</Text>
</Left>
<Right>
<Text style={fontStyle}>{medicationData.licenseename}</Text>
</Right>
</View>
<View style={detailItem}>
<Left>
<Text style={titleFontStyle}>ผู้จำหน่าย</Text>
</Left>
<Right>
<Text style={fontStyle}>{medicationData.distributorname == "" ? "-" : medicationData.distributorname}</Text>
</Right>
</View>
<View style={detailItem}>
<Left>
<Text style={titleFontStyle}>รูปแบบผลิตภัณท์</Text>
</Left>
<Right>
<Text style={fontStyle}>{medicationData.dtypename}</Text>
</Right>
</View>
<View style={detailItem}>
<Left>
<Text style={titleFontStyle}>รูปร่าง</Text>
</Left>
<Right>
<Text style={fontStyle}>{medicationData.dshapename}</Text>
</Right>
</View>
<View style={detailItem}>
<Left>
<Text style={titleFontStyle}>ประเภทของยา</Text>
</Left>
<Right>
<Text style={fontStyle}>{medicationData.dgroupname}</Text>
</Right>
</View>
<View style={detailItem}>
<Left>
<Text style={titleFontStyle}>ประเภททะเบียนยา</Text>
</Left>
<Right>
<Text style={fontStyle}>{medicationData.drtypename}</Text>
</Right>
</View>
<View style={detailItem}>
<Left>
<Text style={titleFontStyle}>สถานะ</Text>
</Left>
<Right>
<Text style={fontStyle}>{medicationData.dstatusname}</Text>
</Right>
</View>
</Content>
</Container>
)
}
}
const styles = {
detailItem: {
padding: 10,
height: 75,
backgroundColor: 'white',
borderBottomColor: '#EEEEEE',
borderBottomWidth: 0.5
},
titleFontStyle: {
fontWeight: 'bold',
fontFamily: 'sans-serif-light',
fontSize: 18
},
fontStyle: {
fontFamily: 'sans-serif-light',
fontSize: 18
}
}
export default MedicationDetailScreen
\ No newline at end of file
...@@ -100,7 +100,16 @@ class MedicationsScreen extends Component { ...@@ -100,7 +100,16 @@ class MedicationsScreen extends Component {
} }
_addReminder() { _addReminder() {
if (this.state.text === '') {
Alert.alert(
'Alert',
'กรุณากรอกข้อมูลให้ครบ',
[
{ text: 'OK', onPress: () => console.log('OK Pressed') },
],
{ cancelable: false }
)
} else {
let reminder = "" let reminder = ""
if (this.state.morning === true) { if (this.state.morning === true) {
...@@ -127,13 +136,13 @@ class MedicationsScreen extends Component { ...@@ -127,13 +136,13 @@ class MedicationsScreen extends Component {
this.props.navigation.goBack(null) this.props.navigation.goBack(null)
} }
}
_setNotification(hour, minute, period) { _setNotification(hour, minute, period) {
var id = generateID() var id = generateID()
var reminderDate = moment().hour(hour).minute(minute).second(0).toDate() var reminderDate = moment().hour(hour).minute(minute).second(0).toDate()
var beforeMeal = this.state.beforeMeal ? "\tก่อนอาหาร" : "\tหลังอาหาร"; var beforeMeal = this.state.beforeMeal ? "\tก่อนอาหาร" : "\tหลังอาหาร";
// var msg = "แจ้งเตือนกินยา\n" + "เวลา: " + hour + ":" + minute + "\nยา: " + this.state.text + beforeMeal;
// scheduleLocalNotification(msg, reminderDate, id)
return { return {
id: id, id: id,
...@@ -149,7 +158,7 @@ class MedicationsScreen extends Component { ...@@ -149,7 +158,7 @@ class MedicationsScreen extends Component {
render() { render() {
var { goBack } = this.props.navigation var { goBack } = this.props.navigation
var { timeStyle, btnAddNoti } = styles; var { btnAddNoti } = styles;
const dose = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'] const dose = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
...@@ -165,10 +174,10 @@ class MedicationsScreen extends Component { ...@@ -165,10 +174,10 @@ class MedicationsScreen extends Component {
/> />
<Content> <Content>
<MedForm titleText={"Medication Name"}> <MedForm titleText={"ชื่อยา"}>
<Form> <Form>
<Item floatingLabel> <Item floatingLabel>
<Label>medicine or brand name</Label> <Label>ตัวอย่าง Paracetamol</Label>
<Input <Input
onChangeText={(text) => this.setState({ text })} onChangeText={(text) => this.setState({ text })}
/> />
...@@ -176,12 +185,12 @@ class MedicationsScreen extends Component { ...@@ -176,12 +185,12 @@ class MedicationsScreen extends Component {
</Form> </Form>
</MedForm> </MedForm>
<MedForm titleText={"Reminder Times"}> <MedForm titleText={"ช่วงเวลาการแจ้งเตือน"}>
<Content> <Content>
<ListItem onPress={() => this._onReminderTimePresses(1)}> <ListItem onPress={() => this._onReminderTimePresses(1)}>
<Radio selected={this.state.morning} /> <Radio selected={this.state.morning} />
<Body> <Body>
<Text>Morning</Text> <Text>เช้า</Text>
</Body> </Body>
<Right> <Right>
<Text>{this.state.morningTime}</Text> <Text>{this.state.morningTime}</Text>
...@@ -190,7 +199,7 @@ class MedicationsScreen extends Component { ...@@ -190,7 +199,7 @@ class MedicationsScreen extends Component {
<ListItem onPress={() => this._onReminderTimePresses(2)}> <ListItem onPress={() => this._onReminderTimePresses(2)}>
<Radio selected={this.state.afternoon} /> <Radio selected={this.state.afternoon} />
<Body> <Body>
<Text>Afternoon</Text> <Text>กลางวัน</Text>
</Body> </Body>
<Right> <Right>
<Text>{this.state.afternoonTime}</Text> <Text>{this.state.afternoonTime}</Text>
...@@ -199,7 +208,7 @@ class MedicationsScreen extends Component { ...@@ -199,7 +208,7 @@ class MedicationsScreen extends Component {
<ListItem onPress={() => this._onReminderTimePresses(3)}> <ListItem onPress={() => this._onReminderTimePresses(3)}>
<Radio selected={this.state.evening} /> <Radio selected={this.state.evening} />
<Body> <Body>
<Text>Evening</Text> <Text>เย็น</Text>
</Body> </Body>
<Right> <Right>
<Text>{this.state.eveningTime}</Text> <Text>{this.state.eveningTime}</Text>
...@@ -208,7 +217,7 @@ class MedicationsScreen extends Component { ...@@ -208,7 +217,7 @@ class MedicationsScreen extends Component {
<ListItem onPress={() => this._onReminderTimePresses(4)}> <ListItem onPress={() => this._onReminderTimePresses(4)}>
<Radio selected={this.state.night} /> <Radio selected={this.state.night} />
<Body> <Body>
<Text>Night</Text> <Text>ค่ำ</Text>
</Body> </Body>
<Right> <Right>
<Text>{this.state.nightTime}</Text> <Text>{this.state.nightTime}</Text>
...@@ -217,31 +226,31 @@ class MedicationsScreen extends Component { ...@@ -217,31 +226,31 @@ class MedicationsScreen extends Component {
</Content> </Content>
</MedForm> </MedForm>
<MedForm titleText={"Before/After Meal"}> <MedForm titleText={"ก่อน/หลังอาหาร"}>
<Content> <Content>
<ListItem onPress={() => this._setBeforeAfterMeal(1)}> <ListItem onPress={() => this._setBeforeAfterMeal(1)}>
<Radio selected={this.state.beforeMeal} /> <Radio selected={this.state.beforeMeal} />
<Body> <Body>
<Text>Before</Text> <Text>ก่อนอาหาร</Text>
</Body> </Body>
</ListItem> </ListItem>
<ListItem onPress={() => this._setBeforeAfterMeal(2)}> <ListItem onPress={() => this._setBeforeAfterMeal(2)}>
<Radio selected={this.state.afterMeal} /> <Radio selected={this.state.afterMeal} />
<Body> <Body>
<Text>After</Text> <Text>หลังอาหาร</Text>
</Body> </Body>
</ListItem> </ListItem>
</Content> </Content>
</MedForm> </MedForm>
<MedForm titleText={"Dose"}> <MedForm titleText={"จำนวน"}>
<View style={{ padding: 15 }}> <View style={{ padding: 15 }}>
<Button style={{ backgroundColor: 'white' }} onPress={() => this.setState({ singlePickerVisible: true })}> <Button style={{ backgroundColor: 'white' }} onPress={() => this.setState({ singlePickerVisible: true })}>
<Text style={{ color: "#1686C4" }}>{this.state.dose}</Text> <Text style={{ color: "#1686C4" }}>{this.state.dose}</Text>
</Button> </Button>
<SinglePickerMaterialDialog <SinglePickerMaterialDialog
title={'Pick one element!'} title={'เลือกจำนวน'}
scrolled scrolled
items={dose.map((row, index) => ({ value: index, label: row }))} items={dose.map((row, index) => ({ value: index, label: row }))}
visible={this.state.singlePickerVisible} visible={this.state.singlePickerVisible}
...@@ -256,14 +265,9 @@ class MedicationsScreen extends Component { ...@@ -256,14 +265,9 @@ class MedicationsScreen extends Component {
</MedForm> </MedForm>
<Grid> <Grid>
<Col>
<Button full style={btnAddNoti} onPress={() => this._onResetPressed()}>
<Text style={{ color: "#1686C4" }}>Reset</Text>
</Button>
</Col>
<Col> <Col>
<Button full style={btnAddNoti} onPress={() => this._addReminder()}> <Button full style={btnAddNoti} onPress={() => this._addReminder()}>
<Text style={{ color: "#1686C4" }}>Add</Text> <Text style={{ color: "#1686C4" }}>เพิ่ม</Text>
</Button> </Button>
</Col> </Col>
...@@ -289,18 +293,7 @@ class MedicationsScreen extends Component { ...@@ -289,18 +293,7 @@ class MedicationsScreen extends Component {
} }
} }
_onResetPressed() {
realm.write(() => {
let allReminder = realm.objects('Reminder')
realm.delete(allReminder)
})
let myReminder = realm.objects('Reminder')
}
_onReminderTimePresses(pos) { _onReminderTimePresses(pos) {
switch (pos) { switch (pos) {
case 1: case 1:
this.setState({ morning: !this.state.morning }) this.setState({ morning: !this.state.morning })
......
...@@ -18,7 +18,7 @@ class ReminderDetail extends React.Component { ...@@ -18,7 +18,7 @@ class ReminderDetail extends React.Component {
const { params } = this.props.navigation.state; const { params } = this.props.navigation.state;
const { goBack } = this.props.navigation; const { goBack } = this.props.navigation;
const items = params ? params.items : null const items = params ? params.items : null
const period = params.period == 1 ? "Morning" : params.period == 2 ? "Afternoon" : params.period == 3 ? "Evening" : "Night" const period = params.period == 1 ? "เช้า" : params.period == 2 ? "กลางวัน" : params.period == 3 ? "เย็น" : "ค่ำ"
const { headerStyle, headerFontStyle } = styles const { headerStyle, headerFontStyle } = styles
......
import React from 'react'
import AppHeader from './../components/Header';
import { ToastAndroid, ListView, ActivityIndicator, StyleSheet, TouchableOpacity } from 'react-native'
import { Container, Icon, Content, Form, Input, Button, Item, View, Text } from 'native-base'
import { signToken, verifyToken, searchMedication } from './../network/HttpManager'
class SearchMedicineListScreen extends React.Component {
constructor(props) {
super(props);
let ds = new ListView.DataSource({ rowHasChanged: (r1, r2) => r1 !== r2 });
this.state = {
apiKey: "",
queryString: "",
isLoading: false,
dataSource: ds.cloneWithRows([])
};
}
async componentWillMount() {
let token = await signToken().then(response => {
console.log(response)
return response.data["token"]
})
this.setState({ apiKey: token })
}
render() {
const { navigation } = this.props;
const { goBack } = navigation
const { searchBox, searchInput, listItem, separator } = styles
if (this.state.isLoading) {
return (
<View style={{ flex: 1, paddingTop: 20 }}>
<ActivityIndicator />
</View>
);
}
return (
<Container>
<AppHeader
headerLeft={
<Button onPress={() => goBack()}>
<Icon name='arrow-back' />
</Button>
}
headerText={"ค้นหาข้อมูลยา"}
/>
<View>
<Form style={searchBox}>
<Item rounded style={searchInput}>
<Input
placeholder="ชื่อยาที่ต้องการค้นหา"
onChangeText={(text) => this.setState({ queryString: text })}
value={this.state.queryString}
returnKeyType="search"
onEndEditing={() => {
this._searchMedication()
ToastAndroid.show(this.state.queryString, ToastAndroid.SHORT)
}}
/>
</Item>
</Form>
<ListView
dataSource={this.state.dataSource}
renderSeparator={(sectionId, rowId) => <View key={rowId} style={separator} />}
renderRow={(rowData) =>
<View style={listItem}>
<TouchableOpacity onPress={() => this.onPressMedicationItem(rowData)}>
<View>
<Text>{rowData.regno}</Text>
<Text>{rowData.tradenamename}</Text>
<Text>{rowData.genericname}</Text>
<Text>{rowData.licenseename}</Text>
<Text>{rowData.genericnameweight}</Text>
</View>
</TouchableOpacity>
</View>}
enableEmptySections={true}
/>
</View>
</Container>
);
}
onPressMedicationItem(data) {
this.props.navigation.navigate("MedicationDetail", {data: data})
}
async _searchMedication() {
this.setState({ isLoading: true })
let status = await verifyToken(this.state.apiKey).then(response => {
console.log(response)
return response.data["statusToken"]
})
if (status = "OK") {
let results = await searchMedication(this.state.apiKey, this.state.queryString).then(response => {
console.log(response)
this.setState({ isLoading: false })
return response.data["results"]
})
console.log(results)
let ds = new ListView.DataSource({ rowHasChanged: (r1, r2) => r1 !== r2 });
this.setState({ dataSource: ds.cloneWithRows(results) })
}
}
}
const styles = {
searchBox: {
backgroundColor: '#4154AF',
padding: 10
},
searchInput: {
backgroundColor: 'white'
},
listItem: {
backgroundColor: 'white',
padding: 10
},
separator: {
flex: 1,
height: StyleSheet.hairlineWidth,
backgroundColor: '#8E8E8E',
},
}
export default SearchMedicineListScreen;
\ No newline at end of file
...@@ -35,7 +35,7 @@ class Menu extends Component { ...@@ -35,7 +35,7 @@ class Menu extends Component {
<Content> <Content>
<ScrollView> <ScrollView>
<BtnSettings <BtnSettings
text={"Time Period"} text={"ตั้งค่าช่วงเวลาแจ้งเตือน"}
onPress={() => { onPress={() => {
this.props.navigation.navigate('SettingsTime', { keyBScreen: this.props.navigation.state.key }); this.props.navigation.navigate('SettingsTime', { keyBScreen: this.props.navigation.state.key });
}} }}
......
...@@ -51,7 +51,7 @@ class SettingTimePeriod extends React.Component { ...@@ -51,7 +51,7 @@ class SettingTimePeriod extends React.Component {
<View style={{ borderBottomColor: '#EEEEEE', borderBottomWidth: 0.5 }}> <View style={{ borderBottomColor: '#EEEEEE', borderBottomWidth: 0.5 }}>
<Button style={btnTimeStyle} onPress={() => this._timePicker(1)}> <Button style={btnTimeStyle} onPress={() => this._timePicker(1)}>
<Left> <Left>
<Text style={fontStyle}>Morning</Text> <Text style={fontStyle}>เช้า</Text>
</Left> </Left>
<Right> <Right>
<Text style={fontStyle}>{this.state.morningTime}</Text> <Text style={fontStyle}>{this.state.morningTime}</Text>
...@@ -61,7 +61,7 @@ class SettingTimePeriod extends React.Component { ...@@ -61,7 +61,7 @@ class SettingTimePeriod extends React.Component {
<View style={{ borderBottomColor: '#EEEEEE', borderBottomWidth: 0.5 }}> <View style={{ borderBottomColor: '#EEEEEE', borderBottomWidth: 0.5 }}>
<Button style={btnTimeStyle} onPress={() => this._timePicker(2)}> <Button style={btnTimeStyle} onPress={() => this._timePicker(2)}>
<Left> <Left>
<Text style={fontStyle}>Afternoon</Text> <Text style={fontStyle}>กลางวัน</Text>
</Left> </Left>
<Right> <Right>
<Text style={fontStyle}>{this.state.afternoonTime}</Text> <Text style={fontStyle}>{this.state.afternoonTime}</Text>
...@@ -71,7 +71,7 @@ class SettingTimePeriod extends React.Component { ...@@ -71,7 +71,7 @@ class SettingTimePeriod extends React.Component {
<View style={{ borderBottomColor: '#EEEEEE', borderBottomWidth: 0.5 }}> <View style={{ borderBottomColor: '#EEEEEE', borderBottomWidth: 0.5 }}>
<Button style={btnTimeStyle} onPress={() => this._timePicker(3)}> <Button style={btnTimeStyle} onPress={() => this._timePicker(3)}>
<Left> <Left>
<Text style={fontStyle}>Evening</Text> <Text style={fontStyle}>เย็น</Text>
</Left> </Left>
<Right> <Right>
<Text style={fontStyle}>{this.state.eveningTime}</Text> <Text style={fontStyle}>{this.state.eveningTime}</Text>
...@@ -81,7 +81,7 @@ class SettingTimePeriod extends React.Component { ...@@ -81,7 +81,7 @@ class SettingTimePeriod extends React.Component {
<View style={{ borderBottomColor: '#EEEEEE', borderBottomWidth: 0.5 }}> <View style={{ borderBottomColor: '#EEEEEE', borderBottomWidth: 0.5 }}>
<Button style={btnTimeStyle} onPress={() => this._timePicker(4)}> <Button style={btnTimeStyle} onPress={() => this._timePicker(4)}>
<Left> <Left>
<Text style={fontStyle}>Night</Text> <Text style={fontStyle}>ค่ำ</Text>
</Left> </Left>
<Right> <Right>
<Text style={fontStyle}>{this.state.nightTime}</Text> <Text style={fontStyle}>{this.state.nightTime}</Text>
......
...@@ -66,14 +66,6 @@ amdefine@>=0.0.4: ...@@ -66,14 +66,6 @@ amdefine@>=0.0.4:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
andlog@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/andlog/-/andlog-1.0.0.tgz#25b39047ac9c1e5f6b2c8e4cdb5e7bf9e65e534b"
ansi-escapes@^1.1.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
ansi-escapes@^3.0.0: ansi-escapes@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92"
...@@ -234,6 +226,13 @@ aws4@^1.2.1, aws4@^1.6.0: ...@@ -234,6 +226,13 @@ aws4@^1.2.1, aws4@^1.6.0:
version "1.6.0" version "1.6.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
axios@^0.18.0:
version "0.18.0"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.0.tgz#32d53e4851efdc0a11993b6cd000789d70c05102"
dependencies:
follow-redirects "^1.3.0"
is-buffer "^1.1.5"
babel-code-frame@^6.26.0: babel-code-frame@^6.26.0:
version "6.26.0" version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
...@@ -664,14 +663,6 @@ babel-plugin-transform-strict-mode@^6.24.1: ...@@ -664,14 +663,6 @@ babel-plugin-transform-strict-mode@^6.24.1:
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-types "^6.24.1" babel-types "^6.24.1"
babel-polyfill@6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d"
dependencies:
babel-runtime "^6.22.0"
core-js "^2.4.0"
regenerator-runtime "^0.10.0"
babel-preset-es2015-node@^6.1.1: babel-preset-es2015-node@^6.1.1:
version "6.1.1" version "6.1.1"
resolved "https://registry.yarnpkg.com/babel-preset-es2015-node/-/babel-preset-es2015-node-6.1.1.tgz#60b23157024b0cfebf3a63554cb05ee035b4e55f" resolved "https://registry.yarnpkg.com/babel-preset-es2015-node/-/babel-preset-es2015-node-6.1.1.tgz#60b23157024b0cfebf3a63554cb05ee035b4e55f"
...@@ -913,12 +904,6 @@ boom@5.x.x: ...@@ -913,12 +904,6 @@ boom@5.x.x:
dependencies: dependencies:
hoek "4.x.x" hoek "4.x.x"
bows@^1.6.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/bows/-/bows-1.7.0.tgz#a3598ed9cef61a7a0cab1a7240f291654865ec76"
dependencies:
andlog "^1.0.0"
bplist-creator@0.0.7: bplist-creator@0.0.7:
version "0.0.7" version "0.0.7"
resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.7.tgz#37df1536092824b87c42f957b01344117372ae45" resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.7.tgz#37df1536092824b87c42f957b01344117372ae45"
...@@ -1019,7 +1004,7 @@ chalk@1.1.1: ...@@ -1019,7 +1004,7 @@ chalk@1.1.1:
strip-ansi "^3.0.0" strip-ansi "^3.0.0"
supports-color "^2.0.0" supports-color "^2.0.0"
chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
version "1.1.3" version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
dependencies: dependencies:
...@@ -1618,7 +1603,7 @@ extend@~3.0.0, extend@~3.0.1: ...@@ -1618,7 +1603,7 @@ extend@~3.0.0, extend@~3.0.1:
version "3.0.1" version "3.0.1"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
external-editor@^2.0.1, external-editor@^2.0.4: external-editor@^2.0.4:
version "2.0.5" version "2.0.5"
resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.5.tgz#52c249a3981b9ba187c7cacf5beb50bf1d91a6bc" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.5.tgz#52c249a3981b9ba187c7cacf5beb50bf1d91a6bc"
dependencies: dependencies:
...@@ -1760,6 +1745,12 @@ find-up@^2.0.0, find-up@^2.1.0: ...@@ -1760,6 +1745,12 @@ find-up@^2.0.0, find-up@^2.1.0:
dependencies: dependencies:
locate-path "^2.0.0" locate-path "^2.0.0"
follow-redirects@^1.3.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.0.tgz#234f49cf770b7f35b40e790f636ceba0c3a0ab77"
dependencies:
debug "^3.1.0"
for-in@^1.0.1: for-in@^1.0.1:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
...@@ -2156,24 +2147,6 @@ ini@~1.3.0: ...@@ -2156,24 +2147,6 @@ ini@~1.3.0:
version "1.3.4" version "1.3.4"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
inquirer@3.0.6:
version "3.0.6"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347"
dependencies:
ansi-escapes "^1.1.0"
chalk "^1.0.0"
cli-cursor "^2.1.0"
cli-width "^2.0.0"
external-editor "^2.0.1"
figures "^2.0.0"
lodash "^4.3.0"
mute-stream "0.0.7"
run-async "^2.2.0"
rx "^4.1.0"
string-width "^2.0.0"
strip-ansi "^3.0.0"
through "^2.3.6"
inquirer@^3.0.6: inquirer@^3.0.6:
version "3.3.0" version "3.3.0"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9"
...@@ -3083,7 +3056,7 @@ minimist@0.0.8: ...@@ -3083,7 +3056,7 @@ minimist@0.0.8:
version "0.0.8" version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0: minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
...@@ -3183,13 +3156,6 @@ negotiator@0.6.1: ...@@ -3183,13 +3156,6 @@ negotiator@0.6.1:
version "0.6.1" version "0.6.1"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
node-fetch@1.6.3:
version "1.6.3"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
dependencies:
encoding "^0.1.11"
is-stream "^1.0.1"
node-fetch@^1.0.1, node-fetch@^1.3.3, node-fetch@^1.6.3: node-fetch@^1.0.1, node-fetch@^1.3.3, node-fetch@^1.6.3:
version "1.7.3" version "1.7.3"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
...@@ -3320,24 +3286,6 @@ onetime@^2.0.0: ...@@ -3320,24 +3286,6 @@ onetime@^2.0.0:
dependencies: dependencies:
mimic-fn "^1.0.0" mimic-fn "^1.0.0"
opencollective@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/opencollective/-/opencollective-1.0.3.tgz#aee6372bc28144583690c3ca8daecfc120dd0ef1"
dependencies:
babel-polyfill "6.23.0"
chalk "1.1.3"
inquirer "3.0.6"
minimist "1.2.0"
node-fetch "1.6.3"
opn "4.0.2"
opn@4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95"
dependencies:
object-assign "^4.0.1"
pinkie-promise "^2.0.0"
opn@^3.0.2: opn@^3.0.2:
version "3.0.3" version "3.0.3"
resolved "https://registry.yarnpkg.com/opn/-/opn-3.0.3.tgz#b6d99e7399f78d65c3baaffef1fb288e9b85243a" resolved "https://registry.yarnpkg.com/opn/-/opn-3.0.3.tgz#b6d99e7399f78d65c3baaffef1fb288e9b85243a"
...@@ -3705,6 +3653,10 @@ react-native-datepicker@^1.6.0: ...@@ -3705,6 +3653,10 @@ react-native-datepicker@^1.6.0:
dependencies: dependencies:
moment "2.x.x" moment "2.x.x"
react-native-device-info@^0.21.5:
version "0.21.5"
resolved "https://registry.yarnpkg.com/react-native-device-info/-/react-native-device-info-0.21.5.tgz#99478a2d68182e012297f2d63f2bd1b788106dee"
react-native-dismiss-keyboard@1.0.0: react-native-dismiss-keyboard@1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/react-native-dismiss-keyboard/-/react-native-dismiss-keyboard-1.0.0.tgz#32886242b3f2317e121f3aeb9b0a585e2b879b49" resolved "https://registry.yarnpkg.com/react-native-dismiss-keyboard/-/react-native-dismiss-keyboard-1.0.0.tgz#32886242b3f2317e121f3aeb9b0a585e2b879b49"
...@@ -3734,18 +3686,6 @@ react-native-easy-grid@0.1.15: ...@@ -3734,18 +3686,6 @@ react-native-easy-grid@0.1.15:
dependencies: dependencies:
lodash "^4.11.1" lodash "^4.11.1"
react-native-firebase@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/react-native-firebase/-/react-native-firebase-3.1.0.tgz#0391b7bd6ca5c9b68e5a54a9e87ad5ea5c8dd089"
dependencies:
bows "^1.6.0"
opencollective "^1.0.3"
prop-types "^15.6.0"
react-native-google-signin@^0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/react-native-google-signin/-/react-native-google-signin-0.12.0.tgz#fc549593adbc92ed2a5a683a957f157650ece961"
"react-native-keyboard-aware-scroll-view@https://github.com/GeekyAnts/react-native-keyboard-aware-scroll-view": "react-native-keyboard-aware-scroll-view@https://github.com/GeekyAnts/react-native-keyboard-aware-scroll-view":
version "0.2.9" version "0.2.9"
resolved "https://github.com/GeekyAnts/react-native-keyboard-aware-scroll-view#f4805f254d6cc8e3329f5fb224944401f66655db" resolved "https://github.com/GeekyAnts/react-native-keyboard-aware-scroll-view#f4805f254d6cc8e3329f5fb224944401f66655db"
...@@ -4018,10 +3958,6 @@ regenerate@^1.2.1: ...@@ -4018,10 +3958,6 @@ regenerate@^1.2.1:
version "1.3.3" version "1.3.3"
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f"
regenerator-runtime@^0.10.0:
version "0.10.5"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
regenerator-runtime@^0.11.0: regenerator-runtime@^0.11.0:
version "0.11.0" version "0.11.0"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1"
...@@ -4204,10 +4140,6 @@ rx-lite@*, rx-lite@^4.0.8: ...@@ -4204,10 +4140,6 @@ rx-lite@*, rx-lite@^4.0.8:
version "4.0.8" version "4.0.8"
resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
rx@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782"
safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.1" version "5.1.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment