add some bugs
but now, field editor can send results to anki
This commit is contained in:
parent
c5c00cf574
commit
f906787cc2
3
App.jsx
3
App.jsx
|
@ -2,10 +2,13 @@ import React, {useEffect} from 'react';
|
|||
import {Provider} from 'react-redux';
|
||||
import StartScreen from './src/components/add-anklan-model';
|
||||
import store from './src/store';
|
||||
import {ScrollView} from 'react-native';
|
||||
const App = props => {
|
||||
return (
|
||||
<Provider store={store}>
|
||||
<ScrollView keyboardShouldPersistTaps={'handled'}>
|
||||
<StartScreen />
|
||||
</ScrollView>
|
||||
</Provider>
|
||||
);
|
||||
};
|
||||
|
|
|
@ -16,43 +16,6 @@
|
|||
2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
||||
2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
||||
2DCD954D1E0B4F2C00145EB5 /* ankilanTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ankilanTests.m */; };
|
||||
<<<<<<< HEAD
|
||||
77265BEFC4404E238D395E2C /* AntDesign.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 0E5D5065D768435EA998104A /* AntDesign.ttf */; };
|
||||
B68FA0D61C384C9AB44BD3BE /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 40287932B0184615A4E3081F /* Entypo.ttf */; };
|
||||
B9388BD77CA54A9298B4A98F /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5D95DE62BE4C4C0BAACB9571 /* EvilIcons.ttf */; };
|
||||
1B72CDB36FA2454E80F9BF84 /* Feather.ttf in Resources */ = {isa = PBXBuildFile; fileRef = CD46594AEDA34747A782AC3D /* Feather.ttf */; };
|
||||
643CFD36A53F45D29F6DB911 /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 8E1A1F7D4CA34FE98CFEC237 /* FontAwesome.ttf */; };
|
||||
9D350D17269E4421814FD226 /* FontAwesome5_Brands.ttf in Resources */ = {isa = PBXBuildFile; fileRef = ED6890DD84FE4EA99296229D /* FontAwesome5_Brands.ttf */; };
|
||||
A5FDE794DF894F9C80EF1DDB /* FontAwesome5_Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C0E9531BEA02454CBD0C6FBD /* FontAwesome5_Regular.ttf */; };
|
||||
6B0D1C3DEF6F40E49051ADFD /* FontAwesome5_Solid.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 12BD84FA23A5492B82A5F9D1 /* FontAwesome5_Solid.ttf */; };
|
||||
749C4579CA3D4FA8B62D6CD0 /* Fontisto.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 541ACBC4238A4C9FA790279C /* Fontisto.ttf */; };
|
||||
DB083F96D4E54520944CC6B8 /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D952F276655F4116AE32EA9D /* Foundation.ttf */; };
|
||||
15684583EFF44F93B3CBA8C6 /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = ADEA2AF0C20D43F49417482C /* Ionicons.ttf */; };
|
||||
4E47773AA7F747549D68E340 /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2B694C9DF6484220B8BDBC4C /* MaterialCommunityIcons.ttf */; };
|
||||
848391DEF1534137AD02437A /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A55AE72F84B64F0AA5D7948E /* MaterialIcons.ttf */; };
|
||||
C2DFC8C9364D4CFC86D9CAF7 /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 0D898720909B40DDAE2DD962 /* Octicons.ttf */; };
|
||||
82292E3F27F245E78AEA3976 /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7CAF012D54D74938AC6582E8 /* SimpleLineIcons.ttf */; };
|
||||
075D7804361B4568A80C1C8B /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BBB7B364E4EB41B0B72D85E2 /* Zocial.ttf */; };
|
||||
5E067ED19FD4497D9DDFED6E /* AntDesign.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6618AA0F4ACA4FB592D4B65E /* AntDesign.ttf */; };
|
||||
4525C331CA074AA8821A0A74 /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 4E741E0B0415492B84AA6338 /* Entypo.ttf */; };
|
||||
EBC1408C0D5B468C89351BF9 /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C3D87EB19C1441E48F068E76 /* EvilIcons.ttf */; };
|
||||
7672B539400347B38EBC5BC6 /* Feather.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B71E3585F57A439BA19EC58A /* Feather.ttf */; };
|
||||
B55BA6C3EDA3411F88377AC6 /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6C85CD26B68143D88F3B0D91 /* FontAwesome.ttf */; };
|
||||
C8D284A938CD4AAA95C273CF /* FontAwesome5_Brands.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 0A6AD8EC583344DC8F8C4F7D /* FontAwesome5_Brands.ttf */; };
|
||||
6749E7E250894B32B725E396 /* FontAwesome5_Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 59DEB958643A4EAE95590608 /* FontAwesome5_Regular.ttf */; };
|
||||
62C892EF8F754F96846B3DA1 /* FontAwesome5_Solid.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6F623DCAC23248E0881A882F /* FontAwesome5_Solid.ttf */; };
|
||||
A1018DA50A8243779C30614F /* Fontisto.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 59A3C11F9A0F4037B19FA8E0 /* Fontisto.ttf */; };
|
||||
99117C77F940481396CA4AC3 /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = CD615A449A13412DB86EDE23 /* Foundation.ttf */; };
|
||||
56AB61224A8D4D299928EB52 /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EB272CDEE78846EAB3705E3D /* Ionicons.ttf */; };
|
||||
7B694A83F3344A2691FD06C0 /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 404E33F7BD1547C288E43849 /* MaterialCommunityIcons.ttf */; };
|
||||
A6C35BE496C74106A865E29F /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B6481E8C83BA4DC8A3CF1CE1 /* MaterialIcons.ttf */; };
|
||||
BFA62F01D55E49F082484880 /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 47F25353830F49929447886C /* Octicons.ttf */; };
|
||||
E82E1B56EE1C419CA2EF9BAA /* Roboto_medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E585FBA2C3448E0980D844C /* Roboto_medium.ttf */; };
|
||||
55C9C4FD91C94DDEA26F1FFE /* Roboto.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2631E54546774FBE8190B056 /* Roboto.ttf */; };
|
||||
ADAC158BE8B441D685F551CC /* rubicon-icon-font.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2762280877E6481791F752C8 /* rubicon-icon-font.ttf */; };
|
||||
4DB67A84E7FF44FF8100CE68 /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F15E1AD962AC475ABEBE9A1F /* SimpleLineIcons.ttf */; };
|
||||
B71508403B384BFEB49A7215 /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 091E38CCBA674D09BC6AD2DE /* Zocial.ttf */; };
|
||||
=======
|
||||
4D52FDE523E84B2791C3D67D /* AntDesign.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 3000D2B3834E4C66A28382F8 /* AntDesign.ttf */; };
|
||||
B90493FFE9264DF5B6CC7C44 /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = ADE75B0AF3E84621B5059B43 /* Entypo.ttf */; };
|
||||
31DBC812F4DE446B9D3DC7B1 /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7AD629F9A4B44BFE9AFEA2E9 /* EvilIcons.ttf */; };
|
||||
|
@ -69,7 +32,25 @@
|
|||
60D08C8669D9491891F0EAE0 /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 006C0665080F4DB581A45597 /* Octicons.ttf */; };
|
||||
157D60FEAF7C49948291342D /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 00E332BD0E6B4F69AD2BFB66 /* SimpleLineIcons.ttf */; };
|
||||
31C2D4A00BF24B9989303435 /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 16C65B2FFA244990A98EED99 /* Zocial.ttf */; };
|
||||
>>>>>>> fixed
|
||||
8D8BE89F91D74671AFB64D2C /* AntDesign.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 815103740257422193FC7AE2 /* AntDesign.ttf */; };
|
||||
4A17FB4653CC440AB4AB4727 /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 65310CCA118F4BDCAA2703C7 /* Entypo.ttf */; };
|
||||
4B80D071E9CE49CCBE5DEA8C /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BDF8E1DB2454481E9F053ED8 /* EvilIcons.ttf */; };
|
||||
7CD9E571FBE84C439B621424 /* Feather.ttf in Resources */ = {isa = PBXBuildFile; fileRef = CFA238B086774C5182CF9E74 /* Feather.ttf */; };
|
||||
91FB71DDF4AD4E539A0EA9AC /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 89FF5EEC421940BD9B87E05B /* FontAwesome.ttf */; };
|
||||
672335B5103340FCA6134245 /* FontAwesome5_Brands.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B0A9A880302045279E1AC169 /* FontAwesome5_Brands.ttf */; };
|
||||
2BA06EF0BEC14ECAB6E0EB75 /* FontAwesome5_Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = CE20899185F54519B1E99CD4 /* FontAwesome5_Regular.ttf */; };
|
||||
EB754F50B18843438AE9584B /* FontAwesome5_Solid.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F729C7E2EE884946A9355C09 /* FontAwesome5_Solid.ttf */; };
|
||||
59E7B35F18164C33B0B5EF05 /* Fontisto.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EDC60BAA3424456EBA1B6E60 /* Fontisto.ttf */; };
|
||||
1FA456BCAB83416A8D5F2D87 /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = CF8C1A780F814B8D84C7F4B1 /* Foundation.ttf */; };
|
||||
D95A4E6E2CD941F391A5EEB4 /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D66B241207A741E496B56CE6 /* Ionicons.ttf */; };
|
||||
4537D47615C74572A714AA90 /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2449D789EDFA490F94CDFF70 /* MaterialCommunityIcons.ttf */; };
|
||||
E44A942AC14D4507BC99DECE /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 0BE4128DA4E948CBB5CEBAB6 /* MaterialIcons.ttf */; };
|
||||
4566B253DB464EBDB664384E /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5E88A5C8BFD24316B071099E /* Octicons.ttf */; };
|
||||
0CB4E4F529864AC2B859B391 /* Roboto_medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A0C3A73E3BBC4852925DDA84 /* Roboto_medium.ttf */; };
|
||||
4A6A9E3F180B402088CB7AED /* Roboto.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C4B0005B2ABE4F319327EA88 /* Roboto.ttf */; };
|
||||
A6FC377548264D7AA86CB2F7 /* rubicon-icon-font.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B3663D02D2B24A3A91096EC7 /* rubicon-icon-font.ttf */; };
|
||||
EA1F8F76E9FF490E905EADFF /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D3D982862ECF4A74991ECB71 /* SimpleLineIcons.ttf */; };
|
||||
F39BB18FAFFB4B0FBEF0AC9B /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 80AB858D3BA841F7A5A31B64 /* Zocial.ttf */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
|
@ -105,43 +86,6 @@
|
|||
2D02E4901E0B4A5D006451C7 /* ankilan-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "ankilan-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
||||
ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
|
||||
<<<<<<< HEAD
|
||||
0E5D5065D768435EA998104A /* 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; };
|
||||
40287932B0184615A4E3081F /* Entypo.ttf */ = {isa = PBXFileReference; name = "Entypo.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
5D95DE62BE4C4C0BAACB9571 /* EvilIcons.ttf */ = {isa = PBXFileReference; name = "EvilIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
CD46594AEDA34747A782AC3D /* Feather.ttf */ = {isa = PBXFileReference; name = "Feather.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Feather.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
8E1A1F7D4CA34FE98CFEC237 /* FontAwesome.ttf */ = {isa = PBXFileReference; name = "FontAwesome.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
ED6890DD84FE4EA99296229D /* 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; };
|
||||
C0E9531BEA02454CBD0C6FBD /* 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; };
|
||||
12BD84FA23A5492B82A5F9D1 /* 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; };
|
||||
541ACBC4238A4C9FA790279C /* Fontisto.ttf */ = {isa = PBXFileReference; name = "Fontisto.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Fontisto.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
D952F276655F4116AE32EA9D /* Foundation.ttf */ = {isa = PBXFileReference; name = "Foundation.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
ADEA2AF0C20D43F49417482C /* Ionicons.ttf */ = {isa = PBXFileReference; name = "Ionicons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
2B694C9DF6484220B8BDBC4C /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; name = "MaterialCommunityIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
A55AE72F84B64F0AA5D7948E /* MaterialIcons.ttf */ = {isa = PBXFileReference; name = "MaterialIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
0D898720909B40DDAE2DD962 /* Octicons.ttf */ = {isa = PBXFileReference; name = "Octicons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
7CAF012D54D74938AC6582E8 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; name = "SimpleLineIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
BBB7B364E4EB41B0B72D85E2 /* Zocial.ttf */ = {isa = PBXFileReference; name = "Zocial.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
6618AA0F4ACA4FB592D4B65E /* AntDesign.ttf */ = {isa = PBXFileReference; name = "AntDesign.ttf"; path = "../node_modules/native-base/Fonts/AntDesign.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
4E741E0B0415492B84AA6338 /* Entypo.ttf */ = {isa = PBXFileReference; name = "Entypo.ttf"; path = "../node_modules/native-base/Fonts/Entypo.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
C3D87EB19C1441E48F068E76 /* EvilIcons.ttf */ = {isa = PBXFileReference; name = "EvilIcons.ttf"; path = "../node_modules/native-base/Fonts/EvilIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
B71E3585F57A439BA19EC58A /* Feather.ttf */ = {isa = PBXFileReference; name = "Feather.ttf"; path = "../node_modules/native-base/Fonts/Feather.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
6C85CD26B68143D88F3B0D91 /* FontAwesome.ttf */ = {isa = PBXFileReference; name = "FontAwesome.ttf"; path = "../node_modules/native-base/Fonts/FontAwesome.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
0A6AD8EC583344DC8F8C4F7D /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Brands.ttf"; path = "../node_modules/native-base/Fonts/FontAwesome5_Brands.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
59DEB958643A4EAE95590608 /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Regular.ttf"; path = "../node_modules/native-base/Fonts/FontAwesome5_Regular.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
6F623DCAC23248E0881A882F /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Solid.ttf"; path = "../node_modules/native-base/Fonts/FontAwesome5_Solid.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
59A3C11F9A0F4037B19FA8E0 /* Fontisto.ttf */ = {isa = PBXFileReference; name = "Fontisto.ttf"; path = "../node_modules/native-base/Fonts/Fontisto.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
CD615A449A13412DB86EDE23 /* Foundation.ttf */ = {isa = PBXFileReference; name = "Foundation.ttf"; path = "../node_modules/native-base/Fonts/Foundation.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
EB272CDEE78846EAB3705E3D /* Ionicons.ttf */ = {isa = PBXFileReference; name = "Ionicons.ttf"; path = "../node_modules/native-base/Fonts/Ionicons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
404E33F7BD1547C288E43849 /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; name = "MaterialCommunityIcons.ttf"; path = "../node_modules/native-base/Fonts/MaterialCommunityIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
B6481E8C83BA4DC8A3CF1CE1 /* MaterialIcons.ttf */ = {isa = PBXFileReference; name = "MaterialIcons.ttf"; path = "../node_modules/native-base/Fonts/MaterialIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
47F25353830F49929447886C /* Octicons.ttf */ = {isa = PBXFileReference; name = "Octicons.ttf"; path = "../node_modules/native-base/Fonts/Octicons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
7E585FBA2C3448E0980D844C /* 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; };
|
||||
2631E54546774FBE8190B056 /* 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; };
|
||||
2762280877E6481791F752C8 /* 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; };
|
||||
F15E1AD962AC475ABEBE9A1F /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; name = "SimpleLineIcons.ttf"; path = "../node_modules/native-base/Fonts/SimpleLineIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
091E38CCBA674D09BC6AD2DE /* Zocial.ttf */ = {isa = PBXFileReference; name = "Zocial.ttf"; path = "../node_modules/native-base/Fonts/Zocial.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
=======
|
||||
3000D2B3834E4C66A28382F8 /* 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; };
|
||||
ADE75B0AF3E84621B5059B43 /* Entypo.ttf */ = {isa = PBXFileReference; name = "Entypo.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
7AD629F9A4B44BFE9AFEA2E9 /* EvilIcons.ttf */ = {isa = PBXFileReference; name = "EvilIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
|
@ -158,7 +102,25 @@
|
|||
006C0665080F4DB581A45597 /* Octicons.ttf */ = {isa = PBXFileReference; name = "Octicons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
00E332BD0E6B4F69AD2BFB66 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; name = "SimpleLineIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
16C65B2FFA244990A98EED99 /* Zocial.ttf */ = {isa = PBXFileReference; name = "Zocial.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
>>>>>>> fixed
|
||||
815103740257422193FC7AE2 /* AntDesign.ttf */ = {isa = PBXFileReference; name = "AntDesign.ttf"; path = "../node_modules/native-base/Fonts/AntDesign.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
65310CCA118F4BDCAA2703C7 /* Entypo.ttf */ = {isa = PBXFileReference; name = "Entypo.ttf"; path = "../node_modules/native-base/Fonts/Entypo.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
BDF8E1DB2454481E9F053ED8 /* EvilIcons.ttf */ = {isa = PBXFileReference; name = "EvilIcons.ttf"; path = "../node_modules/native-base/Fonts/EvilIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
CFA238B086774C5182CF9E74 /* Feather.ttf */ = {isa = PBXFileReference; name = "Feather.ttf"; path = "../node_modules/native-base/Fonts/Feather.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
89FF5EEC421940BD9B87E05B /* FontAwesome.ttf */ = {isa = PBXFileReference; name = "FontAwesome.ttf"; path = "../node_modules/native-base/Fonts/FontAwesome.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
B0A9A880302045279E1AC169 /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Brands.ttf"; path = "../node_modules/native-base/Fonts/FontAwesome5_Brands.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
CE20899185F54519B1E99CD4 /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Regular.ttf"; path = "../node_modules/native-base/Fonts/FontAwesome5_Regular.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
F729C7E2EE884946A9355C09 /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Solid.ttf"; path = "../node_modules/native-base/Fonts/FontAwesome5_Solid.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
EDC60BAA3424456EBA1B6E60 /* Fontisto.ttf */ = {isa = PBXFileReference; name = "Fontisto.ttf"; path = "../node_modules/native-base/Fonts/Fontisto.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
CF8C1A780F814B8D84C7F4B1 /* Foundation.ttf */ = {isa = PBXFileReference; name = "Foundation.ttf"; path = "../node_modules/native-base/Fonts/Foundation.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
D66B241207A741E496B56CE6 /* Ionicons.ttf */ = {isa = PBXFileReference; name = "Ionicons.ttf"; path = "../node_modules/native-base/Fonts/Ionicons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
2449D789EDFA490F94CDFF70 /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; name = "MaterialCommunityIcons.ttf"; path = "../node_modules/native-base/Fonts/MaterialCommunityIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
0BE4128DA4E948CBB5CEBAB6 /* MaterialIcons.ttf */ = {isa = PBXFileReference; name = "MaterialIcons.ttf"; path = "../node_modules/native-base/Fonts/MaterialIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
5E88A5C8BFD24316B071099E /* Octicons.ttf */ = {isa = PBXFileReference; name = "Octicons.ttf"; path = "../node_modules/native-base/Fonts/Octicons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
A0C3A73E3BBC4852925DDA84 /* 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; };
|
||||
C4B0005B2ABE4F319327EA88 /* 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; };
|
||||
B3663D02D2B24A3A91096EC7 /* 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; };
|
||||
D3D982862ECF4A74991ECB71 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; name = "SimpleLineIcons.ttf"; path = "../node_modules/native-base/Fonts/SimpleLineIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
80AB858D3BA841F7A5A31B64 /* Zocial.ttf */ = {isa = PBXFileReference; name = "Zocial.ttf"; path = "../node_modules/native-base/Fonts/Zocial.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
|
@ -248,11 +210,7 @@
|
|||
00E356EF1AD99517003FC87E /* ankilanTests */,
|
||||
83CBBA001A601CBA00E9B192 /* Products */,
|
||||
2D16E6871FA4F8E400B85C8A /* Frameworks */,
|
||||
<<<<<<< HEAD
|
||||
F885F34D61544A6D98238D81 /* Resources */,
|
||||
=======
|
||||
F26EA599C9CA4864823C1698 /* Resources */,
|
||||
>>>>>>> fixed
|
||||
);
|
||||
indentWidth = 2;
|
||||
sourceTree = "<group>";
|
||||
|
@ -270,46 +228,6 @@
|
|||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
<<<<<<< HEAD
|
||||
F885F34D61544A6D98238D81 /* Resources */ = {
|
||||
isa = "PBXGroup";
|
||||
children = (
|
||||
0E5D5065D768435EA998104A /* AntDesign.ttf */,
|
||||
40287932B0184615A4E3081F /* Entypo.ttf */,
|
||||
5D95DE62BE4C4C0BAACB9571 /* EvilIcons.ttf */,
|
||||
CD46594AEDA34747A782AC3D /* Feather.ttf */,
|
||||
8E1A1F7D4CA34FE98CFEC237 /* FontAwesome.ttf */,
|
||||
ED6890DD84FE4EA99296229D /* FontAwesome5_Brands.ttf */,
|
||||
C0E9531BEA02454CBD0C6FBD /* FontAwesome5_Regular.ttf */,
|
||||
12BD84FA23A5492B82A5F9D1 /* FontAwesome5_Solid.ttf */,
|
||||
541ACBC4238A4C9FA790279C /* Fontisto.ttf */,
|
||||
D952F276655F4116AE32EA9D /* Foundation.ttf */,
|
||||
ADEA2AF0C20D43F49417482C /* Ionicons.ttf */,
|
||||
2B694C9DF6484220B8BDBC4C /* MaterialCommunityIcons.ttf */,
|
||||
A55AE72F84B64F0AA5D7948E /* MaterialIcons.ttf */,
|
||||
0D898720909B40DDAE2DD962 /* Octicons.ttf */,
|
||||
7CAF012D54D74938AC6582E8 /* SimpleLineIcons.ttf */,
|
||||
BBB7B364E4EB41B0B72D85E2 /* Zocial.ttf */,
|
||||
6618AA0F4ACA4FB592D4B65E /* AntDesign.ttf */,
|
||||
4E741E0B0415492B84AA6338 /* Entypo.ttf */,
|
||||
C3D87EB19C1441E48F068E76 /* EvilIcons.ttf */,
|
||||
B71E3585F57A439BA19EC58A /* Feather.ttf */,
|
||||
6C85CD26B68143D88F3B0D91 /* FontAwesome.ttf */,
|
||||
0A6AD8EC583344DC8F8C4F7D /* FontAwesome5_Brands.ttf */,
|
||||
59DEB958643A4EAE95590608 /* FontAwesome5_Regular.ttf */,
|
||||
6F623DCAC23248E0881A882F /* FontAwesome5_Solid.ttf */,
|
||||
59A3C11F9A0F4037B19FA8E0 /* Fontisto.ttf */,
|
||||
CD615A449A13412DB86EDE23 /* Foundation.ttf */,
|
||||
EB272CDEE78846EAB3705E3D /* Ionicons.ttf */,
|
||||
404E33F7BD1547C288E43849 /* MaterialCommunityIcons.ttf */,
|
||||
B6481E8C83BA4DC8A3CF1CE1 /* MaterialIcons.ttf */,
|
||||
47F25353830F49929447886C /* Octicons.ttf */,
|
||||
7E585FBA2C3448E0980D844C /* Roboto_medium.ttf */,
|
||||
2631E54546774FBE8190B056 /* Roboto.ttf */,
|
||||
2762280877E6481791F752C8 /* rubicon-icon-font.ttf */,
|
||||
F15E1AD962AC475ABEBE9A1F /* SimpleLineIcons.ttf */,
|
||||
091E38CCBA674D09BC6AD2DE /* Zocial.ttf */,
|
||||
=======
|
||||
F26EA599C9CA4864823C1698 /* Resources */ = {
|
||||
isa = "PBXGroup";
|
||||
children = (
|
||||
|
@ -329,7 +247,25 @@
|
|||
006C0665080F4DB581A45597 /* Octicons.ttf */,
|
||||
00E332BD0E6B4F69AD2BFB66 /* SimpleLineIcons.ttf */,
|
||||
16C65B2FFA244990A98EED99 /* Zocial.ttf */,
|
||||
>>>>>>> fixed
|
||||
815103740257422193FC7AE2 /* AntDesign.ttf */,
|
||||
65310CCA118F4BDCAA2703C7 /* Entypo.ttf */,
|
||||
BDF8E1DB2454481E9F053ED8 /* EvilIcons.ttf */,
|
||||
CFA238B086774C5182CF9E74 /* Feather.ttf */,
|
||||
89FF5EEC421940BD9B87E05B /* FontAwesome.ttf */,
|
||||
B0A9A880302045279E1AC169 /* FontAwesome5_Brands.ttf */,
|
||||
CE20899185F54519B1E99CD4 /* FontAwesome5_Regular.ttf */,
|
||||
F729C7E2EE884946A9355C09 /* FontAwesome5_Solid.ttf */,
|
||||
EDC60BAA3424456EBA1B6E60 /* Fontisto.ttf */,
|
||||
CF8C1A780F814B8D84C7F4B1 /* Foundation.ttf */,
|
||||
D66B241207A741E496B56CE6 /* Ionicons.ttf */,
|
||||
2449D789EDFA490F94CDFF70 /* MaterialCommunityIcons.ttf */,
|
||||
0BE4128DA4E948CBB5CEBAB6 /* MaterialIcons.ttf */,
|
||||
5E88A5C8BFD24316B071099E /* Octicons.ttf */,
|
||||
A0C3A73E3BBC4852925DDA84 /* Roboto_medium.ttf */,
|
||||
C4B0005B2ABE4F319327EA88 /* Roboto.ttf */,
|
||||
B3663D02D2B24A3A91096EC7 /* rubicon-icon-font.ttf */,
|
||||
D3D982862ECF4A74991ECB71 /* SimpleLineIcons.ttf */,
|
||||
80AB858D3BA841F7A5A31B64 /* Zocial.ttf */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
|
@ -471,43 +407,6 @@
|
|||
files = (
|
||||
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
|
||||
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,
|
||||
<<<<<<< HEAD
|
||||
77265BEFC4404E238D395E2C /* AntDesign.ttf in Resources */,
|
||||
B68FA0D61C384C9AB44BD3BE /* Entypo.ttf in Resources */,
|
||||
B9388BD77CA54A9298B4A98F /* EvilIcons.ttf in Resources */,
|
||||
1B72CDB36FA2454E80F9BF84 /* Feather.ttf in Resources */,
|
||||
643CFD36A53F45D29F6DB911 /* FontAwesome.ttf in Resources */,
|
||||
9D350D17269E4421814FD226 /* FontAwesome5_Brands.ttf in Resources */,
|
||||
A5FDE794DF894F9C80EF1DDB /* FontAwesome5_Regular.ttf in Resources */,
|
||||
6B0D1C3DEF6F40E49051ADFD /* FontAwesome5_Solid.ttf in Resources */,
|
||||
749C4579CA3D4FA8B62D6CD0 /* Fontisto.ttf in Resources */,
|
||||
DB083F96D4E54520944CC6B8 /* Foundation.ttf in Resources */,
|
||||
15684583EFF44F93B3CBA8C6 /* Ionicons.ttf in Resources */,
|
||||
4E47773AA7F747549D68E340 /* MaterialCommunityIcons.ttf in Resources */,
|
||||
848391DEF1534137AD02437A /* MaterialIcons.ttf in Resources */,
|
||||
C2DFC8C9364D4CFC86D9CAF7 /* Octicons.ttf in Resources */,
|
||||
82292E3F27F245E78AEA3976 /* SimpleLineIcons.ttf in Resources */,
|
||||
075D7804361B4568A80C1C8B /* Zocial.ttf in Resources */,
|
||||
5E067ED19FD4497D9DDFED6E /* AntDesign.ttf in Resources */,
|
||||
4525C331CA074AA8821A0A74 /* Entypo.ttf in Resources */,
|
||||
EBC1408C0D5B468C89351BF9 /* EvilIcons.ttf in Resources */,
|
||||
7672B539400347B38EBC5BC6 /* Feather.ttf in Resources */,
|
||||
B55BA6C3EDA3411F88377AC6 /* FontAwesome.ttf in Resources */,
|
||||
C8D284A938CD4AAA95C273CF /* FontAwesome5_Brands.ttf in Resources */,
|
||||
6749E7E250894B32B725E396 /* FontAwesome5_Regular.ttf in Resources */,
|
||||
62C892EF8F754F96846B3DA1 /* FontAwesome5_Solid.ttf in Resources */,
|
||||
A1018DA50A8243779C30614F /* Fontisto.ttf in Resources */,
|
||||
99117C77F940481396CA4AC3 /* Foundation.ttf in Resources */,
|
||||
56AB61224A8D4D299928EB52 /* Ionicons.ttf in Resources */,
|
||||
7B694A83F3344A2691FD06C0 /* MaterialCommunityIcons.ttf in Resources */,
|
||||
A6C35BE496C74106A865E29F /* MaterialIcons.ttf in Resources */,
|
||||
BFA62F01D55E49F082484880 /* Octicons.ttf in Resources */,
|
||||
E82E1B56EE1C419CA2EF9BAA /* Roboto_medium.ttf in Resources */,
|
||||
55C9C4FD91C94DDEA26F1FFE /* Roboto.ttf in Resources */,
|
||||
ADAC158BE8B441D685F551CC /* rubicon-icon-font.ttf in Resources */,
|
||||
4DB67A84E7FF44FF8100CE68 /* SimpleLineIcons.ttf in Resources */,
|
||||
B71508403B384BFEB49A7215 /* Zocial.ttf in Resources */,
|
||||
=======
|
||||
4D52FDE523E84B2791C3D67D /* AntDesign.ttf in Resources */,
|
||||
B90493FFE9264DF5B6CC7C44 /* Entypo.ttf in Resources */,
|
||||
31DBC812F4DE446B9D3DC7B1 /* EvilIcons.ttf in Resources */,
|
||||
|
@ -524,7 +423,25 @@
|
|||
60D08C8669D9491891F0EAE0 /* Octicons.ttf in Resources */,
|
||||
157D60FEAF7C49948291342D /* SimpleLineIcons.ttf in Resources */,
|
||||
31C2D4A00BF24B9989303435 /* Zocial.ttf in Resources */,
|
||||
>>>>>>> fixed
|
||||
8D8BE89F91D74671AFB64D2C /* AntDesign.ttf in Resources */,
|
||||
4A17FB4653CC440AB4AB4727 /* Entypo.ttf in Resources */,
|
||||
4B80D071E9CE49CCBE5DEA8C /* EvilIcons.ttf in Resources */,
|
||||
7CD9E571FBE84C439B621424 /* Feather.ttf in Resources */,
|
||||
91FB71DDF4AD4E539A0EA9AC /* FontAwesome.ttf in Resources */,
|
||||
672335B5103340FCA6134245 /* FontAwesome5_Brands.ttf in Resources */,
|
||||
2BA06EF0BEC14ECAB6E0EB75 /* FontAwesome5_Regular.ttf in Resources */,
|
||||
EB754F50B18843438AE9584B /* FontAwesome5_Solid.ttf in Resources */,
|
||||
59E7B35F18164C33B0B5EF05 /* Fontisto.ttf in Resources */,
|
||||
1FA456BCAB83416A8D5F2D87 /* Foundation.ttf in Resources */,
|
||||
D95A4E6E2CD941F391A5EEB4 /* Ionicons.ttf in Resources */,
|
||||
4537D47615C74572A714AA90 /* MaterialCommunityIcons.ttf in Resources */,
|
||||
E44A942AC14D4507BC99DECE /* MaterialIcons.ttf in Resources */,
|
||||
4566B253DB464EBDB664384E /* Octicons.ttf in Resources */,
|
||||
0CB4E4F529864AC2B859B391 /* Roboto_medium.ttf in Resources */,
|
||||
4A6A9E3F180B402088CB7AED /* Roboto.ttf in Resources */,
|
||||
A6FC377548264D7AA86CB2F7 /* rubicon-icon-font.ttf in Resources */,
|
||||
EA1F8F76E9FF490E905EADFF /* SimpleLineIcons.ttf in Resources */,
|
||||
F39BB18FAFFB4B0FBEF0AC9B /* Zocial.ttf in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
|
@ -71,12 +71,9 @@
|
|||
<string>Octicons.ttf</string>
|
||||
<string>SimpleLineIcons.ttf</string>
|
||||
<string>Zocial.ttf</string>
|
||||
<<<<<<< HEAD
|
||||
<string>Roboto_medium.ttf</string>
|
||||
<string>Roboto.ttf</string>
|
||||
<string>rubicon-icon-font.ttf</string>
|
||||
=======
|
||||
>>>>>>> fixed
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
3
rn-start.fs
Executable file
3
rn-start.fs
Executable file
|
@ -0,0 +1,3 @@
|
|||
#! /usr/bin/fish
|
||||
|
||||
set REACT_DEBUGGER "rndebugger-open --open --port 8081" yarn start
|
|
@ -3,6 +3,7 @@ import {
|
|||
SET_CREATOR_TEMPLATE,
|
||||
SET_DECK,
|
||||
SET_FIELDS,
|
||||
SET_GLOBAL_DEF,
|
||||
} from '../constants/anki-constants';
|
||||
|
||||
export const selectDeck = id => ({
|
||||
|
@ -21,6 +22,7 @@ export const setCreatorTemplate = template => ({
|
|||
});
|
||||
|
||||
const parseToAnkiFormat = dict => {
|
||||
console.log('SDFfasdfsadf', dict);
|
||||
/*
|
||||
*** TEMPLATE ***
|
||||
const modelFields = [
|
||||
|
@ -40,10 +42,10 @@ const modelFields = [
|
|||
const tr1 = dict.compounded[0];
|
||||
const tr2 = dict.compounded[1] || {};
|
||||
return [
|
||||
dict.word,
|
||||
tr1.pos,
|
||||
tr1.tr,
|
||||
tr1.definition,
|
||||
dict.word || '',
|
||||
tr1.pos || '',
|
||||
tr1.tr || '',
|
||||
tr1.definition || '',
|
||||
tr2.pos || '',
|
||||
tr2.tr || '',
|
||||
tr2.definition || '',
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import {search} from 'urban-dictionary-client';
|
||||
import {
|
||||
SET_AVAILABLE_API,
|
||||
SET_LOADING_STATE,
|
||||
SET_PARSED_DICTIONARY,
|
||||
URBAN_DICTIONARY_API,
|
||||
WORDS_API,
|
||||
|
@ -35,6 +36,10 @@ const setDictioanry = dictioanry => ({
|
|||
type: SET_PARSED_DICTIONARY,
|
||||
payload: dictioanry,
|
||||
});
|
||||
const setLoadingState = status => ({
|
||||
type: SET_LOADING_STATE,
|
||||
payload: status,
|
||||
});
|
||||
|
||||
export const wordInfo = word => async dispatch => {
|
||||
try {
|
||||
|
@ -49,6 +54,7 @@ export const wordInfo = word => async dispatch => {
|
|||
}
|
||||
*/
|
||||
//function which return universal template for more simple interaction with api
|
||||
dispatch(setLoadingState(false));
|
||||
//TODO available dictionary instead api1
|
||||
await dispatch(setAvailableApi(api1));
|
||||
const wordDictionary = await createDictionary(api1);
|
||||
|
|
|
@ -14,7 +14,7 @@ const yDictionary = async (
|
|||
);
|
||||
const json = await res.json();
|
||||
// console.log('JSON', json);
|
||||
return parseResponse(json.def)
|
||||
return parseResponse(json.def);
|
||||
} catch (e) {
|
||||
console.log('err in yandex-dictionary.js: ', e);
|
||||
}
|
||||
|
|
|
@ -38,11 +38,14 @@ export const createAnkiLanModel = model => async dispatch => {
|
|||
await console.log(modelId);
|
||||
const [, fieldList] = await AnkiDroid.getFieldList(model.name);
|
||||
|
||||
sendDataToLocaleStorage({
|
||||
console.log(fieldList, modelId);
|
||||
|
||||
await sendDataToLocaleStorage({
|
||||
fieldList,
|
||||
modelName: model.name,
|
||||
modelId,
|
||||
});
|
||||
console.log(await getAnkiData());
|
||||
} catch (err) {
|
||||
console.log('irror is ghere', err);
|
||||
}
|
||||
|
@ -52,15 +55,20 @@ const firstNote = (creator, fields, template) =>
|
|||
creator.addNote(fields, template);
|
||||
//creator is an object what have to store in locale storage.
|
||||
export const addNote = async words => {
|
||||
const template = store.getState().anki.noteTemplate;
|
||||
const ankiData = await getAnkiData();
|
||||
await console.log(ankiData);
|
||||
const template = await ankiData.fieldList;
|
||||
const deckId = store.getState().anki.selectedDeck.id;
|
||||
const modelId = await getAnkiData().modelId;
|
||||
const modelId = await ankiData.modelId;
|
||||
console.log(template, deckId, modelId);
|
||||
const settings = {
|
||||
deckId,
|
||||
modelId,
|
||||
};
|
||||
const creator = new AnkiDroid(settings);
|
||||
|
||||
console.log(template);
|
||||
console.log(words);
|
||||
creator.addNote(words, template);
|
||||
alert('sucssess');
|
||||
};
|
||||
|
|
|
@ -12,5 +12,3 @@ export const sendField = field => ({
|
|||
payload: field.text,
|
||||
role: field.role,
|
||||
});
|
||||
|
||||
|
||||
|
|
163
src/components/Form/field-deditor.jsx
Normal file
163
src/components/Form/field-deditor.jsx
Normal file
|
@ -0,0 +1,163 @@
|
|||
import React, {useEffect, useRef, useState} from 'react';
|
||||
import TextField from 'react-native-material-textfield/src/components/field';
|
||||
import {StyleSheet} from 'react-native';
|
||||
import {Picker, Text, View} from 'native-base';
|
||||
import IconedButton from '../view/iconed-button.jsx';
|
||||
import {POS_PICKER} from '../../constants/component-types';
|
||||
|
||||
const FieldEditor = props => {
|
||||
const [data, setData] = useState(props.data);
|
||||
const [values, setValues] = useState(props.data.values);
|
||||
const [editing, setEditing] = useState(false);
|
||||
const [selectedValue, setSelectedValue] = useState(
|
||||
props.data.values[props.id] || props.data.values[0],
|
||||
);
|
||||
const [userText, setUserText] = useState(
|
||||
props.data.values[props.id] || props.data.values[0],
|
||||
);
|
||||
const [valuesUpdated, setValuesUpdated] = useState(false);
|
||||
const input = useRef();
|
||||
useEffect(() => {
|
||||
// console.log(userText)
|
||||
// console.log("SELECTED", selectedValue)
|
||||
if (props.hasChanged) {
|
||||
// console.log("HAS CHANGED")
|
||||
props.hasChanged(selectedValue);
|
||||
}
|
||||
if (props.type === POS_PICKER) {
|
||||
console.log(userText);
|
||||
}
|
||||
});
|
||||
useEffect(() => {
|
||||
if (props.data.values.length === values.length) {
|
||||
setData(props.data);
|
||||
setValues(props.data.values);
|
||||
}
|
||||
}, [props.data.values]);
|
||||
|
||||
const selectValue = selected => {
|
||||
setSelectedValue(selected);
|
||||
if (props.type === POS_PICKER) {
|
||||
values.forEach((value, id) => {
|
||||
if (value === selected) {
|
||||
console.warn(id);
|
||||
props.onSelect(id);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
const typing = text => {
|
||||
setUserText(text);
|
||||
};
|
||||
const select = value => {
|
||||
setUserText(value);
|
||||
selectValue(value);
|
||||
};
|
||||
const confirmTyped = () => {
|
||||
let newValues = new Set(values);
|
||||
const valuesArray = Array.from(newValues.add(userText));
|
||||
setValues(valuesArray);
|
||||
setData({...data, values: valuesArray});
|
||||
setEditing(!editing);
|
||||
if (valuesArray.length !== values.length) {
|
||||
setValuesUpdated(true);
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (valuesUpdated) {
|
||||
setSelectedValue(values[values.length - 1]);
|
||||
setUserText(values[values.length - 1]);
|
||||
setValuesUpdated(false);
|
||||
}
|
||||
setValuesUpdated(false);
|
||||
}, [valuesUpdated]);
|
||||
const styles = StyleSheet.create({
|
||||
wrapper: {},
|
||||
inner: {
|
||||
display: 'flex',
|
||||
justifyContent: 'space-between',
|
||||
flexDirection: 'row',
|
||||
alignItems: 'center',
|
||||
alignContent: 'center',
|
||||
},
|
||||
row: {
|
||||
display: 'flex',
|
||||
flexDirection: 'row',
|
||||
justifyContent: 'space-between',
|
||||
width: 90,
|
||||
},
|
||||
button: {
|
||||
width: 40,
|
||||
height: 40,
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
},
|
||||
tfWrapper: {
|
||||
width: editing ? '75%' : '84%',
|
||||
},
|
||||
pickerLabel: {
|
||||
color: '#00000050',
|
||||
fontSize: 12,
|
||||
marginLeft: 2,
|
||||
},
|
||||
hr: {
|
||||
height: 1,
|
||||
width: '100%',
|
||||
backgroundColor: '#00000070',
|
||||
},
|
||||
});
|
||||
|
||||
return (
|
||||
<View style={styles.wrapper}>
|
||||
<View style={styles.inner}>
|
||||
<View style={styles.tfWrapper}>
|
||||
{editing ? (
|
||||
<TextField
|
||||
lineType={'none'}
|
||||
multiline={true}
|
||||
label={props.data.label}
|
||||
value={userText}
|
||||
editable={true}
|
||||
ref={input}
|
||||
onChangeText={text => typing(text)}
|
||||
/>
|
||||
) : (
|
||||
<View>
|
||||
<Text style={styles.pickerLabel}>{props.data.label}</Text>
|
||||
<Picker
|
||||
selectedValue={selectedValue}
|
||||
onValueChange={value => select(value)}>
|
||||
{values.map((value, id) => {
|
||||
return <Picker.Item value={value} label={value} key={id} />;
|
||||
})}
|
||||
</Picker>
|
||||
</View>
|
||||
)}
|
||||
</View>
|
||||
{editing ? (
|
||||
<View style={styles.row}>
|
||||
<IconedButton
|
||||
icon="caret-down"
|
||||
onPress={() => {
|
||||
setEditing(!editing);
|
||||
setUserText(selectedValue);
|
||||
}}
|
||||
/>
|
||||
<IconedButton icon="check" onPress={confirmTyped} />
|
||||
</View>
|
||||
) : (
|
||||
<IconedButton
|
||||
icon="pen"
|
||||
onPress={() => {
|
||||
setEditing(!editing);
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
</View>
|
||||
<View style={styles.hr} />
|
||||
</View>
|
||||
);
|
||||
};
|
||||
export default FieldEditor;
|
|
@ -1,56 +1,76 @@
|
|||
import React, {useState, useEffect, useRef} from 'react';
|
||||
import {connect} from 'react-redux';
|
||||
import React, {useEffect, useState} from 'react';
|
||||
import TextField from 'react-native-material-textfield/src/components/field';
|
||||
import {StyleSheet, TextInput} from 'react-native';
|
||||
import {View, Text, Button, Picker} from 'native-base';
|
||||
import Icon from 'react-native-vector-icons/FontAwesome5';
|
||||
import {ScrollView, StyleSheet} from 'react-native';
|
||||
import {Picker, Text, View} from 'native-base';
|
||||
import IconedButton from '../view/iconed-button.jsx';
|
||||
import {POS_PICKER} from '../../constants/component-types';
|
||||
const FieldEditor = props => {
|
||||
const [data, setData] = useState(props.data);
|
||||
const [values, setValues] = useState(props.data.values);
|
||||
const [editing, setEditing] = useState(false);
|
||||
const [selectedValue, setSelectedValue] = useState(props.data.values[0]);
|
||||
const [userText, setUserText] = useState('');
|
||||
const input = useRef();
|
||||
const [finalText, setFinalText] = useState(props.data.values[0]);
|
||||
useEffect(() => {
|
||||
setData(props.data);
|
||||
setValues(props.data.values)
|
||||
}, [props]);
|
||||
import set from '@babel/runtime/helpers/esm/set';
|
||||
|
||||
const selectValue = selected => {
|
||||
setSelectedValue(selected);
|
||||
const FieldEditor = props => {
|
||||
const label = props.data.label;
|
||||
const constantValues = props.pos | '';
|
||||
const [values, setValues] = useState(props.data.values);
|
||||
const [editingValue, setEditingValue] = useState(
|
||||
props.data.values[props.id] || props.data.values[0],
|
||||
);
|
||||
const [selectedValue, setSelectedValue] = useState(
|
||||
props.data.values[props.id] || props.data.values[0],
|
||||
);
|
||||
const [finiteValue, setFiniteValue] = useState(
|
||||
props.data.values[props.id] || props.data.values[0],
|
||||
);
|
||||
const [editing, isEditing] = useState(false);
|
||||
const [] = useState();
|
||||
const [] = useState();
|
||||
const [] = useState();
|
||||
|
||||
const select = value => {
|
||||
setSelectedValue(value);
|
||||
setFiniteValue(value);
|
||||
setEditingValue(value);
|
||||
};
|
||||
|
||||
const typing = text => {
|
||||
setEditingValue(text);
|
||||
};
|
||||
|
||||
const setTyped = () => {
|
||||
let valuesSet = new Set(values);
|
||||
valuesSet.add(editingValue);
|
||||
const valuesArray = Array.from(valuesSet).slice();
|
||||
setValues(valuesArray);
|
||||
isEditing(!editing);
|
||||
if (selectedValue !== editingValue) {
|
||||
select(valuesArray[valuesArray.length - 1]);
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (props.type === POS_PICKER) {
|
||||
values.forEach((value, id) => {
|
||||
if (value === selected) props.onSelect(id);
|
||||
});
|
||||
if (value === finiteValue) {
|
||||
props.hasChanged(id);
|
||||
}
|
||||
};
|
||||
const typing = text => {
|
||||
setUserText(text);
|
||||
};
|
||||
const select = value => {
|
||||
setFinalText(value);
|
||||
setUserText(value);
|
||||
selectValue(value);
|
||||
};
|
||||
const confirmTyped = () => {
|
||||
let newValues = new Set(values);
|
||||
newValues.add(userText);
|
||||
setValues(Array.from(newValues));
|
||||
setData({...data, values: [...values, userText]});
|
||||
console.log(values);
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (props.data.values !== values) {
|
||||
setSelectedValue(values[values.length - 1]);
|
||||
}
|
||||
}, [values]);
|
||||
|
||||
useEffect(() => {
|
||||
});
|
||||
} else {
|
||||
props.hasChanged(finiteValue);
|
||||
}
|
||||
}, [finiteValue]);
|
||||
useEffect(() => {
|
||||
setValues(props.data.values);
|
||||
setSelectedValue(props.data.values[0]);
|
||||
console.log('EXECUTIN');
|
||||
}, [constantValues]);
|
||||
|
||||
// useEffect(() => {
|
||||
//
|
||||
// if(props.type !== POS_PICKER){
|
||||
// if(constantValues !== props.data.values){
|
||||
// console.log("EXECUTIN")
|
||||
// }
|
||||
// }
|
||||
// }, [constantValues, props.data.values])
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
wrapper: {},
|
||||
inner: {
|
||||
|
@ -89,20 +109,8 @@ const FieldEditor = props => {
|
|||
});
|
||||
|
||||
return (
|
||||
<View style={styles.wrapper}>
|
||||
<View style={styles.inner}>
|
||||
<View style={styles.tfWrapper}>
|
||||
{editing ? (
|
||||
<TextField
|
||||
lineType={'none'}
|
||||
multiline={true}
|
||||
label={props.data.label}
|
||||
value={userText}
|
||||
editable={true}
|
||||
ref={input}
|
||||
onChangeText={text => typing(text)}
|
||||
/>
|
||||
) : (
|
||||
<ScrollView keyboardShouldPersistTaps={'handled'}>
|
||||
{props.type === POS_PICKER ? (
|
||||
<View>
|
||||
<Text style={styles.pickerLabel}>{props.data.label}</Text>
|
||||
<Picker
|
||||
|
@ -113,29 +121,62 @@ const FieldEditor = props => {
|
|||
})}
|
||||
</Picker>
|
||||
</View>
|
||||
) : (
|
||||
<View style={styles.wrapper}>
|
||||
<View style={styles.inner}>
|
||||
<View style={styles.tfWrapper}>
|
||||
{editing ? (
|
||||
<View>
|
||||
<TextField
|
||||
lineType={'none'}
|
||||
multiline={true}
|
||||
label={label}
|
||||
value={editingValue}
|
||||
editable={true}
|
||||
onChangeText={text => typing(text)}
|
||||
autoFocus={true}
|
||||
/>
|
||||
<View style={styles.hr} />
|
||||
</View>
|
||||
) : (
|
||||
<View>
|
||||
<Text style={styles.pickerLabel}>{props.data.label}</Text>
|
||||
<Picker
|
||||
selectedValue={selectedValue}
|
||||
onValueChange={value => select(value)}>
|
||||
{values.map((value, id) => {
|
||||
return (
|
||||
<Picker.Item value={value} label={value} key={id} />
|
||||
);
|
||||
})}
|
||||
</Picker>
|
||||
</View>
|
||||
)}
|
||||
</View>
|
||||
{editing ? (
|
||||
<View style={styles.row}>
|
||||
<IconedButton icon="check" onPress={setTyped} />
|
||||
<IconedButton
|
||||
icon="caret-down"
|
||||
onPress={() => {
|
||||
setEditing(!editing);
|
||||
isEditing(!editing);
|
||||
setEditingValue(selectedValue);
|
||||
}}
|
||||
/>
|
||||
<IconedButton icon="check" onPress={confirmTyped} />
|
||||
</View>
|
||||
) : (
|
||||
<IconedButton
|
||||
icon="pen"
|
||||
onPress={() => {
|
||||
setEditing(!editing);
|
||||
isEditing(!editing);
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
</View>
|
||||
<View style={styles.hr} />
|
||||
</View>
|
||||
)}
|
||||
</ScrollView>
|
||||
);
|
||||
};
|
||||
export default connect()(FieldEditor);
|
||||
export default FieldEditor;
|
||||
|
|
|
@ -12,13 +12,17 @@ import {
|
|||
DEF_LIST2,
|
||||
EXAMPLES,
|
||||
PRONUNCIATION,
|
||||
SOUND,
|
||||
SOUND, WORD,
|
||||
} from '../../constants/anki-constants';
|
||||
import {sendField} from '../../actions/form-actions';
|
||||
import {addNote} from "../../actions/createAnkiLanModel";
|
||||
|
||||
const FieldList = props => {
|
||||
const [pronunciation, setPronunciation] = useState();
|
||||
const [pronunciation, setPronunciation] = useState(
|
||||
props.response.pronunciation,
|
||||
);
|
||||
const [sound, setSound] = useState();
|
||||
const [examples, setExamples] = useState(props.response.examples);
|
||||
const [examples, setExamples] = useState();
|
||||
const [completedFields, setCompletedFields] = useState({
|
||||
word: props.word,
|
||||
compounded: [{pos: '', tr: '', definition: ''}, {}],
|
||||
|
@ -26,43 +30,99 @@ const FieldList = props => {
|
|||
pronunciation: '',
|
||||
sound: '',
|
||||
});
|
||||
useEffect(() => {
|
||||
if (
|
||||
props.response.sound &&
|
||||
props.response.pronunciation &&
|
||||
props.response.compounded &&
|
||||
props.response.examples
|
||||
) {
|
||||
// console.log("LOOOADED")
|
||||
} else {
|
||||
}
|
||||
});
|
||||
useEffect(() => {
|
||||
setSound(props.response.sound);
|
||||
setPronunciation(props.response.pronunciation);
|
||||
setExamples(props.response.examples);
|
||||
}, [props]);
|
||||
const [loadingState, setLoadingState] = useState(false);
|
||||
useEffect(() => {
|
||||
console.group('STATE', examples, pronunciation, sound);
|
||||
console.log('STATE', examples, pronunciation, sound);
|
||||
if (examples && pronunciation && sound) {
|
||||
setLoadingState(true);
|
||||
} else {
|
||||
setLoadingState(false);
|
||||
}
|
||||
});
|
||||
const submit = () => {
|
||||
setFields(completedFields);
|
||||
|
||||
props.setFields(props.fields);
|
||||
};
|
||||
return (
|
||||
<ScrollView style={{height: '100%'}}>
|
||||
<ScrollView keyboardShouldPersistTaps={'handled'} style={{height: '100%'}}>
|
||||
{loadingState && props.loadingState ? (
|
||||
<View>
|
||||
<PickerList labelNum={1} id={0} role={DEF_LIST1} />
|
||||
<PickerList labelNum={2} id={1} role={DEF_LIST2} />
|
||||
{/*<PickerList labelNum={2} id={1} role={DEF_LIST2} />*/}
|
||||
<PickerList
|
||||
labelNum={2}
|
||||
id={props.response.compounded.length >= 2 ? 1 : 0}
|
||||
role={DEF_LIST2}
|
||||
/>
|
||||
<FieldEditor
|
||||
hasChanged={c =>
|
||||
props.sendField({
|
||||
text: c,
|
||||
role: EXAMPLES,
|
||||
})
|
||||
}
|
||||
role={EXAMPLES}
|
||||
data={{
|
||||
label: 'Usage example',
|
||||
values: examples || ['can not find the example'],
|
||||
}}
|
||||
/>
|
||||
<TextInput value={sound} label={'Sound'} role={SOUND} />
|
||||
<TextInput
|
||||
value={pronunciation}
|
||||
label={'Transcription'}
|
||||
<FieldEditor
|
||||
hasChanged={c =>
|
||||
props.sendField({
|
||||
text: c,
|
||||
role: SOUND,
|
||||
})
|
||||
}
|
||||
data={{values: [sound], label: 'Sound'}}
|
||||
role={SOUND}
|
||||
/>
|
||||
<FieldEditor
|
||||
hasChanged={c =>
|
||||
props.sendField({
|
||||
text: c,
|
||||
role: PRONUNCIATION,
|
||||
})
|
||||
}
|
||||
role={PRONUNCIATION}
|
||||
data={{values: [pronunciation], label: 'Pronunciation'}}
|
||||
/>
|
||||
<Button style={{marginTop: 10}} onPress={submit}>
|
||||
<Text>Submit</Text>
|
||||
<Icon name={'send'} />
|
||||
</Button>
|
||||
</View>
|
||||
) : (
|
||||
<Text>Loading...</Text>
|
||||
)}
|
||||
</ScrollView>
|
||||
);
|
||||
};
|
||||
|
||||
export default connect(state => ({
|
||||
export default connect(
|
||||
state => ({
|
||||
response: state.api.parsedDictionary,
|
||||
word: state.api.word,
|
||||
}))(FieldList);
|
||||
word: state.api.availableApi.word,
|
||||
loadingState: state.api.apiIsLoaded,
|
||||
fields: state.anki.currentFields
|
||||
}),
|
||||
{
|
||||
sendField,
|
||||
setFields
|
||||
},
|
||||
)(FieldList);
|
||||
|
|
|
@ -3,6 +3,8 @@ import {View} from 'native-base';
|
|||
import {connect} from 'react-redux';
|
||||
import PosPicker from './pos-picker';
|
||||
import FieldEditor from './field-editor';
|
||||
import {setDef} from '../../actions/anki-set-actions';
|
||||
import {sendField} from '../../actions/form-actions';
|
||||
|
||||
/*
|
||||
****************** props:*****************
|
||||
|
@ -11,47 +13,94 @@ import FieldEditor from './field-editor';
|
|||
* */
|
||||
const PickerList = props => {
|
||||
const [data, setData] = useState(props.data[props.id]);
|
||||
const [tr, setTr] = useState(props.data[props.id].definitions[0]);
|
||||
const [def, setDef] = useState(props.data[props.id].definitions[0]);
|
||||
const [pos, setPos] = useState(props.data[props.id].pos);
|
||||
const [globID, setId] = useState(props.id);
|
||||
useEffect(() => {
|
||||
setData(props.data[props.id]);
|
||||
console.log(`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
`,props.data[props.id]);
|
||||
setTimeout(() => {
|
||||
selectDef(0);
|
||||
}, 0);
|
||||
}, [props]);
|
||||
useEffect(() => {
|
||||
console.log('data', props.data[props.id]);
|
||||
});
|
||||
const selectDef = id => {
|
||||
setData(props.data[id]);
|
||||
setId(id);
|
||||
setPos(props.data[id].pos);
|
||||
setDef(props.data[id].definitions[0]);
|
||||
setTr(props.data[id].translates[0]);
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
props.sendField({
|
||||
text: {
|
||||
pos: pos,
|
||||
tr: tr,
|
||||
definition: def,
|
||||
},
|
||||
role: props.role,
|
||||
});
|
||||
props.sendField("HDFSL:FJL:SKDJF: SLDKJF:LSDJF:LSDKFJ SDF",
|
||||
{
|
||||
text: {
|
||||
pos: pos,
|
||||
tr: tr,
|
||||
definition: def,
|
||||
},
|
||||
role: props.role,
|
||||
})
|
||||
}, [tr, def, pos]);
|
||||
|
||||
const updateData = c => {
|
||||
console.log("HDFLSDKFJ SDF",
|
||||
{
|
||||
text: {
|
||||
pos: pos,
|
||||
tr: tr,
|
||||
definition: def,
|
||||
},
|
||||
role: props.role,
|
||||
})
|
||||
};
|
||||
|
||||
return (
|
||||
<View>
|
||||
<PosPicker
|
||||
labelNum={props.labelNum}
|
||||
onSelect={id => selectDef(id)}
|
||||
// getId={id => setId(id)}
|
||||
defaultId={props.id}
|
||||
onSelect={id => selectDef(id | props.id)}
|
||||
/>
|
||||
<FieldEditor
|
||||
data={{label: `Translate ${props.labelNum}`, values: data.translates}}
|
||||
hasChanged={c => {
|
||||
setTr(c);
|
||||
updateData(c );
|
||||
}}
|
||||
pos={pos}
|
||||
data={{
|
||||
label: `Translate ${props.labelNum}`,
|
||||
values: props.data[globID].translates,
|
||||
}}
|
||||
/>
|
||||
<FieldEditor
|
||||
data={{label: `Definition ${props.labelNum}`, values: data.definitions}}
|
||||
hasChanged={c => {
|
||||
setDef(c);
|
||||
updateData(c);
|
||||
}}
|
||||
pos={pos}
|
||||
data={{
|
||||
label: `Definition ${props.labelNum}`,
|
||||
values: props.data[globID].definitions,
|
||||
}}
|
||||
/>
|
||||
</View>
|
||||
);
|
||||
};
|
||||
export default connect(state => ({
|
||||
export default connect(
|
||||
state => ({
|
||||
data: state.api.parsedDictionary.compounded,
|
||||
}))(PickerList);
|
||||
word: state.api.availableApi.word,
|
||||
}),
|
||||
{
|
||||
setDef,
|
||||
sendField,
|
||||
},
|
||||
)(PickerList);
|
||||
|
|
|
@ -22,8 +22,9 @@ const PosPicker = props => {
|
|||
label: `Part of speech ${props.labelNum} `,
|
||||
values: poses,
|
||||
}}
|
||||
id={props.defaultId}
|
||||
type={POS_PICKER}
|
||||
onSelect={(value) => props.onSelect(value)}
|
||||
hasChanged={value => props.onSelect(value)}
|
||||
/>
|
||||
) : (
|
||||
<View />
|
||||
|
|
|
@ -9,5 +9,4 @@ const SubmitButton = props => {
|
|||
</Button>
|
||||
);
|
||||
};
|
||||
export default SubmitButton
|
||||
|
||||
export default SubmitButton;
|
||||
|
|
|
@ -3,27 +3,20 @@ import {connect} from 'react-redux';
|
|||
import {TextField} from 'react-native-material-textfield';
|
||||
import {View} from 'native-base';
|
||||
import {sendField} from '../../actions/form-actions';
|
||||
import FieldEditor from './field-editor';
|
||||
|
||||
const TextInput = props => {
|
||||
const input = useRef();
|
||||
const [text, setText] = useState(props.value);
|
||||
useEffect(() => {
|
||||
setText(props.value);
|
||||
input.current.setValue(props.value);
|
||||
}, [props, props.value]);
|
||||
const typing = text => {
|
||||
setText(text)
|
||||
props.sendField({text, role: props.role})
|
||||
}
|
||||
// console.log(props.value)
|
||||
});
|
||||
return (
|
||||
<View >
|
||||
<TextField
|
||||
value={props.value}
|
||||
label={props.label}
|
||||
editable={true}
|
||||
onChangeText={text => typing(text) }
|
||||
ref={input}
|
||||
lineType={'none'}
|
||||
<View>
|
||||
<FieldEditor
|
||||
hasChanged={c => true}
|
||||
data={{
|
||||
values: [props.value],
|
||||
label: props.label,
|
||||
}}
|
||||
/>
|
||||
<View
|
||||
style={{
|
||||
|
@ -35,6 +28,9 @@ const TextInput = props => {
|
|||
</View>
|
||||
);
|
||||
};
|
||||
export default connect(null, {
|
||||
sendField
|
||||
})(TextInput);
|
||||
export default connect(
|
||||
null,
|
||||
{
|
||||
sendField,
|
||||
},
|
||||
)(TextInput);
|
||||
|
|
|
@ -11,7 +11,7 @@ import {
|
|||
checkAnkiLanModelForExisting,
|
||||
getDeckList,
|
||||
getModelList,
|
||||
getSavedData
|
||||
getSavedData,
|
||||
} from '../actions/anki-get-actions';
|
||||
|
||||
const StartScreen = props => {
|
||||
|
@ -21,10 +21,7 @@ const StartScreen = props => {
|
|||
props.getSavedData();
|
||||
}, []);
|
||||
useEffect(() => {
|
||||
props.checkAnkiLanModelForExisting(
|
||||
props.modelName,
|
||||
props.modelList,
|
||||
);
|
||||
props.checkAnkiLanModelForExisting(props.modelName, props.modelList);
|
||||
});
|
||||
return (
|
||||
<ScrollView keyboardShouldPersistTaps="handled">
|
||||
|
@ -53,6 +50,6 @@ export default connect(
|
|||
checkAnkiLanModelForExisting,
|
||||
getDeckList,
|
||||
getModelList,
|
||||
getSavedData
|
||||
getSavedData,
|
||||
},
|
||||
)(StartScreen);
|
||||
|
|
|
@ -5,15 +5,18 @@ import {Form, Container, Item} from 'native-base';
|
|||
import {checkAnkiLanModelForExisting} from '../actions/anki-get-actions';
|
||||
import InputWord from './view/translatable-word';
|
||||
import SubmitButton from './Form/submit-button';
|
||||
import {ScrollView} from 'react-native'
|
||||
import {ScrollView} from 'react-native';
|
||||
import {wordInfo} from '../actions/api/dictionary';
|
||||
import FieldEditor from './Form/field-editor';
|
||||
import FieldList from './Form/field-list';
|
||||
import {WORD} from "../constants/anki-constants";
|
||||
import {sendField} from "../actions/form-actions";
|
||||
|
||||
const AnkiForm = props => {
|
||||
const [target, setTarget] = useState('');
|
||||
const [fields, setFields] = useState({});
|
||||
const [submitted, setSubmitted] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
// props.wordInfo('Urge');
|
||||
// props.wordInfo('Maze');
|
||||
|
@ -29,6 +32,11 @@ const AnkiForm = props => {
|
|||
const submit = () => {
|
||||
props.wordInfo(target);
|
||||
setSubmitted(true);
|
||||
props.sendField({
|
||||
text: target,
|
||||
role: WORD
|
||||
})
|
||||
// console.log(props.available, props.data)
|
||||
};
|
||||
|
||||
return (
|
||||
|
@ -36,11 +44,7 @@ const AnkiForm = props => {
|
|||
<Form>
|
||||
<DeckPicker />
|
||||
<InputWord word={getWord} onSubmit={submit} />
|
||||
{(submitted && props.available) ? (
|
||||
<FieldList />
|
||||
) : (
|
||||
<SubmitButton onSubmit={submit} />
|
||||
)}
|
||||
{submitted ? <FieldList /> : <SubmitButton onSubmit={submit} />}
|
||||
</Form>
|
||||
</ScrollView>
|
||||
);
|
||||
|
@ -53,10 +57,12 @@ export default connect(
|
|||
modelList: state.anki.modelList,
|
||||
creator: state.anki.noteCreator,
|
||||
data: state,
|
||||
word: state.api.availableApi.word,
|
||||
available: state.api.apiIsLoaded,
|
||||
}),
|
||||
{
|
||||
checkAnkiLanModelForExisting,
|
||||
wordInfo,
|
||||
sendField
|
||||
},
|
||||
)(AnkiForm);
|
||||
|
|
|
@ -1,27 +1,38 @@
|
|||
import React from 'react'
|
||||
import {Text, Button,Grid, Container} from 'native-base';
|
||||
import {connect} from 'react-redux'
|
||||
import React from 'react';
|
||||
import {Text, Button, Grid, Container} from 'native-base';
|
||||
import {connect} from 'react-redux';
|
||||
import {createAnkiLanModel} from '../../actions/createAnkiLanModel';
|
||||
|
||||
const AnkiTemplate = props => {
|
||||
return(
|
||||
<Grid style={{display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>
|
||||
return (
|
||||
<Grid
|
||||
style={{
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'space-between',
|
||||
}}>
|
||||
<Text>You have no AnkiLan card template</Text>
|
||||
<Button onPress={() => props.createAnkiLanModel({
|
||||
<Button
|
||||
onPress={() =>
|
||||
props.createAnkiLanModel({
|
||||
name: props.modelName,
|
||||
list: props.modelList,
|
||||
...props.currentDeck
|
||||
})}><Text>Create</Text></Button>
|
||||
|
||||
...props.currentDeck,
|
||||
})
|
||||
}>
|
||||
<Text>Create</Text>
|
||||
</Button>
|
||||
</Grid>
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
export default connect(state => ({
|
||||
export default connect(
|
||||
state => ({
|
||||
modelName: state.anki.ankiLanModelName,
|
||||
currentDeck: state.anki.selectedDeck,
|
||||
modelList: state.anki.modelList,
|
||||
}), {
|
||||
}),
|
||||
{
|
||||
createAnkiLanModel,
|
||||
})(AnkiTemplate)
|
||||
},
|
||||
)(AnkiTemplate);
|
||||
|
|
|
@ -1,32 +1,37 @@
|
|||
import React, {useEffect, useState} from 'react'
|
||||
import {connect} from 'react-redux'
|
||||
import {Picker, Text} from 'native-base'
|
||||
import { getDeckList, getModelList} from '../../actions/anki-get-actions';
|
||||
import React, {useEffect, useState} from 'react';
|
||||
import {connect} from 'react-redux';
|
||||
import {Picker, Text} from 'native-base';
|
||||
import {getDeckList, getModelList} from '../../actions/anki-get-actions';
|
||||
import {selectDeck} from '../../actions/anki-set-actions';
|
||||
|
||||
const DeckPicker = props => {
|
||||
const [deckList, setDeckList] = useState([{name: "no decks", id: 0}]);
|
||||
const [deckList, setDeckList] = useState([{name: 'no decks', id: 0}]);
|
||||
useEffect(() => {
|
||||
props.getDeckList()
|
||||
props.getModelList()
|
||||
}, [])
|
||||
props.getDeckList();
|
||||
props.getModelList();
|
||||
}, []);
|
||||
useEffect(() => {
|
||||
setDeckList(props.decks)
|
||||
}, [props.decks])
|
||||
setDeckList(props.decks);
|
||||
}, [props.decks]);
|
||||
return (
|
||||
<Picker onValueChange={id => props.selectDeck({id, deck: deckList[id]})} selectedValue={props.selectedDeck.id}>
|
||||
<Picker
|
||||
onValueChange={id => props.selectDeck({id, deck: deckList[id]})}
|
||||
selectedValue={props.selectedDeck.id}>
|
||||
{deckList.map((deck, index) => (
|
||||
<Picker.Item label={deck.name} key={deck.id} value={index}/>
|
||||
<Picker.Item label={deck.name} key={deck.id} value={index} />
|
||||
))}
|
||||
</Picker>
|
||||
)
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export default connect(state => ({
|
||||
export default connect(
|
||||
state => ({
|
||||
decks: state.anki.deckList,
|
||||
selectedDeck: state.anki.selectedDeck,
|
||||
}),{
|
||||
}),
|
||||
{
|
||||
getDeckList,
|
||||
selectDeck,
|
||||
getModelList
|
||||
})(DeckPicker)
|
||||
getModelList,
|
||||
},
|
||||
)(DeckPicker);
|
||||
|
|
|
@ -3,9 +3,18 @@ import {connect} from 'react-redux';
|
|||
import {TextField} from 'react-native-material-textfield';
|
||||
|
||||
const InputWord = props => {
|
||||
const sendWord = (word) => {
|
||||
props.word(word)
|
||||
const sendWord = word => {
|
||||
props.word(word);
|
||||
};
|
||||
return <TextField label={'Your word'} onChangeText={word => sendWord(word)} onSubmitEditing={props.onSubmit}/>;
|
||||
return (
|
||||
<TextField
|
||||
label={'Your word'}
|
||||
onChangeText={word => sendWord(word)}
|
||||
onSubmitEditing={props.onSubmit}
|
||||
/>
|
||||
);
|
||||
};
|
||||
export default connect(state => ({}), {})(InputWord);
|
||||
export default connect(
|
||||
state => ({}),
|
||||
{},
|
||||
)(InputWord);
|
||||
|
|
|
@ -19,6 +19,7 @@ export const SET_ANKI_NOTE_CREATOR = 'SET_ANKI_NOTE_CREATOR';
|
|||
export const SET_CREATOR_TEMPLATE = 'SET_CREATOR_TEMPLATE';
|
||||
export const SET_FIELDS = 'SET_FIELDS';
|
||||
export const SET_ANKI_DATA = 'SET_ANKI_DATA';
|
||||
export const SET_GLOBAL_DEF = 'SET_GLOBAL_DEF';
|
||||
//Anki ui actions
|
||||
export const SHOW_FIELDS = 'SHOW_FIELDS';
|
||||
// Anki check actions
|
||||
|
@ -38,4 +39,4 @@ export const EXAMPLES = 'EXAMPLES';
|
|||
export const PRONUNCIATION = 'PRONUNCIATION';
|
||||
export const DEF_LIST1 = 'DEF_LIST1';
|
||||
export const DEF_LIST2 = 'DEF_LIST2';
|
||||
export const WORD = 'WORD'
|
||||
export const WORD = 'WORD';
|
||||
|
|
|
@ -6,3 +6,4 @@ export const URBAN_DICTIONARY_API = 'URBAN_DICTIONARY_API';
|
|||
export const SET_ALL_FIELDS = 'SET_ALL_FIELDS';
|
||||
|
||||
export const SET_PARSED_DICTIONARY = 'SET_PARSED_DICTIONARY';
|
||||
export const SET_LOADING_STATE = 'SET_LOADING_STATE';
|
||||
|
|
|
@ -28,7 +28,7 @@ const initialState = {
|
|||
mainFieldIsAvailable: false,
|
||||
fieldList: [],
|
||||
ankiLanModelIsAlreadyExists: false,
|
||||
ankiLanModelName: 'develop_final',
|
||||
ankiLanModelName: 'develop_final_maybe_maybe_maybe',
|
||||
noteCreator: {},
|
||||
noteTemplate: [],
|
||||
currentFields: {
|
||||
|
@ -93,11 +93,13 @@ const ankiReducer = (state = initialState, action) => {
|
|||
};
|
||||
}
|
||||
case DEF_LIST1: {
|
||||
console.log(action.payload);
|
||||
console.log(action.role);
|
||||
return {
|
||||
...state,
|
||||
currentFields: {
|
||||
...state.currentFields,
|
||||
compounded: [action.payload, state.compounded[1]],
|
||||
compounded: [action.payload, state.currentFields.compounded[1]],
|
||||
},
|
||||
};
|
||||
}
|
||||
|
@ -106,11 +108,12 @@ const ankiReducer = (state = initialState, action) => {
|
|||
...state,
|
||||
currentFields: {
|
||||
...state.currentFields,
|
||||
compounded: [, state.compounded[0], action.payload],
|
||||
compounded: [state.currentFields.compounded[0], action.payload],
|
||||
},
|
||||
};
|
||||
}
|
||||
case WORD: {
|
||||
alert(action.payload);
|
||||
return {
|
||||
...state,
|
||||
currentFields: {...state.currentFields, word: action.payload},
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
import {
|
||||
SET_ALL_FIELDS,
|
||||
SET_AVAILABLE_API,
|
||||
SET_LOADING_STATE,
|
||||
SET_PARSED_DICTIONARY,
|
||||
SET_YANDEX_DICTIONARY_RESPONSE,
|
||||
} from '../constants/api-constants';
|
||||
import {SET_FIELDS} from '../constants/anki-constants';
|
||||
import {addNote} from '../actions/createAnkiLanModel';
|
||||
|
||||
const initialState = {
|
||||
word: '',
|
||||
|
@ -38,7 +40,13 @@ const apiReducer = (state = initialState, action) => {
|
|||
parsedDictionary: action.payload,
|
||||
apiIsLoaded: true,
|
||||
};
|
||||
case SET_LOADING_STATE:
|
||||
return {
|
||||
...state,
|
||||
apiIsLoaded: action.payload,
|
||||
};
|
||||
case SET_FIELDS:
|
||||
addNote(action.payload);
|
||||
return {
|
||||
...state,
|
||||
availableFields: action.payload,
|
||||
|
|
5
tools-start.fs
Executable file
5
tools-start.fs
Executable file
|
@ -0,0 +1,5 @@
|
|||
watchman watch-del-all
|
||||
watchman shutdown-server
|
||||
react-native run-android
|
||||
react-native-debugger &
|
||||
scrcpy &
|
Loading…
Reference in a new issue