merged with master

This commit is contained in:
ue 2018-11-15 15:45:08 +01:00
commit a6fbe4596c
35 changed files with 1689 additions and 986 deletions

View File

@ -22,6 +22,7 @@
"import/prefer-default-export": "off",
"react/prop-types": 0,
"import/no-named-default": "off",
"no-param-reassign": "off"
"no-param-reassign": "off",
"no-case-declarations": "off"
}
}

10
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,10 @@
{
"prettier.eslintIntegration": true,
"editor.formatOnSave": true,
"editor.snippetSuggestions": "top",
"explorer.confirmDelete": false,
"window.zoomLevel": 0,
"prettier.printWidth": 100,
"prettier.singleQuote": true,
"prettier.trailingComma": "all"
}

View File

@ -5,6 +5,7 @@
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; };
00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; };
@ -12,6 +13,7 @@
00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; };
00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; };
00E356F31AD99517003FC87E /* esteemTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* esteemTests.m */; };
0AC42CD4A4924D86970452B0 /* libFastImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AF9C239586F64FB1A630F44F /* libFastImage.a */; };
11D1A2F320CAFA9E000508D9 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; };
133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; };
139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; };
@ -22,6 +24,8 @@
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; };
146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; };
181DA93FF51F459888BFD760 /* Feather.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 175F6344455D43E3AD32BD2A /* Feather.ttf */; };
221FF9072FB9486F919198C5 /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 66AD4642077143E393F52059 /* MaterialIcons.ttf */; };
2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
@ -33,39 +37,36 @@
2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */; };
2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */; };
2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D16E6891FA4F8E400B85C8A /* libReact.a */; };
2D76160E9D1C4F23A58AD2F4 /* FontAwesome5_Solid.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F68E972F63D44244A855E496 /* FontAwesome5_Solid.ttf */; };
2DCD954D1E0B4F2C00145EB5 /* esteemTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* esteemTests.m */; };
2DF0FFEE2056DD460020B375 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3EA31DF850E9000B6D8A /* libReact.a */; };
832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; };
ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; };
0AC42CD4A4924D86970452B0 /* libFastImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AF9C239586F64FB1A630F44F /* libFastImage.a */; };
9AC33319751C4CA4819D063C /* libBVLinearGradient.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 85988004AC1C461D925751BF /* libBVLinearGradient.a */; };
32ACEB0926CA41DA9E560B58 /* libRCTRestart.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BCF48F9914F4B659820D0F8 /* libRCTRestart.a */; };
DDB465E2AC994DA5A0514A8B /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A3F54D7123BF487B9E36857D /* libRNVectorIcons.a */; };
D2514D0332A24652B27D1FA4 /* libRNVectorIcons-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 57A2D4F43661441EB7931F73 /* libRNVectorIcons-tvOS.a */; };
F2A4ABA54EB8471B90554653 /* libRealmReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C88393A6064468CBBC856BA /* libRealmReact.a */; };
7B80523EC6D64C05BF3B069B /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 454696104228474690AC269D /* libc++.tbd */; };
4314A99BA5C94BCD9E527873 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D4E083B771D4AF2AF62E4D2 /* libz.tbd */; };
EB6EA81F244E46EBA9D532B3 /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = FC41677141C34F878D9164FE /* Entypo.ttf */; };
3D18392E6B3D4AAAB054A206 /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = CDA19DB138184C9BB67FFA73 /* EvilIcons.ttf */; };
181DA93FF51F459888BFD760 /* Feather.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 175F6344455D43E3AD32BD2A /* Feather.ttf */; };
B0942516ADF7401F99EDF68B /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 37A6EED65F7F453AB2D6F448 /* FontAwesome.ttf */; };
A487D82CD062415998953E42 /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 155B93E49A624C14BC153CB0 /* Foundation.ttf */; };
6C00FDC7B4B54ACBABA6F462 /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 388EA3B93FD64F479AA9977E /* Ionicons.ttf */; };
9CC206EB851A43BABCEE799A /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6E13BF49AA984CC7A97DBF2A /* MaterialCommunityIcons.ttf */; };
221FF9072FB9486F919198C5 /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 66AD4642077143E393F52059 /* MaterialIcons.ttf */; };
3865E7BFC02A4BFF84043C30 /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 985F520E6549442E867B919A /* Octicons.ttf */; };
C2471FA50DFD40308F466147 /* RobotoMono-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 347EB6A9D2FB4924A001BC8C /* RobotoMono-Regular.ttf */; };
7918030CDF7C4D2A98040422 /* Sansation_Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = E434A344B09D49AD966063AD /* Sansation_Bold.ttf */; };
3D18392E6B3D4AAAB054A206 /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = CDA19DB138184C9BB67FFA73 /* EvilIcons.ttf */; };
4314A99BA5C94BCD9E527873 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D4E083B771D4AF2AF62E4D2 /* libz.tbd */; };
548C6A754DAD401A8235DF14 /* Sansation_Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 224245E1366F46F98214C9B8 /* Sansation_Regular.ttf */; };
D5C50C86F131450AB182787A /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7FCDF95A5AC44583BCB0BC29 /* SimpleLineIcons.ttf */; };
876A2CB0EE7F430AA982867D /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B5A88E5DA41D4519AB3EFC05 /* Zocial.ttf */; };
B4A1BD91A5F64BF2B691150B /* Roboto_medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 8FC3953050C14CC4BC2199D6 /* Roboto_medium.ttf */; };
6C00FDC7B4B54ACBABA6F462 /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 388EA3B93FD64F479AA9977E /* Ionicons.ttf */; };
7918030CDF7C4D2A98040422 /* Sansation_Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = E434A344B09D49AD966063AD /* Sansation_Bold.ttf */; };
7B80523EC6D64C05BF3B069B /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 454696104228474690AC269D /* libc++.tbd */; };
832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; };
867067697420457BB60D9827 /* Roboto.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 62AB655DC50F43FEA43A0DB5 /* Roboto.ttf */; };
876A2CB0EE7F430AA982867D /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B5A88E5DA41D4519AB3EFC05 /* Zocial.ttf */; };
98D8B81DFFD243A1866799CB /* rubicon-icon-font.ttf in Resources */ = {isa = PBXBuildFile; fileRef = DC93996DDC7F41BB892B9E40 /* rubicon-icon-font.ttf */; };
9AC33319751C4CA4819D063C /* libBVLinearGradient.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 85988004AC1C461D925751BF /* libBVLinearGradient.a */; };
9CC206EB851A43BABCEE799A /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6E13BF49AA984CC7A97DBF2A /* MaterialCommunityIcons.ttf */; };
A487D82CD062415998953E42 /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 155B93E49A624C14BC153CB0 /* Foundation.ttf */; };
ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; };
B0942516ADF7401F99EDF68B /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 37A6EED65F7F453AB2D6F448 /* FontAwesome.ttf */; };
B4A1BD91A5F64BF2B691150B /* Roboto_medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 8FC3953050C14CC4BC2199D6 /* Roboto_medium.ttf */; };
C2471FA50DFD40308F466147 /* RobotoMono-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 347EB6A9D2FB4924A001BC8C /* RobotoMono-Regular.ttf */; };
D127E8447BBA43D1845A85FD /* AntDesign.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A45F56F1823843228860C3B7 /* AntDesign.ttf */; };
D2514D0332A24652B27D1FA4 /* libRNVectorIcons-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 57A2D4F43661441EB7931F73 /* libRNVectorIcons-tvOS.a */; };
D5C50C86F131450AB182787A /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7FCDF95A5AC44583BCB0BC29 /* SimpleLineIcons.ttf */; };
DDB465E2AC994DA5A0514A8B /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A3F54D7123BF487B9E36857D /* libRNVectorIcons.a */; };
E43074BC3D494BE8BF3D22E7 /* FontAwesome5_Brands.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 57CFC1A4B02B44EF9AC4B40E /* FontAwesome5_Brands.ttf */; };
EB6EA81F244E46EBA9D532B3 /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = FC41677141C34F878D9164FE /* Entypo.ttf */; };
EFDE9974B48C4BB3A554D550 /* FontAwesome5_Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 407B133AFCE049E1866CA8F0 /* FontAwesome5_Regular.ttf */; };
2D76160E9D1C4F23A58AD2F4 /* FontAwesome5_Solid.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F68E972F63D44244A855E496 /* FontAwesome5_Solid.ttf */; };
F2A4ABA54EB8471B90554653 /* libRealmReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C88393A6064468CBBC856BA /* libRealmReact.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -307,6 +308,55 @@
remoteGlobalIDString = 3D3CD9181DE5FBD800167DC4;
remoteInfo = "jschelpers-tvOS";
};
58712346219B601100354CBE /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = AAAB371C708C493896DF647D /* RCTRestart.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 3245CDED1BFEE35C00EABF68;
remoteInfo = RCTRestart;
};
5871234C219B601200354CBE /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 7CFB3169945B40DFBBF6FDDA /* BVLinearGradient.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 134814201AA4EA6300B7C361;
remoteInfo = BVLinearGradient;
};
5871234E219B601200354CBE /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 7CFB3169945B40DFBBF6FDDA /* BVLinearGradient.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 64AA15081EF7F30100718508;
remoteInfo = "BVLinearGradient-tvOS";
};
58712354219B601200354CBE /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 2E516DDCFE2646AA87414D17 /* RealmReact.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = F60690131CA2766F0003FB26;
remoteInfo = RealmReact;
};
5871235A219B601200354CBE /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = CECE249991544C198CBC7498 /* RNVectorIcons.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 5DBEB1501B18CEA900B34395;
remoteInfo = RNVectorIcons;
};
5871235C219B601200354CBE /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = CECE249991544C198CBC7498 /* RNVectorIcons.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = A39873CE1EA65EE60051E01A;
remoteInfo = "RNVectorIcons-tvOS";
};
58712362219B601500354CBE /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 80E5F0EC3C2D443BB0962A9E /* FastImage.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = A287971D1DE0C0A60081BDFA;
remoteInfo = FastImage;
};
5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */;
@ -364,47 +414,47 @@
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = esteem/Info.plist; sourceTree = "<group>"; };
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = esteem/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>"; };
155B93E49A624C14BC153CB0 /* Foundation.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Foundation.ttf; path = ../src/assets/Fonts/Foundation.ttf; sourceTree = "<group>"; };
175F6344455D43E3AD32BD2A /* Feather.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Feather.ttf; path = ../src/assets/Fonts/Feather.ttf; sourceTree = "<group>"; };
224245E1366F46F98214C9B8 /* Sansation_Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Sansation_Regular.ttf; path = ../src/assets/Fonts/Sansation_Regular.ttf; sourceTree = "<group>"; };
2D02E47B1E0B4A5D006451C7 /* esteem-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "esteem-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
2D02E4901E0B4A5D006451C7 /* esteem-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "esteem-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; };
2E516DDCFE2646AA87414D17 /* RealmReact.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RealmReact.xcodeproj; path = "../node_modules/realm/react-native/ios/RealmReact.xcodeproj"; sourceTree = "<group>"; };
347EB6A9D2FB4924A001BC8C /* RobotoMono-Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "RobotoMono-Regular.ttf"; path = "../src/assets/Fonts/RobotoMono-Regular.ttf"; sourceTree = "<group>"; };
37A6EED65F7F453AB2D6F448 /* FontAwesome.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome.ttf; path = ../src/assets/Fonts/FontAwesome.ttf; sourceTree = "<group>"; };
388EA3B93FD64F479AA9977E /* Ionicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Ionicons.ttf; path = ../src/assets/Fonts/Ionicons.ttf; sourceTree = "<group>"; };
407B133AFCE049E1866CA8F0 /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Regular.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf"; sourceTree = "<group>"; };
454696104228474690AC269D /* libc++.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
57A2D4F43661441EB7931F73 /* libRNVectorIcons-tvOS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = "libRNVectorIcons-tvOS.a"; sourceTree = "<group>"; };
57CFC1A4B02B44EF9AC4B40E /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Brands.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf"; 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>"; };
62AB655DC50F43FEA43A0DB5 /* Roboto.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Roboto.ttf; path = "../node_modules/native-base/Fonts/Roboto.ttf"; sourceTree = "<group>"; };
66AD4642077143E393F52059 /* MaterialIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialIcons.ttf; path = ../src/assets/Fonts/MaterialIcons.ttf; sourceTree = "<group>"; };
6E13BF49AA984CC7A97DBF2A /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialCommunityIcons.ttf; path = ../src/assets/Fonts/MaterialCommunityIcons.ttf; 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>"; };
7BCF48F9914F4B659820D0F8 /* libRCTRestart.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRCTRestart.a; sourceTree = "<group>"; };
7CFB3169945B40DFBBF6FDDA /* BVLinearGradient.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = BVLinearGradient.xcodeproj; path = "../node_modules/react-native-linear-gradient/BVLinearGradient.xcodeproj"; sourceTree = "<group>"; };
7D4E083B771D4AF2AF62E4D2 /* libz.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
7FCDF95A5AC44583BCB0BC29 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = SimpleLineIcons.ttf; path = ../src/assets/Fonts/SimpleLineIcons.ttf; sourceTree = "<group>"; };
80E5F0EC3C2D443BB0962A9E /* FastImage.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = FastImage.xcodeproj; path = "../node_modules/react-native-fast-image/ios/FastImage.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>"; };
85988004AC1C461D925751BF /* libBVLinearGradient.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libBVLinearGradient.a; sourceTree = "<group>"; };
8FC3953050C14CC4BC2199D6 /* Roboto_medium.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Roboto_medium.ttf; path = "../node_modules/native-base/Fonts/Roboto_medium.ttf"; sourceTree = "<group>"; };
985F520E6549442E867B919A /* Octicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Octicons.ttf; path = ../src/assets/Fonts/Octicons.ttf; sourceTree = "<group>"; };
9C88393A6064468CBBC856BA /* libRealmReact.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRealmReact.a; sourceTree = "<group>"; };
A3F54D7123BF487B9E36857D /* libRNVectorIcons.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNVectorIcons.a; sourceTree = "<group>"; };
A45F56F1823843228860C3B7 /* AntDesign.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = AntDesign.ttf; path = "../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf"; sourceTree = "<group>"; };
AAAB371C708C493896DF647D /* RCTRestart.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RCTRestart.xcodeproj; path = "../node_modules/react-native-restart/ios/RCTRestart.xcodeproj"; 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>"; };
80E5F0EC3C2D443BB0962A9E /* FastImage.xcodeproj */ = {isa = PBXFileReference; name = "FastImage.xcodeproj"; path = "../node_modules/react-native-fast-image/ios/FastImage.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
AF9C239586F64FB1A630F44F /* libFastImage.a */ = {isa = PBXFileReference; name = "libFastImage.a"; path = "libFastImage.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
7CFB3169945B40DFBBF6FDDA /* BVLinearGradient.xcodeproj */ = {isa = PBXFileReference; name = "BVLinearGradient.xcodeproj"; path = "../node_modules/react-native-linear-gradient/BVLinearGradient.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
85988004AC1C461D925751BF /* libBVLinearGradient.a */ = {isa = PBXFileReference; name = "libBVLinearGradient.a"; path = "libBVLinearGradient.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
AAAB371C708C493896DF647D /* RCTRestart.xcodeproj */ = {isa = PBXFileReference; name = "RCTRestart.xcodeproj"; path = "../node_modules/react-native-restart/ios/RCTRestart.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
7BCF48F9914F4B659820D0F8 /* libRCTRestart.a */ = {isa = PBXFileReference; name = "libRCTRestart.a"; path = "libRCTRestart.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
CECE249991544C198CBC7498 /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; name = "RNVectorIcons.xcodeproj"; path = "../node_modules/react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
A3F54D7123BF487B9E36857D /* libRNVectorIcons.a */ = {isa = PBXFileReference; name = "libRNVectorIcons.a"; path = "libRNVectorIcons.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
57A2D4F43661441EB7931F73 /* libRNVectorIcons-tvOS.a */ = {isa = PBXFileReference; name = "libRNVectorIcons-tvOS.a"; path = "libRNVectorIcons-tvOS.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
2E516DDCFE2646AA87414D17 /* RealmReact.xcodeproj */ = {isa = PBXFileReference; name = "RealmReact.xcodeproj"; path = "../node_modules/realm/react-native/ios/RealmReact.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
9C88393A6064468CBBC856BA /* libRealmReact.a */ = {isa = PBXFileReference; name = "libRealmReact.a"; path = "libRealmReact.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
454696104228474690AC269D /* libc++.tbd */ = {isa = PBXFileReference; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; fileEncoding = undefined; lastKnownFileType = sourcecode.text-based-dylib-definition; explicitFileType = undefined; includeInIndex = 0; };
7D4E083B771D4AF2AF62E4D2 /* libz.tbd */ = {isa = PBXFileReference; name = "libz.tbd"; path = "usr/lib/libz.tbd"; sourceTree = SDKROOT; fileEncoding = undefined; lastKnownFileType = sourcecode.text-based-dylib-definition; explicitFileType = undefined; includeInIndex = 0; };
FC41677141C34F878D9164FE /* Entypo.ttf */ = {isa = PBXFileReference; name = "Entypo.ttf"; path = "../src/assets/Fonts/Entypo.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
CDA19DB138184C9BB67FFA73 /* EvilIcons.ttf */ = {isa = PBXFileReference; name = "EvilIcons.ttf"; path = "../src/assets/Fonts/EvilIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
175F6344455D43E3AD32BD2A /* Feather.ttf */ = {isa = PBXFileReference; name = "Feather.ttf"; path = "../src/assets/Fonts/Feather.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
37A6EED65F7F453AB2D6F448 /* FontAwesome.ttf */ = {isa = PBXFileReference; name = "FontAwesome.ttf"; path = "../src/assets/Fonts/FontAwesome.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
155B93E49A624C14BC153CB0 /* Foundation.ttf */ = {isa = PBXFileReference; name = "Foundation.ttf"; path = "../src/assets/Fonts/Foundation.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
388EA3B93FD64F479AA9977E /* Ionicons.ttf */ = {isa = PBXFileReference; name = "Ionicons.ttf"; path = "../src/assets/Fonts/Ionicons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
6E13BF49AA984CC7A97DBF2A /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; name = "MaterialCommunityIcons.ttf"; path = "../src/assets/Fonts/MaterialCommunityIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
66AD4642077143E393F52059 /* MaterialIcons.ttf */ = {isa = PBXFileReference; name = "MaterialIcons.ttf"; path = "../src/assets/Fonts/MaterialIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
985F520E6549442E867B919A /* Octicons.ttf */ = {isa = PBXFileReference; name = "Octicons.ttf"; path = "../src/assets/Fonts/Octicons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
347EB6A9D2FB4924A001BC8C /* RobotoMono-Regular.ttf */ = {isa = PBXFileReference; name = "RobotoMono-Regular.ttf"; path = "../src/assets/Fonts/RobotoMono-Regular.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
E434A344B09D49AD966063AD /* Sansation_Bold.ttf */ = {isa = PBXFileReference; name = "Sansation_Bold.ttf"; path = "../src/assets/Fonts/Sansation_Bold.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
224245E1366F46F98214C9B8 /* Sansation_Regular.ttf */ = {isa = PBXFileReference; name = "Sansation_Regular.ttf"; path = "../src/assets/Fonts/Sansation_Regular.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
7FCDF95A5AC44583BCB0BC29 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; name = "SimpleLineIcons.ttf"; path = "../src/assets/Fonts/SimpleLineIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
B5A88E5DA41D4519AB3EFC05 /* Zocial.ttf */ = {isa = PBXFileReference; name = "Zocial.ttf"; path = "../src/assets/Fonts/Zocial.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
8FC3953050C14CC4BC2199D6 /* Roboto_medium.ttf */ = {isa = PBXFileReference; name = "Roboto_medium.ttf"; path = "../node_modules/native-base/Fonts/Roboto_medium.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
62AB655DC50F43FEA43A0DB5 /* Roboto.ttf */ = {isa = PBXFileReference; name = "Roboto.ttf"; path = "../node_modules/native-base/Fonts/Roboto.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
DC93996DDC7F41BB892B9E40 /* rubicon-icon-font.ttf */ = {isa = PBXFileReference; name = "rubicon-icon-font.ttf"; path = "../node_modules/native-base/Fonts/rubicon-icon-font.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
A45F56F1823843228860C3B7 /* AntDesign.ttf */ = {isa = PBXFileReference; name = "AntDesign.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
57CFC1A4B02B44EF9AC4B40E /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Brands.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
407B133AFCE049E1866CA8F0 /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Regular.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
F68E972F63D44244A855E496 /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Solid.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
AF9C239586F64FB1A630F44F /* libFastImage.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libFastImage.a; sourceTree = "<group>"; };
B5A88E5DA41D4519AB3EFC05 /* Zocial.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Zocial.ttf; path = ../src/assets/Fonts/Zocial.ttf; sourceTree = "<group>"; };
CDA19DB138184C9BB67FFA73 /* EvilIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = EvilIcons.ttf; path = ../src/assets/Fonts/EvilIcons.ttf; sourceTree = "<group>"; };
CECE249991544C198CBC7498 /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNVectorIcons.xcodeproj; path = "../node_modules/react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = "<group>"; };
DC93996DDC7F41BB892B9E40 /* rubicon-icon-font.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "rubicon-icon-font.ttf"; path = "../node_modules/native-base/Fonts/rubicon-icon-font.ttf"; sourceTree = "<group>"; };
E434A344B09D49AD966063AD /* Sansation_Bold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Sansation_Bold.ttf; path = ../src/assets/Fonts/Sansation_Bold.ttf; sourceTree = "<group>"; };
F68E972F63D44244A855E496 /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Solid.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf"; sourceTree = "<group>"; };
FC41677141C34F878D9164FE /* Entypo.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Entypo.ttf; path = ../src/assets/Fonts/Entypo.ttf; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -595,6 +645,61 @@
name = Frameworks;
sourceTree = "<group>";
};
5871231D219B600900354CBE /* Recovered References */ = {
isa = PBXGroup;
children = (
AF9C239586F64FB1A630F44F /* libFastImage.a */,
85988004AC1C461D925751BF /* libBVLinearGradient.a */,
7BCF48F9914F4B659820D0F8 /* libRCTRestart.a */,
A3F54D7123BF487B9E36857D /* libRNVectorIcons.a */,
9C88393A6064468CBBC856BA /* libRealmReact.a */,
57A2D4F43661441EB7931F73 /* libRNVectorIcons-tvOS.a */,
);
name = "Recovered References";
sourceTree = "<group>";
};
58712343219B601100354CBE /* Products */ = {
isa = PBXGroup;
children = (
58712347219B601100354CBE /* libRCTRestart.a */,
);
name = Products;
sourceTree = "<group>";
};
58712348219B601200354CBE /* Products */ = {
isa = PBXGroup;
children = (
5871234D219B601200354CBE /* libBVLinearGradient.a */,
5871234F219B601200354CBE /* libBVLinearGradient.a */,
);
name = Products;
sourceTree = "<group>";
};
58712351219B601200354CBE /* Products */ = {
isa = PBXGroup;
children = (
58712355219B601200354CBE /* libRealmReact.a */,
);
name = Products;
sourceTree = "<group>";
};
58712356219B601200354CBE /* Products */ = {
isa = PBXGroup;
children = (
5871235B219B601200354CBE /* libRNVectorIcons.a */,
5871235D219B601200354CBE /* libRNVectorIcons-tvOS.a */,
);
name = Products;
sourceTree = "<group>";
};
5871235F219B601500354CBE /* Products */ = {
isa = PBXGroup;
children = (
58712363219B601500354CBE /* libFastImage.a */,
);
name = Products;
sourceTree = "<group>";
};
5E91572E1DD0AC6500FF2AA8 /* Products */ = {
isa = PBXGroup;
children = (
@ -655,6 +760,7 @@
83CBBA001A601CBA00E9B192 /* Products */,
2D16E6871FA4F8E400B85C8A /* Frameworks */,
96EB32B58D4D41668D6CF1D6 /* Resources */,
5871231D219B600900354CBE /* Recovered References */,
);
indentWidth = 2;
sourceTree = "<group>";
@ -672,17 +778,8 @@
name = Products;
sourceTree = "<group>";
};
ADBDB9201DFEBF0600ED6528 /* Products */ = {
isa = PBXGroup;
children = (
ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */,
2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */,
);
name = Products;
sourceTree = "<group>";
};
96EB32B58D4D41668D6CF1D6 /* Resources */ = {
isa = "PBXGroup";
isa = PBXGroup;
children = (
FC41677141C34F878D9164FE /* Entypo.ttf */,
CDA19DB138184C9BB67FFA73 /* EvilIcons.ttf */,
@ -708,7 +805,15 @@
);
name = Resources;
sourceTree = "<group>";
path = "";
};
ADBDB9201DFEBF0600ED6528 /* Products */ = {
isa = PBXGroup;
children = (
ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */,
2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */,
);
name = Products;
sourceTree = "<group>";
};
/* End PBXGroup section */
@ -821,6 +926,14 @@
productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
projectDirPath = "";
projectReferences = (
{
ProductGroup = 58712348219B601200354CBE /* Products */;
ProjectRef = 7CFB3169945B40DFBBF6FDDA /* BVLinearGradient.xcodeproj */;
},
{
ProductGroup = 5871235F219B601500354CBE /* Products */;
ProjectRef = 80E5F0EC3C2D443BB0962A9E /* FastImage.xcodeproj */;
},
{
ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */;
ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */;
@ -849,6 +962,10 @@
ProductGroup = 00C302D41ABCB9D200DB3ED1 /* Products */;
ProjectRef = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */;
},
{
ProductGroup = 58712343219B601100354CBE /* Products */;
ProjectRef = AAAB371C708C493896DF647D /* RCTRestart.xcodeproj */;
},
{
ProductGroup = 139105B71AF99BAD00B5F7CC /* Products */;
ProjectRef = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */;
@ -869,6 +986,14 @@
ProductGroup = 146834001AC3E56700842450 /* Products */;
ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */;
},
{
ProductGroup = 58712351219B601200354CBE /* Products */;
ProjectRef = 2E516DDCFE2646AA87414D17 /* RealmReact.xcodeproj */;
},
{
ProductGroup = 58712356219B601200354CBE /* Products */;
ProjectRef = CECE249991544C198CBC7498 /* RNVectorIcons.xcodeproj */;
},
);
projectRoot = "";
targets = (
@ -1105,6 +1230,55 @@
remoteRef = 3DAD3EAE1DF850E9000B6D8A /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
58712347219B601100354CBE /* libRCTRestart.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libRCTRestart.a;
remoteRef = 58712346219B601100354CBE /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
5871234D219B601200354CBE /* libBVLinearGradient.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libBVLinearGradient.a;
remoteRef = 5871234C219B601200354CBE /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
5871234F219B601200354CBE /* libBVLinearGradient.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libBVLinearGradient.a;
remoteRef = 5871234E219B601200354CBE /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
58712355219B601200354CBE /* libRealmReact.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libRealmReact.a;
remoteRef = 58712354219B601200354CBE /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
5871235B219B601200354CBE /* libRNVectorIcons.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libRNVectorIcons.a;
remoteRef = 5871235A219B601200354CBE /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
5871235D219B601200354CBE /* libRNVectorIcons-tvOS.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libRNVectorIcons-tvOS.a";
remoteRef = 5871235C219B601200354CBE /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
58712363219B601500354CBE /* libFastImage.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libFastImage.a;
remoteRef = 58712362219B601500354CBE /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
@ -1299,16 +1473,17 @@
"DEBUG=1",
"$(inherited)",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**",
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/realm/src/**",
);
INFOPLIST_FILE = esteemTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
OTHER_LDFLAGS = (
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/esteem.app/esteem";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
@ -1318,14 +1493,13 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**",
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/realm/src/**",
OTHER_LDFLAGS = (
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/esteem.app/esteem";
};
name = Debug;
};
@ -1334,16 +1508,17 @@
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
COPY_PHASE_STRIP = NO;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**",
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/realm/src/**",
);
INFOPLIST_FILE = esteemTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
OTHER_LDFLAGS = (
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/esteem.app/esteem";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
@ -1353,14 +1528,13 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**",
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/realm/src/**",
OTHER_LDFLAGS = (
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/esteem.app/esteem";
};
name = Release;
};
@ -1370,6 +1544,14 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CURRENT_PROJECT_VERSION = 1;
DEAD_CODE_STRIPPING = NO;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**",
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/realm/src/**",
);
INFOPLIST_FILE = esteem/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = (
@ -1380,14 +1562,6 @@
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = esteem;
VERSIONING_SYSTEM = "apple-generic";
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**",
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/realm/src/**",
);
};
name = Debug;
};
@ -1396,6 +1570,14 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CURRENT_PROJECT_VERSION = 1;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**",
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/realm/src/**",
);
INFOPLIST_FILE = esteem/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = (
@ -1406,14 +1588,6 @@
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = esteem;
VERSIONING_SYSTEM = "apple-generic";
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**",
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/realm/src/**",
);
};
name = Release;
};
@ -1429,17 +1603,16 @@
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_TESTABILITY = YES;
GCC_NO_COMMON_BLOCKS = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**",
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/realm/src/**",
);
INFOPLIST_FILE = "esteem-tvOS/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = (
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.esteem-tvOS";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 9.2;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
@ -1449,14 +1622,15 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**",
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/realm/src/**",
OTHER_LDFLAGS = (
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.esteem-tvOS";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 9.2;
};
name = Debug;
};
@ -1472,17 +1646,16 @@
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_NO_COMMON_BLOCKS = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**",
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/realm/src/**",
);
INFOPLIST_FILE = "esteem-tvOS/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = (
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.esteem-tvOS";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 9.2;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
@ -1492,14 +1665,15 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**",
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/realm/src/**",
OTHER_LDFLAGS = (
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.esteem-tvOS";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 9.2;
};
name = Release;
};
@ -1514,17 +1688,16 @@
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_TESTABILITY = YES;
GCC_NO_COMMON_BLOCKS = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**",
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/realm/src/**",
);
INFOPLIST_FILE = "esteem-tvOSTests/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
OTHER_LDFLAGS = (
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.esteem-tvOSTests";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/esteem-tvOS.app/esteem-tvOS";
TVOS_DEPLOYMENT_TARGET = 10.1;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
@ -1534,14 +1707,15 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**",
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/realm/src/**",
OTHER_LDFLAGS = (
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.esteem-tvOSTests";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/esteem-tvOS.app/esteem-tvOS";
TVOS_DEPLOYMENT_TARGET = 10.1;
};
name = Debug;
};
@ -1556,17 +1730,16 @@
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_NO_COMMON_BLOCKS = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**",
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/realm/src/**",
);
INFOPLIST_FILE = "esteem-tvOSTests/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
OTHER_LDFLAGS = (
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.esteem-tvOSTests";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/esteem-tvOS.app/esteem-tvOS";
TVOS_DEPLOYMENT_TARGET = 10.1;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
@ -1576,14 +1749,15 @@
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**",
"$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient",
"$(SRCROOT)/../node_modules/react-native-restart/ios/RCTRestart/**",
"$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager",
"$(SRCROOT)/../node_modules/realm/src/**",
OTHER_LDFLAGS = (
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.esteem-tvOSTests";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/esteem-tvOS.app/esteem-tvOS";
TVOS_DEPLOYMENT_TARGET = 10.1;
};
name = Release;
};

1436
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -26,12 +26,12 @@
"axios": "^0.18.0",
"crypto-js": "^3.1.9-1",
"dsteem": "^0.10.1",
"jsdom": "^13.0.0",
"lodash": "^4.17.11",
"moment": "^2.22.2",
"native-base": "^2.8.1",
"react": "^16.6.0-alpha.8af6728",
"react-native": "^0.57.3",
"react-intl": "^2.7.2",
"react-native": "^0.57.5",
"react-native-extended-stylesheet": "^0.10.0",
"react-native-fast-image": "^4.0.14",
"react-native-html-renderer": "^1.0.0",

View File

@ -6,6 +6,8 @@ import NoPost from './view/noPostView';
import PostCardPlaceHolder from './view/postCardPlaceHolderView';
import PostPlaceHolder from './view/postPlaceHolderView';
import ProfileSummaryPlaceHolder from './view/profileSummaryPlaceHolder';
import WalletDetailsPlaceHolder from './view/walletDetailsPlaceHolder';
import WalletUnclaimedPlaceHolder from './view/walletUnclaimedPlaceHolder';
import Tag from './view/tagView';
import TextWithIcon from './view/textWithIconView';
import WalletLineItem from './view/walletLineItemView';
@ -22,6 +24,8 @@ export {
PostCardPlaceHolder,
PostPlaceHolder,
ProfileSummaryPlaceHolder,
WalletDetailsPlaceHolder,
WalletUnclaimedPlaceHolder,
Tag,
TextWithIcon,
WalletLineItem,

View File

@ -10,7 +10,7 @@ const TextWithIcon = ({
{isClickable || onPress ? (
<TouchableHighlight underlayColor="transparent" onPress={() => onPress && onPress()}>
<View style={styles.wrapper}>
<Icon style={[styles.icon, iconStyle]} name={iconName} iconType={iconType} />
{text && <Icon style={[styles.icon, iconStyle]} name={iconName} iconType={iconType} />}
<Text style={[styles.text]}>{text}</Text>
</View>
</TouchableHighlight>

View File

@ -0,0 +1,27 @@
import React from 'react';
import { View } from 'react-native';
import Placeholder from 'rn-placeholder';
import styles from './walletDetailsPlaceHolderStyles';
const WalletDetailsPlaceHolder = () => (
<View style={styles.container}>
<View style={styles.textWrapper}>
<Placeholder.Paragraph lineNumber={1} />
</View>
<View style={styles.textWrapper}>
<Placeholder.Box animate="fade" height={30} width="100%" radius={5} />
</View>
<View style={styles.textWrapper}>
<Placeholder.Box animate="fade" height={30} width="100%" radius={5} />
</View>
<View style={styles.textWrapper}>
<Placeholder.Box animate="fade" height={30} width="100%" radius={5} />
</View>
<View style={styles.textWrapper}>
<Placeholder.Box animate="fade" height={30} width="100%" radius={5} />
</View>
</View>
);
export default WalletDetailsPlaceHolder;

View File

@ -0,0 +1,19 @@
import EStyleSheet from 'react-native-extended-stylesheet';
export default EStyleSheet.create({
container: {
backgroundColor: '$white',
padding: 20,
borderStyle: 'solid',
borderWidth: 1,
borderTopWidth: 1,
borderColor: '#e2e5e8',
borderRadius: 5,
marginRight: 0,
marginLeft: 0,
marginTop: 10,
},
textWrapper: {
marginBottom: 10,
},
});

View File

@ -1,12 +1,15 @@
import React from 'react';
import { View, Text } from 'react-native';
import Ionicons from 'react-native-vector-icons/Ionicons';
import IconComp from '../../icon';
import styles from './walletLineItemStyles';
const WalletLineItem = ({
text,
textColor,
iconName,
iconType,
rightText,
rightTextColor,
isBoldText,
@ -26,7 +29,7 @@ const WalletLineItem = ({
circleIconColor && { backgroundColor: circleIconColor },
]}
>
<Ionicons style={styles.icon} name={iconName} />
<IconComp style={styles.icon} name={iconName} iconType={iconType} />
</View>
)}
<View>

View File

@ -0,0 +1,16 @@
import React from 'react';
import { View } from 'react-native';
import Placeholder from 'rn-placeholder';
import styles from './walletUnclaimedPlaceHolderStyles';
const WalletUnclaimedPlaceHolder = () => (
<View style={styles.container}>
<View style={styles.textWrapper}>
<Placeholder.Paragraph lineNumber={1} />
</View>
<Placeholder.Box animate="fade" height={30} width="100%" radius={5} />
</View>
);
export default WalletUnclaimedPlaceHolder;

View File

@ -0,0 +1,19 @@
import EStyleSheet from 'react-native-extended-stylesheet';
export default EStyleSheet.create({
container: {
backgroundColor: '$white',
padding: 20,
borderStyle: 'solid',
borderWidth: 1,
borderTopWidth: 1,
borderColor: '#e2e5e8',
borderRadius: 5,
marginRight: 0,
marginLeft: 0,
marginTop: 10,
},
textWrapper: {
marginBottom: 10,
},
});

View File

@ -69,11 +69,12 @@ class CollapsibleCardView extends Component {
noBorder,
fitContent,
isTitleCenter,
style,
} = this.props;
const { expanded } = this.state;
return (
<View style={[styles.container, !noBorder && styles.containerWithBorder]}>
<View style={[styles.container, !noBorder && styles.containerWithBorder, style]}>
<TouchableHighlight
underlayColor="transparent"
onPress={() => !locked && this._toggleOnPress()}

View File

@ -39,6 +39,7 @@ class CommentsView extends Component {
currentUser,
commentNumber,
handleOnReplyPress,
isProfilePreview,
} = this.props;
// commentNumber === 8 && alert('sekkiz:');
return (
@ -76,6 +77,7 @@ class CommentsView extends Component {
/>
</View>
</View>
{!isProfilePreview && (
<View style={{ marginLeft: marginLeft || 29 }}>
{commentNumber !== 8 && (
<Comments
@ -87,6 +89,7 @@ class CommentsView extends Component {
/>
)}
</View>
)}
</View>
)}
/>

View File

@ -7,6 +7,7 @@ import SimpleLineIcons from 'react-native-vector-icons/SimpleLineIcons';
import FontAwesome from 'react-native-vector-icons/FontAwesome';
import Feather from 'react-native-vector-icons/Feather';
import AntDesign from 'react-native-vector-icons/AntDesign';
import MaterialIcons from 'react-native-vector-icons/MaterialIcons';
class IconView extends Component {
constructor(props) {
@ -44,6 +45,8 @@ class IconView extends Component {
return <SimpleLineIcons {...this.props}>{children}</SimpleLineIcons>;
case 'AntDesign':
return <AntDesign {...this.props}>{children}</AntDesign>;
case 'MaterialIcons':
return <MaterialIcons {...this.props}>{children}</MaterialIcons>;
case 'MaterialCommunityIcons':
return (
<MaterialCommunityIcons name={name} {...this.props}>
@ -51,7 +54,7 @@ class IconView extends Component {
</MaterialCommunityIcons>
);
default:
return <Ionicons {...this.props} />;
return <Ionicons name {...this.props} />;
}
};

View File

@ -28,6 +28,7 @@ export default EStyleSheet.create({
leftIcons: {
flexDirection: 'row',
justifyContent: 'flex-start',
height: 20,
},
rightIcons: {
flexDirection: 'row',
@ -36,6 +37,10 @@ export default EStyleSheet.create({
insetIconStyle: {
marginRight: 12,
},
activityIndicator: {
marginRight: 12,
width: 30,
},
followCountWrapper: {
flexDirection: 'column',
marginRight: 40,

View File

@ -2,7 +2,6 @@ import React, { Component, Fragment } from 'react';
import {
View, Image, Text, TouchableOpacity, Dimensions, ActivityIndicator,
} from 'react-native';
import { DropdownButton } from '../../dropdownButton';
// Constants
import DEFAULT_IMAGE from '../../../assets/default_cover_image.png';
@ -50,9 +49,11 @@ class ProfileSummaryView extends Component {
isLoggedIn,
isFollowing,
isFavorite,
isMuted,
isOwnProfile,
isFollowLoading,
isProfileLoading,
handleFollowUnfollowUser,
handleMuteUnmuteUser,
} = this.props;
const votingPowerHoursText = hoursVP && `• Full in ${hoursVP} hours`;
const votingPowerText = `Voting power: ${percentVP}% ${votingPowerHoursText || ''}`;
@ -70,6 +71,7 @@ class ProfileSummaryView extends Component {
const isColumn = rowLength && DEVICE_WIDTH / rowLength <= 15;
const followButtonIcon = !isFollowing ? 'user-follow' : 'user-unfollow';
const ignoreButtonIcon = !isMuted ? 'ban' : 'minus';
return (
<Fragment>
@ -106,6 +108,7 @@ class ProfileSummaryView extends Component {
<View style={styles.footer}>
<View style={styles.leftIcons}>
<Fragment>
<View style={styles.followCountWrapper}>
<Text style={styles.followCount}>{followerCount}</Text>
<Text style={styles.followText}>followers</Text>
@ -114,6 +117,7 @@ class ProfileSummaryView extends Component {
<Text style={styles.followCount}>{followingCount}</Text>
<Text style={styles.followText}>following</Text>
</View>
</Fragment>
</View>
{isLoggedIn && (
<View style={styles.rightIcons}>
@ -127,8 +131,8 @@ class ProfileSummaryView extends Component {
style={[styles.insetIconStyle]}
color="#c1c5c7"
/>
{isFollowLoading ? (
<ActivityIndicator style={[styles.insetIconStyle, {width: 30}]} />
{isProfileLoading ? (
<ActivityIndicator style={styles.activityIndicator} />
) : (
<IconButton
backgroundColor="transparent"
@ -140,15 +144,21 @@ class ProfileSummaryView extends Component {
color="#c1c5c7"
/>
)}
{isProfileLoading ? (
<ActivityIndicator style={styles.activityIndicator} />
) : (
<IconButton
backgroundColor="transparent"
name={ignoreButtonIcon}
iconType="SimpleLineIcons"
onPress={() => handleMuteUnmuteUser(isMuted ? false : true)}
size={16}
style={styles.insetIconStyle}
color="#c1c5c7"
/>
)}
</Fragment>
)}
<DropdownButton
style={styles.insetIconStyle}
options={['option1', 'option2', 'option3', 'option4']}
iconName="md-more"
isHasChildIcon
childIconWrapperStyle={styles.dropdownIconStyle}
/>
</View>
)}
</View>

View File

@ -1,12 +1,15 @@
import React, { Component } from 'react';
import { View } from 'react-native';
import { injectIntl } from 'react-intl';
// Constants
// Utilities
import parseToken from '../../../utils/parseToken';
import parseDate from '../../../utils/parseDate';
import { vestsToSp } from '../../../utils/conversions';
// Components
import { FilterBar } from '../../filterBar';
import { GrayWrapper, WalletLineItem, Card } from '../../basicUIElements';
import { CollapsibleCard } from '../../collapsibleCard';
class TransactionView extends Component {
/* Props
@ -24,7 +27,98 @@ class TransactionView extends Component {
// Component Functions
_handleOnDropdownSelect = () => {};
_getTransactionData = (transaction) => {
const { walletData, intl: { formatNumber } } = this.props;
const result = {};
// eslint-disable-next-line
result.opName = transaction[1].op[0];
const opData = transaction[1].op[1];
const { timestamp } = transaction[1];
result.transDate = parseDate(timestamp);
result.icon = 'local-activity';
switch (result.opName) {
case 'curation_reward':
const { reward } = opData;
const { comment_author: commentAuthor, comment_permlink: commentPermlink } = opData;
result.value = `${formatNumber(vestsToSp(parseToken(reward), walletData.steemPerMVests), { minimumFractionDigits: 3 })} SP`;
result.details = `@${commentAuthor}/${commentPermlink}`;
break;
case 'author_reward':
case 'comment_benefactor_reward':
let {
sbd_payout: sbdPayout,
steem_payout: steemPayout,
vesting_payout: vestingPayout,
} = opData;
const { author, permlink } = opData;
sbdPayout = formatNumber(parseToken(sbdPayout), { minimumFractionDigits: 3 });
steemPayout = formatNumber(parseToken(steemPayout), { minimumFractionDigits: 3 });
vestingPayout = formatNumber(vestsToSp(parseToken(vestingPayout), walletData.steemPerMVests), { minimumFractionDigits: 3 });
result.value = `${sbdPayout > 0 ? `${sbdPayout} SBD` : ''} ${
steemPayout > 0 ? `${steemPayout} steemPayout` : ''
} ${vestingPayout > 0 ? `${vestingPayout} SP` : ''}`;
result.details = `@${author}/${permlink}`;
if (result.opName === 'comment_benefactor_reward') {
result.icon = 'comment';
}
break;
case 'claim_reward_balance':
let {
reward_sbd: rewardSdb,
reward_steem: rewardSteem,
reward_vests: rewardVests,
} = opData;
rewardSdb = formatNumber(parseToken(rewardSdb), { minimumFractionDigits: 3 });
rewardSteem = formatNumber(parseToken(rewardSteem), { minimumFractionDigits: 3 });
rewardVests = formatNumber(vestsToSp(parseToken(rewardVests), walletData.steemPerMVests), { minimumFractionDigits: 3 });
result.value = `${rewardSdb > 0 ? `${rewardSdb} SBD` : ''} ${
rewardSteem > 0 ? `${rewardSteem} STEEM` : ''
} ${rewardVests > 0 ? `${rewardVests} SP` : ''}`;
break;
case 'transfer':
case 'transfer_to_vesting':
const {
amount, memo, from, to,
} = opData;
result.value = `${amount}`;
result.icon = 'compare-arrows';
// details = <span>{memo} <br/><br/> <strong>@{from}</strong> -&gt; <strong>@{to}</strong></span>;
break;
case 'withdraw_vesting':
const { acc } = opData;
let { vesting_shares: opVestingShares } = opData;
opVestingShares = parseToken(opVestingShares);
result.value = `${formatNumber(vestsToSp(opVestingShares, walletData.steemPerMVests), { minimumFractionDigits: 3 })} SP`;
result.icon = 'money';
// details = <span><strong>@{acc}</strong></span>;
break;
case 'fill_order':
const { current_pays: currentPays, open_pays: openPays } = opData;
result.value = `${currentPays} = ${openPays}`;
result.icon = 'reorder';
break;
default:
break;
}
return result;
};
render() {
const { walletData: { transactions }, intl } = this.props;
return (
<View>
<FilterBar
@ -36,64 +130,50 @@ class TransactionView extends Component {
iconSize={16}
/>
<Card>
{transactions
&& transactions.map((item, index) => {
const transactionData = this._getTransactionData(item);
if (index % 2 === 0) {
return (
<WalletLineItem
text="Steem"
isCircleIcon
isThin
textColor="#3c4449"
iconName="md-star"
rightText="27.178 STEEM"
/>
<GrayWrapper>
<WalletLineItem
text="Comment Benefactor Reward"
description="32 minutes ago"
text={intl.formatMessage({
id: `wallet.${transactionData.opName}`,
})}
description={intl.formatRelative(transactionData.transDate)}
isCircleIcon
isThin
circleIconColor="white"
textColor="#3c4449"
iconName="ios-chatboxes"
rightText="18,891.867 STEEM"
iconName={transactionData.icon}
iconType="MaterialIcons"
rightText={transactionData.value}
tightTextColor="red"
/>
);
}
return (
<GrayWrapper>
<WalletLineItem
text={intl.formatMessage({
id: `wallet.${transactionData.opName}`,
})}
description={intl.formatRelative(transactionData.transDate)}
isCircleIcon
isThin
circleIconColor="white"
textColor="#3c4449"
iconName={transactionData.icon}
iconType="MaterialIcons"
rightText={transactionData.value}
tightTextColor="red"
/>
</GrayWrapper>
<WalletLineItem
text="Steem"
isCircleIcon
isThin
textColor="#3c4449"
iconName="md-star"
rightText="27.178 STEEM"
/>
<CollapsibleCard
titleColor="#788187"
title="Wallet Details"
expanded={false}
noBorder
fitContent
titleComponent={(
<WalletLineItem
text="Steem"
isCircleIcon
isThin
textColor="#3c4449"
iconName="md-star"
rightText="27.178 STEEM"
description="1 hour ago"
/>
)}
>
<WalletLineItem
fitContent
text="@barbara-orenya / recycled-items-embellishments-recyclage-pour-decoration-poetique-eng-fr-901b24da0394fest"
isThin
textColor="#3c4449"
/>
</CollapsibleCard>
);
})}
</Card>
</View>
);
}
}
export default TransactionView;
export default injectIntl(TransactionView);

View File

@ -1,7 +1,7 @@
import React, { Component } from 'react';
// Services and Actions
import { globalProps, getFeedHistory } from '../../../providers/steem/dsteem';
import { globalProps, getFeedHistory, getState } from '../../../providers/steem/dsteem';
// Middleware
@ -25,7 +25,7 @@ class WalletContainer extends Component {
constructor(props) {
super(props);
this.state = {
walletData: {},
walletData: null,
};
}
@ -33,7 +33,6 @@ class WalletContainer extends Component {
async componentWillMount() {
const { user } = this.props;
console.log('user :', user);
const walletData = {};
@ -66,7 +65,15 @@ class WalletContainer extends Component {
+ walletData.sbdBalance;
walletData.showPowerDown = user.next_vesting_withdrawal !== '1969-12-31T23:59:59';
walletData.nextVestingWithdrawal = parseDate(user.next_vesting_withdrawal);
const timeDiff = Math.abs(parseDate(user.next_vesting_withdrawal) - new Date());
walletData.nextVestingWithdrawal = Math.ceil(timeDiff / (1000 * 3600 * 24));
const state = await getState(`/@${user.name}/transfers`);
const { accounts } = state;
const { transfer_history: transferHistory } = accounts[user.name];
walletData.transactions = transferHistory
.slice(Math.max(transferHistory.length - 20, 0))
.reverse();
this.setState({ walletData });
}

View File

@ -1,7 +1,9 @@
import EStyleSheet from 'react-native-extended-stylesheet';
export default EStyleSheet.create({
container: {},
container: {
paddingBottom: 20,
},
// First collabsible component
mainButton: {
@ -28,9 +30,4 @@ export default EStyleSheet.create({
width: 24,
height: 24,
},
scrollView: {
height: '$deviceHeight / 1.36',
},
// Second collabsible component
});

View File

@ -9,6 +9,7 @@ import { MainButton } from '../../mainButton';
import { CollapsibleCard } from '../../collapsibleCard';
import { WalletDetails } from '../../walletDetails';
import { Transaction } from '../../transaction';
import { WalletDetailsPlaceHolder, WalletUnclaimedPlaceHolder } from '../../basicUIElements';
// Styles
import styles from './walletStyles';
@ -29,21 +30,24 @@ class WalletView extends Component {
// Component Functions
render() {
const { user, walletData } = this.props;
const { walletData } = this.props;
return (
<View style={styles.container}>
<ScrollView style={styles.scrollView}>
{walletData === null ? (
<WalletUnclaimedPlaceHolder />
) : (
(walletData.rewardSteemBalance > 0
|| walletData.rewardSbdBalance > 0
|| walletData.rewardVestingSteem > 0) && (
<CollapsibleCard
titleColor="#788187"
isBoldTitle
fontSize={16}
defaultTitle="Unclaimed rewards"
expanded
style={{ marginBottom: 0 }}
>
{walletData.rewardSteemBalance > 0
&& walletData.rewardSbdBalance > 0
&& walletData.rewardVestingSteem > 0 && (
<MainButton
style={styles.mainButton}
height={50}
@ -66,14 +70,21 @@ class WalletView extends Component {
</View>
</View>
</MainButton>
)}
</CollapsibleCard>
)
)}
{walletData === null ? (
<WalletDetailsPlaceHolder />
) : (
<CollapsibleCard titleColor="#788187" title="Wallet Details" expanded>
<WalletDetails walletData={walletData} />
</CollapsibleCard>
<Transaction />
)}
{walletData === null ? (
<WalletDetailsPlaceHolder />
) : (
<Transaction walletData={walletData} />
)}
</ScrollView>
</View>
);

View File

@ -1,7 +1,7 @@
import EStyleSheet from 'react-native-extended-stylesheet';
export default EStyleSheet.create({
styleName: {
// TODO: If we need default style. We can put there.
container: {
paddingBottom: 8,
},
});

View File

@ -32,7 +32,7 @@ class WalletDetailsView extends Component {
const { walletData } = this.props;
return (
<View>
<View style={styles.container}>
<WalletLineItem
text="Steem"
textColor="#3c4449"
@ -45,33 +45,32 @@ class WalletDetailsView extends Component {
text="Steem Power"
textColor="#3c4449"
iconName="ios-information-circle-outline"
rightText={`${Math.round(vestsToSp(walletData.vestingShares, walletData.steemPerMVests) * 1000) / 1000} SP`}
rightText={`${Math.round(
vestsToSp(walletData.vestingShares, walletData.steemPerMVests) * 1000,
) / 1000} SP`}
tightTextColor="red"
isBoldText
/>
{walletData.vestingSharesDelegated > 0 && (
<WalletLineItem
rightText={`- ${Math.round(vestsToSp(
walletData.vestingSharesDelegated,
walletData.steemPerMVests,
) * 1000) / 1000} SP`}
rightText={`- ${Math.round(
vestsToSp(walletData.vestingSharesDelegated, walletData.steemPerMVests) * 1000,
) / 1000} SP`}
/>
)}
{walletData.vestingSharesReceived > 0 && (
<WalletLineItem
rightText={`+ ${Math.round(vestsToSp(
walletData.vestingSharesReceived,
walletData.steemPerMVests,
) * 1000) / 1000} SP`}
rightText={`+ ${Math.round(
vestsToSp(walletData.vestingSharesReceived, walletData.steemPerMVests) * 1000,
) / 1000} SP`}
/>
)}
{(walletData.vestingSharesDelegated > 0 || walletData.vestingSharesReceived > 0) && (
<WalletLineItem
rightText={`= ${Math.round(vestsToSp(
walletData.vestingSharesTotal,
walletData.steemPerMVests,
) * 1000) / 1000} SP`}
rightText={`= ${Math.round(
vestsToSp(walletData.vestingSharesTotal, walletData.steemPerMVests) * 1000,
) / 1000} SP`}
rightTextColor="#357ce6"
/>
)}
@ -94,6 +93,13 @@ class WalletDetailsView extends Component {
/>
<WalletLineItem rightText={`$${Math.round(walletData.savingBalanceSbd * 1000) / 1000}`} />
</GrayWrapper>
{walletData.showPowerDown && (
<WalletLineItem
text={`Next power down is in ${walletData.nextVestingWithdrawal} days`}
textColor="#788187"
iconName="ios-information-circle-outline"
/>
)}
</View>
);
}

View File

@ -0,0 +1,12 @@
{
"wallet": {
"curation_reward": "Curation Reward",
"author_reward": "Author Reward",
"comment_benefactor_reward": "Comment Benefactor Reward",
"claim_reward_balance": "Claim Reward Balance",
"transfer": "Transfer",
"transfer_to_vesting": "Transfer To Vesting",
"withdraw_vesting": "withdraw_vesting",
"fill_order": "Fill Order"
}
}

View File

@ -0,0 +1,6 @@
export default {
'en-US': require('./en-US.json'),
'tr-TR': require('./tr-TR.json'),
};
export const locales = [{ id: 'en-US', name: 'English' }, { id: 'tr-TR', name: 'Türkçe' }];

View File

@ -0,0 +1,12 @@
{
"wallet": {
"curation_reward": "Curation Reward",
"author_reward": "Author Reward",
"comment_benefactor_reward": "Comment Benefactor Reward",
"claim_reward_balance": "Claim Reward Balance",
"transfer": "Transfer",
"transfer_to_vesting": "Transfer To Vesting",
"withdraw_vesting": "withdraw_vesting",
"fill_order": "Fill Order"
}
}

View File

@ -1,10 +1,17 @@
import React from 'react';
import { Dimensions } from 'react-native';
import { Provider } from 'react-redux';
import { IntlProvider, addLocaleData } from 'react-intl';
import en from 'react-intl/locale-data/en';
import tr from 'react-intl/locale-data/tr';
import EStyleSheet from 'react-native-extended-stylesheet';
import store from './redux/store/store';
import { ReduxNavigation } from './config/reduxNavigation';
import { flattenMessages } from './utils/flattenMessages';
import messages from './config/locales';
addLocaleData([...en, ...tr]);
// STYLE
@ -41,8 +48,12 @@ EStyleSheet.build({
$primaryLatterSpacing: 0,
});
const locale = 'en-US';
export default () => (
<Provider store={store}>
<IntlProvider locale={locale} messages={flattenMessages(messages[locale])}>
<ReduxNavigation />
</IntlProvider>
</Provider>
);

View File

@ -37,6 +37,19 @@ export const getAccount = user => new Promise((resolve, reject) => {
}
});
/**
* @method getAccount get account data
* @param user username
*/
export const getState = async (path) => {
try {
const state = await client.database.getState(path);
return state;
} catch (error) {
return error;
}
};
/**
* @method getUser get account data
* @param user username
@ -145,39 +158,39 @@ export const getIsMuted = async (username, targetUsername) => {
return false;
};
export const ignore = (account, pin, following) => {
if (account.type === 's') {
const key = decryptKey(account.keys.posting, pin);
const privateKey = PrivateKey.fromString(key);
const follower = account.username;
export const ignoreUser = (data, postingKey) => {
let key;
try {
key = PrivateKey.fromString(postingKey);
} catch (error) {
console.log(error);
}
const json = {
id: 'follow',
json: JSON.stringify([
'follow',
{
follower,
following,
follower: `${data.follower}`,
following: `${data.following}`,
what: ['ignore'],
},
]),
required_auths: [],
required_posting_auths: [follower],
required_posting_auths: [`${data.follower}`],
};
return client.broadcast.json(json, privateKey);
}
if (account.type === 'sc') {
const token = decryptKey(account.accessToken, pin);
const api = sc2.Initialize({
accessToken: token,
return new Promise((resolve, reject) => {
client.broadcast
.json(json, key)
.then((result) => {
console.log(result);
resolve(result);
})
.catch((err) => {
console.log(err);
reject(err);
});
});
const follower = account.username;
return api.ignore(follower, following);
}
};
/**

View File

@ -95,7 +95,6 @@ class PinCodeContainer extends Component {
username: currentAccount.name,
accessToken,
};
console.log('pinData setUserDataWithPinCode0000000000', currentAccount);
setUserDataWithPinCode(pinData).then(() => {
AsyncStorage.setItem(INITIAL.IS_EXIST_USER, JSON.stringify(true), () => {
dispatch(closePinCodeModal());

View File

@ -133,7 +133,6 @@ class ProfilePage extends React.Component {
};
getMore = async () => {
console.log('get more');
await getPosts(
'blog',
{

View File

@ -8,6 +8,7 @@ import { ProfileScreen } from '..';
import {
followUser,
unfollowUser,
ignoreUser,
getFollows,
getUserComments,
getUser,
@ -34,7 +35,7 @@ class ProfileContainer extends Component {
isReady: false,
isFollowing: false,
isMuted: false,
isFollowLoading: false,
isProfileLoading: false,
};
}
@ -89,7 +90,7 @@ class ProfileContainer extends Component {
const privateKey = decryptKey(currentAccount.realm_object.postingKey, digitPinCode);
this.setState({
isFollowLoading: true,
isProfileLoading: true,
});
if (isFollowAction && !isFollowing) {
@ -99,6 +100,24 @@ class ProfileContainer extends Component {
}
};
_handleMuteUnmuteUser = async (isMuteAction) => {
const { username, isMuted } = this.state;
const { currentAccount } = this.props;
const digitPinCode = await getDigitPinCode();
const privateKey = decryptKey(currentAccount.realm_object.postingKey, digitPinCode);
this.setState({
isProfileLoading: true,
});
if (isMuteAction && !isMuted) {
this._muteUser(currentAccount.name, username, privateKey);
} else {
this._muteUser(currentAccount.name, username, privateKey);
}
};
_unfollowUser = (follower, following, privateKey) => {
unfollowUser(
{
@ -107,11 +126,11 @@ class ProfileContainer extends Component {
},
privateKey,
)
.then((result) => {
this._followActionDone();
.then(() => {
this._profileActionDone();
})
.catch((err) => {
this._followActionDone(err);
this._profileActionDone(err);
});
};
@ -123,25 +142,42 @@ class ProfileContainer extends Component {
},
privateKey,
)
.then((result) => {
this._followActionDone();
.then(() => {
this._profileActionDone();
})
.catch((err) => {
this._followActionDone(err);
this._profileActionDone(err);
});
};
_followActionDone = (error = null) => {
_muteUser = async (follower, following, privateKey) => {
ignoreUser(
{
follower,
following,
},
privateKey,
)
.then(() => {
this._profileActionDone();
})
.catch((err) => {
this._profileActionDone(err);
});
};
_profileActionDone = (error = null) => {
const { username } = this.state;
this.setState({
isFollowLoading: false,
isProfileLoading: false,
});
if (error) {
this.setState({
error,
});
alert(error);
} else {
this._fetchProfile(username);
}
@ -193,7 +229,7 @@ class ProfileContainer extends Component {
comments,
error,
follows,
isFollowLoading,
isProfileLoading,
isFollowing,
isMuted,
isLoading,
@ -212,7 +248,8 @@ class ProfileContainer extends Component {
error={error}
follows={follows}
handleFollowUnfollowUser={this._handleFollowUnfollowUser}
isFollowLoading={isFollowLoading}
handleMuteUnmuteUser={this._handleMuteUnmuteUser}
isProfileLoading={isProfileLoading}
isFollowing={isFollowing}
isLoading={isLoading}
isLoggedIn={isLoggedIn}

View File

@ -39,8 +39,10 @@ class ProfileScreen extends Component {
user,
isReady,
username,
isMuted,
isFollowing,
isFollowLoading,
handleMuteUnmuteUser,
isProfileLoading,
} = this.props;
let _about;
let avatar;
@ -85,11 +87,13 @@ class ProfileScreen extends Component {
>
<ProfileSummary
isFollowing={isFollowing}
isMuted={isMuted}
isOwnProfile={!isReverseHeader}
percentVP={votingPower}
isFollowLoading={isFollowLoading}
isProfileLoading={isProfileLoading}
isLoggedIn={isLoggedIn}
handleFollowUnfollowUser={handleFollowUnfollowUser}
handleMuteUnmuteUser={handleMuteUnmuteUser}
percentRC={resourceCredits}
hoursVP={fullInHourVP || null}
hoursRC={fullInHourRC || null}
@ -137,7 +141,7 @@ class ProfileScreen extends Component {
<View tabLabel="Comments" style={styles.commentsTabBar}>
{comments && comments.length > 0 ? (
<ScrollView>
<Comments comments={comments} />
<Comments isProfilePreview comments={comments} />
</ScrollView>
) : (
<NoPost
@ -147,9 +151,7 @@ class ProfileScreen extends Component {
/>
)}
</View>
<View
tabLabel="Wallet"
>
<View tabLabel="Wallet">
<Wallet user={user} />
</View>
</ScrollableTabView>

View File

@ -39,7 +39,7 @@ export default EStyleSheet.create({
},
tabbar: {
alignSelf: 'center',
height: 55,
height: 50,
backgroundColor: '$white',
borderBottomColor: '#f1f1f1',
},
@ -58,6 +58,8 @@ export default EStyleSheet.create({
},
commentsTabBar: {
backgroundColor: '$white',
paddingHorizontal: 16,
paddingVertical: 5,
},
tabBarTitle: {},
});

View File

@ -0,0 +1,12 @@
export const flattenMessages = (nestedMessages, prefix = '') => Object.keys(nestedMessages).reduce((messages, key) => {
const value = nestedMessages[key];
const prefixedKey = prefix ? `${prefix}.${key}` : key;
if (typeof value === 'string') {
messages[prefixedKey] = value;
} else {
Object.assign(messages, flattenMessages(value, prefixedKey));
}
return messages;
}, {});