Implementing work item map screen

This commit is contained in:
John Lyon-Smith
2018-03-13 10:53:21 -07:00
parent 9dc783efef
commit 7bd5c64f21
17 changed files with 552 additions and 223 deletions

1
mobile/.gitignore vendored
View File

@@ -1,4 +1,5 @@
ios/build/
ios/Pods/
android/build/
android/app/build/
android/.gradle/

View File

@@ -1,54 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>NSLocationWhenInUseUsageDescription</key>
<string></string>
<key>NSAppTransportSecurity</key>
<!--See http://ste.vn/2015/06/10/configuring-app-transport-security-ios-9-osx-10-11/ -->
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
</dict>
</plist>

View File

@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>

View File

@@ -34,10 +34,12 @@
2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */; };
2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D16E6891FA4F8E400B85C8A /* libReact.a */; };
2DCD954D1E0B4F2C00145EB5 /* DeightonARTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* DeightonARTests.m */; };
42887A1A6498A7EE06F1A5E0 /* libPods-DeightonARTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3AD13D44FEB1B401BA4BEA4 /* libPods-DeightonARTests.a */; };
5222222F204EF106001F223F /* libReactNativeNavigation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5222222E204EF0C6001F223F /* libReactNativeNavigation.a */; };
5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; };
832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; };
ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; };
D356C06C692832D9527CA673 /* libPods-DeightonAR.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E216A2FE43BCA2F0D718C6A /* libPods-DeightonAR.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -333,6 +335,8 @@
00E356EE1AD99517003FC87E /* DeightonARTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DeightonARTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
00E356F21AD99517003FC87E /* DeightonARTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DeightonARTests.m; sourceTree = "<group>"; };
0E041CC8598E28FECB495366 /* Pods-DeightonARTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DeightonARTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-DeightonARTests/Pods-DeightonARTests.release.xcconfig"; sourceTree = "<group>"; };
0E216A2FE43BCA2F0D718C6A /* libPods-DeightonAR.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DeightonAR.a"; sourceTree = BUILT_PRODUCTS_DIR; };
139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = "<group>"; };
139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = "<group>"; };
13B07F961A680F5B00A75B9A /* DeightonAR.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DeightonAR.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -343,14 +347,18 @@
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = DeightonAR/Info.plist; sourceTree = "<group>"; };
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = DeightonAR/main.m; sourceTree = "<group>"; };
146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = "<group>"; };
26500836C6629653F8E3F616 /* Pods-DeightonAR.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DeightonAR.debug.xcconfig"; path = "Pods/Target Support Files/Pods-DeightonAR/Pods-DeightonAR.debug.xcconfig"; sourceTree = "<group>"; };
2D02E47B1E0B4A5D006451C7 /* DeightonAR-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DeightonAR-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
2D02E4901E0B4A5D006451C7 /* DeightonAR-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "DeightonAR-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; };
342FE56F63101E1A79A0BE57 /* Pods-DeightonARTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DeightonARTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-DeightonARTests/Pods-DeightonARTests.debug.xcconfig"; sourceTree = "<group>"; };
522221F4204EF0C6001F223F /* ReactNativeNavigation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactNativeNavigation.xcodeproj; path = "../node_modules/react-native-navigation/ios/ReactNativeNavigation.xcodeproj"; sourceTree = "<group>"; };
5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = "<group>"; };
78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = "<group>"; };
832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = "<group>"; };
9EDEA397396D8A4D28303D85 /* Pods-DeightonAR.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DeightonAR.release.xcconfig"; path = "Pods/Target Support Files/Pods-DeightonAR/Pods-DeightonAR.release.xcconfig"; sourceTree = "<group>"; };
ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = "<group>"; };
F3AD13D44FEB1B401BA4BEA4 /* libPods-DeightonARTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DeightonARTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -359,6 +367,7 @@
buildActionMask = 2147483647;
files = (
140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */,
42887A1A6498A7EE06F1A5E0 /* libPods-DeightonARTests.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -380,6 +389,7 @@
832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */,
00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */,
139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */,
D356C06C692832D9527CA673 /* libPods-DeightonAR.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -524,10 +534,23 @@
name = Products;
sourceTree = "<group>";
};
259BCB60615F1831976ED6A6 /* Pods */ = {
isa = PBXGroup;
children = (
26500836C6629653F8E3F616 /* Pods-DeightonAR.debug.xcconfig */,
9EDEA397396D8A4D28303D85 /* Pods-DeightonAR.release.xcconfig */,
342FE56F63101E1A79A0BE57 /* Pods-DeightonARTests.debug.xcconfig */,
0E041CC8598E28FECB495366 /* Pods-DeightonARTests.release.xcconfig */,
);
name = Pods;
sourceTree = "<group>";
};
2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
isa = PBXGroup;
children = (
2D16E6891FA4F8E400B85C8A /* libReact.a */,
0E216A2FE43BCA2F0D718C6A /* libPods-DeightonAR.a */,
F3AD13D44FEB1B401BA4BEA4 /* libPods-DeightonARTests.a */,
);
name = Frameworks;
sourceTree = "<group>";
@@ -595,6 +618,7 @@
00E356EF1AD99517003FC87E /* DeightonARTests */,
83CBBA001A601CBA00E9B192 /* Products */,
2D16E6871FA4F8E400B85C8A /* Frameworks */,
259BCB60615F1831976ED6A6 /* Pods */,
);
indentWidth = 2;
sourceTree = "<group>";
@@ -628,9 +652,12 @@
isa = PBXNativeTarget;
buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "DeightonARTests" */;
buildPhases = (
FAB9B7A816F30AC542FF9E45 /* [CP] Check Pods Manifest.lock */,
00E356EA1AD99517003FC87E /* Sources */,
00E356EB1AD99517003FC87E /* Frameworks */,
00E356EC1AD99517003FC87E /* Resources */,
FBB3DC660AB7AE912C44C432 /* [CP] Embed Pods Frameworks */,
9E643D838F30F98591B82370 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
@@ -646,10 +673,13 @@
isa = PBXNativeTarget;
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "DeightonAR" */;
buildPhases = (
7338DA75E702CF17485D1AA9 /* [CP] Check Pods Manifest.lock */,
13B07F871A680F5B00A75B9A /* Sources */,
13B07F8C1A680F5B00A75B9A /* Frameworks */,
13B07F8E1A680F5B00A75B9A /* Resources */,
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
4F814743B7EC827F89C63E39 /* [CP] Embed Pods Frameworks */,
C4F94014FA5DFDCBA6DE4978 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
@@ -1127,6 +1157,105 @@
shellPath = /bin/sh;
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
};
4F814743B7EC827F89C63E39 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-DeightonAR/Pods-DeightonAR-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
7338DA75E702CF17485D1AA9 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-DeightonAR-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
9E643D838F30F98591B82370 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Copy Pods Resources";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-DeightonARTests/Pods-DeightonARTests-resources.sh\"\n";
showEnvVarsInLog = 0;
};
C4F94014FA5DFDCBA6DE4978 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${SRCROOT}/Pods/Target Support Files/Pods-DeightonAR/Pods-DeightonAR-resources.sh",
"${PODS_ROOT}/GoogleMaps/Maps/Frameworks/GoogleMaps.framework/Resources/GoogleMaps.bundle",
);
name = "[CP] Copy Pods Resources";
outputPaths = (
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleMaps.bundle",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-DeightonAR/Pods-DeightonAR-resources.sh\"\n";
showEnvVarsInLog = 0;
};
FAB9B7A816F30AC542FF9E45 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-DeightonARTests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
FBB3DC660AB7AE912C44C432 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-DeightonARTests/Pods-DeightonARTests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -1194,6 +1323,7 @@
/* Begin XCBuildConfiguration section */
00E356F61AD99517003FC87E /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 342FE56F63101E1A79A0BE57 /* Pods-DeightonARTests.debug.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
GCC_PREPROCESSOR_DEFINITIONS = (
@@ -1214,6 +1344,7 @@
};
00E356F71AD99517003FC87E /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 0E041CC8598E28FECB495366 /* Pods-DeightonARTests.release.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
COPY_PHASE_STRIP = NO;
@@ -1231,6 +1362,7 @@
};
13B07F941A680F5B00A75B9A /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 26500836C6629653F8E3F616 /* Pods-DeightonAR.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CURRENT_PROJECT_VERSION = 1;
@@ -1249,6 +1381,7 @@
};
13B07F951A680F5B00A75B9A /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9EDEA397396D8A4D28303D85 /* Pods-DeightonAR.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CURRENT_PROJECT_VERSION = 1;

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:DeightonAR.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -13,19 +13,25 @@
#import <React/RCTRootView.h>
#import "RCCManager.h"
@import GoogleMaps;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSURL *jsCodeLocation;
#ifdef DEBUG
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#else
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.backgroundColor = [UIColor whiteColor];
[[RCCManager sharedInstance] initBridgeWithBundleURL:jsCodeLocation launchOptions:launchOptions];
[GMSServices provideAPIKey:@"AIzaSyDN4E_vzO4cKjKHkMg_49hX1GBnU34kx4U"];
/*
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"DeightonAR"

View File

@@ -1,5 +1,5 @@
# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
platform :ios, '9.3'
target 'DeightonAR' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
@@ -18,11 +18,38 @@ target 'DeightonAR' do
'RCTGeolocation',
'RCTImage',
]
pod 'ReactNative'
# Explicitly include Yoga if you are using RN >= 0.42.0
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
# Third party deps podspec link
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
pod 'GLog', :podspec => '../node_modules/react-native/third-party-podspecs/GLog.podspec'
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
pod 'ReactNativeNavigation', :podspec => '../node_modules/react-native-navigation/ios/ReactNativeNavigation.podspec'
pod 'react-native-maps', path: '../node_modules/react-native-maps'
pod 'react-native-google-maps', path: '../node_modules/react-native-maps'
pod 'GoogleMaps'
pod 'ViroReact', :podspec => '../node_modules/react-viro/ios/ViroReact.podspec'
target 'DeightonARTests' do
inherit! :search_paths
# Pods for testing
end
end
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'yoga'
target.build_configurations.each do |config|
config.build_settings['GCC_TREAT_WARNINGS_AS_ERRORS'] = 'NO'
config.build_settings['GCC_WARN_64_TO_32_BIT_CONVERSION'] = 'NO'
end
elsif target.name == 'react-native-google-maps'
target.build_configurations.each do |config|
config.build_settings['CLANG_ENABLE_MODULES'] = 'NO'
end
end
end
end

130
mobile/ios/Podfile.lock Normal file
View File

@@ -0,0 +1,130 @@
PODS:
- boost (1.59.0):
- boost/graph-includes (= 1.59.0)
- boost/math-includes (= 1.59.0)
- boost/numeric-includes (= 1.59.0)
- boost/pointer_cast-includes (= 1.59.0)
- boost/preprocessor-includes (= 1.59.0)
- boost/shared_ptr-includes (= 1.59.0)
- boost/string_algorithms-includes (= 1.59.0)
- boost/graph-includes (1.59.0)
- boost/math-includes (1.59.0)
- boost/numeric-includes (1.59.0)
- boost/pointer_cast-includes (1.59.0)
- boost/preprocessor-includes (1.59.0)
- boost/shared_ptr-includes (1.59.0)
- boost/string_algorithms-includes (1.59.0)
- DoubleConversion (1.1.5)
- Folly (2016.09.26.00):
- boost
- DoubleConversion
- GLog
- GLog (0.3.4)
- GoogleMaps (2.5.0):
- GoogleMaps/Maps (= 2.5.0)
- GoogleMaps/Base (2.5.0)
- GoogleMaps/Maps (2.5.0):
- GoogleMaps/Base
- React (0.51.1):
- React/Core (= 0.51.1)
- react-native-google-maps (0.20.1):
- GoogleMaps (= 2.5.0)
- React
- react-native-maps (0.20.1):
- React
- React/Core (0.51.1):
- yoga (= 0.51.1.React)
- React/CxxBridge (0.51.1):
- Folly (= 2016.09.26.00)
- React/Core
- React/cxxreact
- React/cxxreact (0.51.1):
- boost
- Folly (= 2016.09.26.00)
- React/jschelpers
- React/DevSupport (0.51.1):
- React/Core
- React/RCTWebSocket
- React/fishhook (0.51.1)
- React/jschelpers (0.51.1):
- Folly (= 2016.09.26.00)
- React/PrivateDatabase
- React/PrivateDatabase (0.51.1)
- React/RCTAnimation (0.51.1):
- React/Core
- React/RCTBlob (0.51.1):
- React/Core
- React/RCTGeolocation (0.51.1):
- React/Core
- React/RCTImage (0.51.1):
- React/Core
- React/RCTNetwork
- React/RCTNetwork (0.51.1):
- React/Core
- React/RCTText (0.51.1):
- React/Core
- React/RCTWebSocket (0.51.1):
- React/Core
- React/fishhook
- React/RCTBlob
- ReactNativeNavigation (1.1.407):
- React
- ViroReact (1.0)
- yoga (0.51.1.React)
DEPENDENCIES:
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
- GLog (from `../node_modules/react-native/third-party-podspecs/GLog.podspec`)
- GoogleMaps
- react-native-google-maps (from `../node_modules/react-native-maps`)
- react-native-maps (from `../node_modules/react-native-maps`)
- React/Core (from `../node_modules/react-native`)
- React/CxxBridge (from `../node_modules/react-native`)
- React/DevSupport (from `../node_modules/react-native`)
- React/RCTAnimation (from `../node_modules/react-native`)
- React/RCTGeolocation (from `../node_modules/react-native`)
- React/RCTImage (from `../node_modules/react-native`)
- React/RCTNetwork (from `../node_modules/react-native`)
- React/RCTText (from `../node_modules/react-native`)
- React/RCTWebSocket (from `../node_modules/react-native`)
- ReactNativeNavigation (from `../node_modules/react-native-navigation/ios/ReactNativeNavigation.podspec`)
- ViroReact (from `../node_modules/react-viro/ios/ViroReact.podspec`)
- yoga (from `../node_modules/react-native/ReactCommon/yoga`)
EXTERNAL SOURCES:
DoubleConversion:
:podspec: ../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec
Folly:
:podspec: ../node_modules/react-native/third-party-podspecs/Folly.podspec
GLog:
:podspec: ../node_modules/react-native/third-party-podspecs/GLog.podspec
React:
:path: ../node_modules/react-native
react-native-google-maps:
:path: ../node_modules/react-native-maps
react-native-maps:
:path: ../node_modules/react-native-maps
ReactNativeNavigation:
:podspec: ../node_modules/react-native-navigation/ios/ReactNativeNavigation.podspec
ViroReact:
:podspec: ../node_modules/react-viro/ios/ViroReact.podspec
yoga:
:path: ../node_modules/react-native/ReactCommon/yoga
SPEC CHECKSUMS:
boost: 30a15ffb6d9aa4646dd3caffc960753f4cb4ca4e
DoubleConversion: ebb6747c5b66026ad4f97b789c3ceac6f18e57a6
Folly: b7255b29f1d693c375d642d0f04f0592181156d9
GLog: 3e4e4ae9746ce6bf6e9420c7fc1e08ad59c8ba1a
GoogleMaps: c087b8e5dfe87ca6ebf59adb9b4894a4146bec4f
React: 541ba768b9855e10cdc76f55427a5cd0653ca806
react-native-google-maps: 963fc78a5ac32dad3a726e4fa08b5307faa5cab2
react-native-maps: 066c2afcc89e18726377bcc685315f989ca22449
ReactNativeNavigation: 0a0de59d82ed1accc9b762037752b11d794c7a4c
ViroReact: 7ec32276dcd1883662b4587eaedfff67f7fc3625
yoga: 17521bbb0dd54a47c0b3ac43253e78cdac7488e0
PODFILE CHECKSUM: de11229cf9c653989ebd3afbf96ecdc060064230
COCOAPODS: 1.4.0

299
mobile/package-lock.json generated
View File

@@ -430,6 +430,16 @@
"babel-runtime": "6.26.0"
}
},
"babel-plugin-module-resolver": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-2.7.1.tgz",
"integrity": "sha1-GL48Qt31n3pFbJ4FEs2ROU9uS+E=",
"requires": {
"find-babel-config": "1.1.0",
"glob": "7.1.2",
"resolve": "1.5.0"
}
},
"babel-plugin-react-transform": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-react-transform/-/babel-plugin-react-transform-3.0.0.tgz",
@@ -1717,11 +1727,6 @@
"repeating": "2.0.1"
}
},
"detect-newline": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
"integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I="
},
"dom-walk": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz",
@@ -1749,11 +1754,6 @@
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
},
"encoding": {
"version": "0.1.12",
"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
@@ -1829,6 +1829,14 @@
"which": "1.3.0"
}
},
"errno": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
"integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
"requires": {
"prr": "1.0.1"
}
},
"error-ex": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
@@ -2117,6 +2125,15 @@
}
}
},
"find-babel-config": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.1.0.tgz",
"integrity": "sha1-rMAQQ6Z0n+w0Qpvmtk9ULrtdY1U=",
"requires": {
"json5": "0.5.1",
"path-exists": "3.0.0"
}
},
"find-up": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
@@ -3200,7 +3217,7 @@
"requires": {
"assert-plus": "1.0.0",
"jsprim": "1.4.1",
"sshpk": "1.13.1"
"sshpk": "1.14.1"
}
},
"iconv-lite": {
@@ -3447,24 +3464,21 @@
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"jest-docblock": {
"version": "22.1.0",
"resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-22.1.0.tgz",
"integrity": "sha512-/+OGgBVRJb5wCbXrB1LQvibQBz2SdrvDdKRNzY1gL+OISQJZCR9MOewbygdT5rVzbbkfhC4AR2x+qWmNUdJfjw==",
"requires": {
"detect-newline": "2.1.0"
}
"version": "21.2.0",
"resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz",
"integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw=="
},
"jest-haste-map": {
"version": "22.1.0",
"resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-22.1.0.tgz",
"integrity": "sha512-vETdC6GboGlZX6+9SMZkXtYRQSKBbQ47sFF7NGglbMN4eyIZBODply8rlcO01KwBiAeiNCKdjUyfonZzJ93JEg==",
"version": "21.2.0",
"resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-21.2.0.tgz",
"integrity": "sha512-5LhsY/loPH7wwOFRMs+PT4aIAORJ2qwgbpMFlbWbxfN0bk3ZCwxJ530vrbSiTstMkYLao6JwBkLhCJ5XbY7ZHw==",
"requires": {
"fb-watchman": "2.0.0",
"graceful-fs": "4.1.11",
"jest-docblock": "22.1.0",
"jest-worker": "22.1.0",
"jest-docblock": "21.2.0",
"micromatch": "2.3.11",
"sane": "2.4.1"
"sane": "2.4.1",
"worker-farm": "1.6.0"
}
},
"jest-react-native": {
@@ -3473,14 +3487,6 @@
"integrity": "sha1-d92QnwaTJFmfInxYxhwuYhaHJro=",
"dev": true
},
"jest-worker": {
"version": "22.1.0",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-22.1.0.tgz",
"integrity": "sha512-ezLueYAQowk5N6g2J7bNZfq4NWZvMNB5Qd24EmOZLcM5SXTdiFvxykZIoNiMj9C98cCbPaojX8tfR7b1LJwNig==",
"requires": {
"merge-stream": "1.0.1"
}
},
"js-tokens": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
@@ -3721,11 +3727,6 @@
"lodash.escape": "3.2.0"
}
},
"lodash.throttle": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
"integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ="
},
"loose-envify": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
@@ -3834,10 +3835,10 @@
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
},
"metro": {
"version": "0.24.7",
"resolved": "https://registry.npmjs.org/metro/-/metro-0.24.7.tgz",
"integrity": "sha512-9Fr3PDPPCTR3WJUHPLZL2nvyEWyvqyyxH9649OmA2TOF7VEtRzWedZlc6PAcl/rDOzwDOu2/c98NRFxnS1CYlw==",
"metro-bundler": {
"version": "0.20.3",
"resolved": "https://registry.npmjs.org/metro-bundler/-/metro-bundler-0.20.3.tgz",
"integrity": "sha512-rKhIXSUEYbBUB9Ues30GYlcotM/4hPTmriBJGdNW5D+zdlxQUgJuPEo2Woo7khNM7xRG5tN7IRnMkKlzx43/Nw==",
"requires": {
"absolute-path": "0.0.0",
"async": "2.6.0",
@@ -3851,71 +3852,37 @@
"babylon": "6.18.0",
"chalk": "1.1.3",
"concat-stream": "1.6.1",
"connect": "3.6.6",
"core-js": "2.5.3",
"debug": "2.6.9",
"denodeify": "1.2.1",
"eventemitter3": "3.0.1",
"fbjs": "0.8.16",
"fs-extra": "1.0.0",
"graceful-fs": "4.1.11",
"image-size": "0.6.2",
"jest-docblock": "22.1.0",
"jest-haste-map": "22.1.0",
"jest-worker": "22.1.0",
"jest-docblock": "21.2.0",
"jest-haste-map": "21.2.0",
"json-stable-stringify": "1.0.1",
"json5": "0.4.0",
"left-pad": "1.2.0",
"lodash.throttle": "4.1.1",
"lodash": "4.17.5",
"merge-stream": "1.0.1",
"metro-core": "0.24.7",
"metro-source-map": "0.24.7",
"mime-types": "2.1.11",
"mkdirp": "0.5.1",
"request": "2.83.0",
"request": "2.85.0",
"rimraf": "2.6.2",
"serialize-error": "2.1.0",
"source-map": "0.5.7",
"temp": "0.8.3",
"throat": "4.1.0",
"uglify-es": "3.3.9",
"wordwrap": "1.0.0",
"write-file-atomic": "1.3.4",
"ws": "1.1.5",
"xpipe": "1.0.5",
"yargs": "9.0.1"
"xpipe": "1.0.5"
},
"dependencies": {
"connect": {
"version": "3.6.6",
"resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz",
"integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=",
"requires": {
"debug": "2.6.9",
"finalhandler": "1.1.0",
"parseurl": "1.3.2",
"utils-merge": "1.0.1"
}
},
"core-js": {
"version": "2.5.3",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz",
"integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4="
},
"finalhandler": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
"integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
"requires": {
"debug": "2.6.9",
"encodeurl": "1.0.2",
"escape-html": "1.0.3",
"on-finished": "2.3.0",
"parseurl": "1.3.2",
"statuses": "1.3.1",
"unpipe": "1.0.0"
}
},
"json5": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz",
@@ -3933,35 +3900,9 @@
"requires": {
"mime-db": "1.23.0"
}
},
"statuses": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
"integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
},
"utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
}
}
},
"metro-core": {
"version": "0.24.7",
"resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.24.7.tgz",
"integrity": "sha512-Qheab9Wmc8T2m3Ax9COyKUk8LxRb1fHWe13CpoEgPIjwFBd6ILNXaq7ZzoWg0OoAbpMsNzvUOnOJNHvfRuJqJg==",
"requires": {
"lodash.throttle": "4.1.1"
}
},
"metro-source-map": {
"version": "0.24.7",
"resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.24.7.tgz",
"integrity": "sha512-12WEgolY5CGvHeHkF5QlM2qatdQC1DyjWkXLK9LzCqzd8YhUZww1+ZCM6E67rJwpeuCU9o1Mkiwd1h7dS+RBvA==",
"requires": {
"source-map": "0.5.7"
}
},
"micromatch": {
"version": "2.3.11",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
@@ -8317,6 +8258,11 @@
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
},
"path-parse": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
"integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME="
},
"path-type": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
@@ -8406,6 +8352,11 @@
"object-assign": "4.1.1"
}
},
"prr": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
"integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY="
},
"pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
@@ -8512,9 +8463,9 @@
"integrity": "sha1-vNMUeAJ7ZLMznxCJIatSC0MT3Cw="
},
"react-devtools-core": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-3.0.0.tgz",
"integrity": "sha512-24oLTwNqZJceQXfAfKRp3PwCyg2agXAQhgGwe/x6V6CvjLmnMmba4/ut9S8JTIJq7pS9fpPaRDGo5u3923RLFA==",
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-2.5.2.tgz",
"integrity": "sha1-+XvsWvrl2TGNFneAZeDCFMTVcUw=",
"requires": {
"shell-quote": "1.6.1",
"ws": "2.3.1"
@@ -8525,11 +8476,6 @@
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
"integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c="
},
"ultron": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
"integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og=="
},
"ws": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz",
@@ -8583,9 +8529,9 @@
}
},
"react-native": {
"version": "0.52.0",
"resolved": "https://registry.npmjs.org/react-native/-/react-native-0.52.0.tgz",
"integrity": "sha512-2Z/1IIA+0PhgzW/r2qfTIWuDWpA8i+pKud/Ygp6JqoMnbFK79JYPkYSAMEkL7uz+oiQ+4bkKqbbUbVkwgF9ZOg==",
"version": "0.51.1",
"resolved": "https://registry.npmjs.org/react-native/-/react-native-0.51.1.tgz",
"integrity": "sha512-NmaUfIejEQhnpY6wDSHGVUwGAUE2VrG0y/xQQ+tX28Es8c3kXnszyH461UGi8SulG7aCOwZmXpR4J0jV11WGgQ==",
"requires": {
"absolute-path": "0.0.0",
"art": "0.10.1",
@@ -8614,8 +8560,7 @@
"graceful-fs": "4.1.11",
"inquirer": "3.3.0",
"lodash": "4.17.5",
"metro": "0.24.7",
"metro-core": "0.24.7",
"metro-bundler": "0.20.3",
"mime": "1.6.0",
"minimist": "1.2.0",
"mkdirp": "0.5.1",
@@ -8629,7 +8574,7 @@
"promise": "7.3.1",
"prop-types": "15.6.1",
"react-clone-referenced-element": "1.0.1",
"react-devtools-core": "3.0.0",
"react-devtools-core": "2.5.2",
"react-timer-mixin": "0.13.3",
"regenerator-runtime": "0.11.1",
"rimraf": "2.6.2",
@@ -8650,8 +8595,68 @@
}
}
},
"react-native-google-maps": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/react-native-google-maps/-/react-native-google-maps-1.0.0.tgz",
"integrity": "sha1-31W0IWQr0Cupy5UinKn1VG2wIIw="
},
"react-native-maps": {
"version": "0.20.1",
"resolved": "https://registry.npmjs.org/react-native-maps/-/react-native-maps-0.20.1.tgz",
"integrity": "sha512-b+1EqxqtFWc2EdpjWWqJ0uDpgeZwC4y5Gu48ApMqA5CUenp7m6cDyIvMZus7B3f81Ez/+nQWyRmDxBkG4+uSHg==",
"requires": {
"babel-plugin-module-resolver": "2.7.1",
"babel-preset-react-native": "1.9.0"
},
"dependencies": {
"babel-plugin-react-transform": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/babel-plugin-react-transform/-/babel-plugin-react-transform-2.0.2.tgz",
"integrity": "sha1-UVu/qZaJOYEULZCx+bFjXeKZUQk=",
"requires": {
"lodash": "4.17.5"
}
},
"babel-preset-react-native": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/babel-preset-react-native/-/babel-preset-react-native-1.9.0.tgz",
"integrity": "sha1-A1/AbGX08qAtAzahALLaFC822rE=",
"requires": {
"babel-plugin-check-es2015-constants": "6.22.0",
"babel-plugin-react-transform": "2.0.2",
"babel-plugin-syntax-async-functions": "6.13.0",
"babel-plugin-syntax-class-properties": "6.13.0",
"babel-plugin-syntax-flow": "6.18.0",
"babel-plugin-syntax-jsx": "6.18.0",
"babel-plugin-syntax-trailing-function-commas": "6.22.0",
"babel-plugin-transform-class-properties": "6.24.1",
"babel-plugin-transform-es2015-arrow-functions": "6.22.0",
"babel-plugin-transform-es2015-block-scoping": "6.26.0",
"babel-plugin-transform-es2015-classes": "6.24.1",
"babel-plugin-transform-es2015-computed-properties": "6.24.1",
"babel-plugin-transform-es2015-destructuring": "6.23.0",
"babel-plugin-transform-es2015-for-of": "6.23.0",
"babel-plugin-transform-es2015-function-name": "6.24.1",
"babel-plugin-transform-es2015-literals": "6.22.0",
"babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
"babel-plugin-transform-es2015-parameters": "6.24.1",
"babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
"babel-plugin-transform-es2015-spread": "6.22.0",
"babel-plugin-transform-es2015-template-literals": "6.22.0",
"babel-plugin-transform-flow-strip-types": "6.22.0",
"babel-plugin-transform-object-assign": "6.22.0",
"babel-plugin-transform-object-rest-spread": "6.26.0",
"babel-plugin-transform-react-display-name": "6.25.0",
"babel-plugin-transform-react-jsx": "6.24.1",
"babel-plugin-transform-react-jsx-source": "6.22.0",
"babel-plugin-transform-regenerator": "6.26.0",
"react-transform-hmr": "1.0.4"
}
}
}
},
"react-native-navigation": {
"version": "github:jlyonsmith/react-native-navigation#d240378a8367dd3e99c1a76d27c3c1e0237e4f57",
"version": "github:jlyonsmith/react-native-navigation#7c5bd295da8c28a27af7b1fc35d50512f2441d86",
"requires": {
"lodash": "4.17.5"
}
@@ -8690,6 +8695,14 @@
"react-proxy": "1.1.8"
}
},
"react-viro": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/react-viro/-/react-viro-2.4.0.tgz",
"integrity": "sha512-diyDFFun+cfJhMlGlFMaFGJsWt/Nxf6x5l6OS0u/fL6EXaCG1s8cnoxnLwOG8oaXXYSEgeODukPtGzcSfOyeOw==",
"requires": {
"prop-types": "15.6.1"
}
},
"read-pkg": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
@@ -8807,9 +8820,9 @@
"integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ="
},
"request": {
"version": "2.83.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz",
"integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==",
"version": "2.85.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz",
"integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==",
"requires": {
"aws-sign2": "0.7.0",
"aws4": "1.6.0",
@@ -8852,6 +8865,14 @@
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
"integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
},
"resolve": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
"integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==",
"requires": {
"path-parse": "1.0.5"
}
},
"response-time": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz",
@@ -8990,11 +9011,6 @@
}
}
},
"serialize-error": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz",
"integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go="
},
"serve-favicon": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz",
@@ -9239,9 +9255,9 @@
"integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA=="
},
"sshpk": {
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
"integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz",
"integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=",
"requires": {
"asn1": "0.2.3",
"assert-plus": "1.0.0",
@@ -9506,9 +9522,9 @@
}
},
"ultron": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
"integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po="
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
"integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og=="
},
"unpipe": {
"version": "1.0.0",
@@ -9617,6 +9633,14 @@
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
"integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
},
"worker-farm": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz",
"integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==",
"requires": {
"errno": "0.1.7"
}
},
"wrap-ansi": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
@@ -9668,6 +9692,13 @@
"requires": {
"options": "0.0.6",
"ultron": "1.0.2"
},
"dependencies": {
"ultron": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
"integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po="
}
}
},
"xcode": {

View File

@@ -22,8 +22,11 @@
"npm": "^5.7.1",
"react": "16.2.0",
"react-form-binder": "^1.2.0",
"react-native": "0.52.0",
"react-native": "^0.51.1",
"react-native-google-maps": "^1.0.0",
"react-native-maps": "^0.20.1",
"react-native-navigation": "github:jlyonsmith/react-native-navigation",
"react-viro": "^2.4.0",
"socket.io-client": "^2.0.4"
}
}

View File

@@ -7,6 +7,6 @@ registerScreens()
Navigation.startSingleScreenApp({
screen: {
screen: 'app.Home',
title: 'Home',
title: 'Work Item Map',
}
})

View File

@@ -1,6 +1,11 @@
import React from 'react'
import { StyleSheet, Text, View } from 'react-native'
import { StyleSheet, Text, TextInput, FlatList, Image, View } from 'react-native'
import MapView, { Marker } from 'react-native-maps'
import { api } from '../API'
import centerImage from './images/center.png'
import settingsImage from './images/settings.png'
import searchImage from './images/search.png'
import cancelImage from './images/cancel.png'
export class Home extends React.Component {
static navigatorButtons = {
@@ -22,11 +27,22 @@ export class Home extends React.Component {
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
alignItems: 'flex-start',
justifyContent: 'flex-start',
}
})
static data = [
{key: '1', title: 'Remove Animal Carcass', location: 'Ossington Ave. | 0.2 mi.', state: 'planned', latlng: { latitude: 43.653226, longitude: -79.383184 } },
{key: '2', title: 'Fix sign post', location: 'Alexandre St. | 0.7 mi.', state: 'open', latlng: { latitude: 43.648118, longitude: 79.392636 }},
{key: '3', title: 'Overflowing trash', location: 'Bay St. | 0.8 mi.', state: 'open', latlng: { latitude: 43.640168, longitude: -79.409373 }},
{key: '4', title: 'Leaking water pipe', location: 'Bloor St. | 1.2 mi.', state: 'planned', latlng: { latitude: 43.633110, longitude: -79.415880 }},
{key: '5', title: 'Tree branch in road', location: 'Blue Jays Way | 2.2 mi.', state: 'open', latlng: { latitude: 43.653526, longitude: -79.361385 }},
{key: '6', title: 'Washing machine on sidewalk', location: 'Christie St. | 3.0 mi.', state: 'open', latlng: { latitude: 43.663870, longitude: -79.383705 }},
{key: '7', title: 'Dead moose', location: 'Cummer Ave. | 4.2 mi.', state: 'open', latlng: { latitude: 43.659166, longitude: -79.391350 }},
{key: '8', title: 'Glass in street', location: 'Danforth Ave. | 4.7 mi.', state: 'open', latlng: { latitude: 43.663538, longitude: -79.423212 }},
]
constructor(props) {
super(props);
this.props.navigator.setOnNavigatorEvent(this.onNavigatorEvent.bind(this))
@@ -57,6 +73,56 @@ export class Home extends React.Component {
render() {
return (
<View style={Home.styles.container}>
<MapView
style={{ width: '100%', height: '50%' }}
zoomControlEnabled
initialRegion={{
latitude: 43.653908,
longitude: -79.384293,
latitudeDelta: 0.0922,
longitudeDelta: 0.0421,
}}>
{
Home.data.map(marker => (
<Marker
key={marker.key}
coordinate={marker.latlng}
title={marker.title}
description={marker.location} />
))
}
</MapView>
<View style={{ flexDirection: 'row', alignItems: 'center', width: '100%', height: 40, backgroundColor: '#F4F4F4' }}>
<Image source={searchImage} style={{ width: 16, height: 16, tintColor: 'gray', marginLeft: 10, marginRight: 5 }} />
<TextInput style={{ flexGrow: 1, height: '100%' }} placeholder='Search' />
<Image source={cancelImage} style={{ width: 16, height: 16, marginLeft: 5, marginRight: 10 }} />
</View>
<FlatList
style={{ width: '100%', flexGrow: 1 }}
data={Home.data}
renderItem={({item}) => {
return (
<View style={{ flexDirection: 'row', height: 50 }}>
<Text style={{ fontSize: 8, width: 45, marginLeft: 5, alignSelf: 'center' }}>{item.state.toUpperCase()}</Text>
<View style={{ flexDirection: 'column' }}>
<Text style={{ fontSize: 20 }}>{item.title}</Text>
<Text style={{ fontSize: 14, color: 'gray' }}>{item.location}</Text>
</View>
</View>
)
}} />
<View style={{
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
width: '100%',
height: 45,
backgroundColor: '#F4F4F4',
}}>
<Image source={centerImage} style={{ height: 24, width: 24, marginLeft: 15, tintColor: 'gray' }} />
<Text style={{ color: 'gray', fontSize: 20, }}>Hide List</Text>
<Image source={settingsImage} style={{ height: 24, width: 24, marginRight: 15, tintColor: 'gray' }} />
</View>
</View>
);
}

View File

@@ -100,7 +100,7 @@ export class Login extends React.Component {
<BoundSwitch name='rememberMe' binder={this.state.binder} label='Remember Me'/>
</View>
<View style={Login.styles.buttonRow}>
<BoundButton title='Login' name='login' width='40%' onPress={this.handleLogin} binder={this.state.binder} />
<BoundButton title='Login' name='login' width='100%' onPress={this.handleLogin} binder={this.state.binder} />
</View>
</KeyboardAvoidingView>
)

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB