be-components 3.5.7 → 3.5.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/lib/commonjs/CompetitionManager/components/AthleteSelector.js +52 -75
  2. package/lib/commonjs/CompetitionManager/components/AthleteSelector.js.map +1 -1
  3. package/lib/commonjs/CompetitionManager/components/CompetitionContestsForm.js +135 -119
  4. package/lib/commonjs/CompetitionManager/components/CompetitionContestsForm.js.map +1 -1
  5. package/lib/commonjs/CompetitionManager/components/CompetitionHeader.js +69 -62
  6. package/lib/commonjs/CompetitionManager/components/CompetitionHeader.js.map +1 -1
  7. package/lib/commonjs/CompetitionManager/components/CompetitionInfoForm.js +86 -91
  8. package/lib/commonjs/CompetitionManager/components/CompetitionInfoForm.js.map +1 -1
  9. package/lib/commonjs/CompetitionManager/components/CompetitionSettingsForm.js +143 -150
  10. package/lib/commonjs/CompetitionManager/components/CompetitionSettingsForm.js.map +1 -1
  11. package/lib/commonjs/CompetitionManager/components/ContestSelector.js +57 -61
  12. package/lib/commonjs/CompetitionManager/components/ContestSelector.js.map +1 -1
  13. package/lib/commonjs/CompetitionManager/components/ContestSettingsForm.js +120 -266
  14. package/lib/commonjs/CompetitionManager/components/ContestSettingsForm.js.map +1 -1
  15. package/lib/commonjs/CompetitionManager/components/MarketSelector.js +35 -32
  16. package/lib/commonjs/CompetitionManager/components/MarketSelector.js.map +1 -1
  17. package/lib/commonjs/CompetitionManager/components/PlayerSelector.js +42 -39
  18. package/lib/commonjs/CompetitionManager/components/PlayerSelector.js.map +1 -1
  19. package/lib/commonjs/CompetitionManager/index.js +47 -50
  20. package/lib/commonjs/CompetitionManager/index.js.map +1 -1
  21. package/lib/commonjs/MarketComponents/components/OrderBook.js +1 -0
  22. package/lib/commonjs/MarketComponents/components/OrderBook.js.map +1 -1
  23. package/lib/commonjs/ProfileManager/Components/VouchCard.js +56 -3
  24. package/lib/commonjs/ProfileManager/Components/VouchCard.js.map +1 -1
  25. package/lib/commonjs/ProfileManager/Components/Vouchhtml.js +86 -0
  26. package/lib/commonjs/ProfileManager/Components/Vouchhtml.js.map +1 -0
  27. package/lib/module/CompetitionManager/components/AthleteSelector.js +42 -65
  28. package/lib/module/CompetitionManager/components/AthleteSelector.js.map +1 -1
  29. package/lib/module/CompetitionManager/components/CompetitionContestsForm.js +93 -77
  30. package/lib/module/CompetitionManager/components/CompetitionContestsForm.js.map +1 -1
  31. package/lib/module/CompetitionManager/components/CompetitionHeader.js +47 -40
  32. package/lib/module/CompetitionManager/components/CompetitionHeader.js.map +1 -1
  33. package/lib/module/CompetitionManager/components/CompetitionInfoForm.js +59 -64
  34. package/lib/module/CompetitionManager/components/CompetitionInfoForm.js.map +1 -1
  35. package/lib/module/CompetitionManager/components/CompetitionSettingsForm.js +108 -115
  36. package/lib/module/CompetitionManager/components/CompetitionSettingsForm.js.map +1 -1
  37. package/lib/module/CompetitionManager/components/ContestSelector.js +34 -38
  38. package/lib/module/CompetitionManager/components/ContestSelector.js.map +1 -1
  39. package/lib/module/CompetitionManager/components/ContestSettingsForm.js +90 -237
  40. package/lib/module/CompetitionManager/components/ContestSettingsForm.js.map +1 -1
  41. package/lib/module/CompetitionManager/components/MarketSelector.js +26 -23
  42. package/lib/module/CompetitionManager/components/MarketSelector.js.map +1 -1
  43. package/lib/module/CompetitionManager/components/PlayerSelector.js +30 -27
  44. package/lib/module/CompetitionManager/components/PlayerSelector.js.map +1 -1
  45. package/lib/module/CompetitionManager/index.js +32 -35
  46. package/lib/module/CompetitionManager/index.js.map +1 -1
  47. package/lib/module/MarketComponents/components/OrderBook.js +1 -0
  48. package/lib/module/MarketComponents/components/OrderBook.js.map +1 -1
  49. package/lib/module/ProfileManager/Components/VouchCard.js +56 -3
  50. package/lib/module/ProfileManager/Components/VouchCard.js.map +1 -1
  51. package/lib/module/ProfileManager/Components/Vouchhtml.js +80 -0
  52. package/lib/module/ProfileManager/Components/Vouchhtml.js.map +1 -0
  53. package/lib/typescript/lib/commonjs/CompetitionManager/components/AthleteSelector.d.ts.map +1 -1
  54. package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionContestsForm.d.ts +1 -2
  55. package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionContestsForm.d.ts.map +1 -1
  56. package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionHeader.d.ts.map +1 -1
  57. package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionInfoForm.d.ts +1 -2
  58. package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionInfoForm.d.ts.map +1 -1
  59. package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionSettingsForm.d.ts +1 -2
  60. package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionSettingsForm.d.ts.map +1 -1
  61. package/lib/typescript/lib/commonjs/CompetitionManager/components/ContestSelector.d.ts.map +1 -1
  62. package/lib/typescript/lib/commonjs/CompetitionManager/components/ContestSettingsForm.d.ts +1 -2
  63. package/lib/typescript/lib/commonjs/CompetitionManager/components/ContestSettingsForm.d.ts.map +1 -1
  64. package/lib/typescript/lib/commonjs/CompetitionManager/components/MarketSelector.d.ts.map +1 -1
  65. package/lib/typescript/lib/commonjs/CompetitionManager/components/PlayerSelector.d.ts.map +1 -1
  66. package/lib/typescript/lib/commonjs/CompetitionManager/index.d.ts +2 -1
  67. package/lib/typescript/lib/commonjs/CompetitionManager/index.d.ts.map +1 -1
  68. package/lib/typescript/lib/commonjs/MarketComponents/components/OrderBook.d.ts.map +1 -1
  69. package/lib/typescript/lib/commonjs/ProfileManager/Components/VouchCard.d.ts.map +1 -1
  70. package/lib/typescript/lib/commonjs/ProfileManager/Components/Vouchhtml.d.ts +9 -0
  71. package/lib/typescript/lib/commonjs/ProfileManager/Components/Vouchhtml.d.ts.map +1 -0
  72. package/lib/typescript/lib/module/CompetitionManager/components/AthleteSelector.d.ts +1 -2
  73. package/lib/typescript/lib/module/CompetitionManager/components/AthleteSelector.d.ts.map +1 -1
  74. package/lib/typescript/lib/module/CompetitionManager/components/CompetitionContestsForm.d.ts +2 -4
  75. package/lib/typescript/lib/module/CompetitionManager/components/CompetitionContestsForm.d.ts.map +1 -1
  76. package/lib/typescript/lib/module/CompetitionManager/components/CompetitionHeader.d.ts +1 -2
  77. package/lib/typescript/lib/module/CompetitionManager/components/CompetitionHeader.d.ts.map +1 -1
  78. package/lib/typescript/lib/module/CompetitionManager/components/CompetitionInfoForm.d.ts +2 -4
  79. package/lib/typescript/lib/module/CompetitionManager/components/CompetitionInfoForm.d.ts.map +1 -1
  80. package/lib/typescript/lib/module/CompetitionManager/components/CompetitionSettingsForm.d.ts +2 -4
  81. package/lib/typescript/lib/module/CompetitionManager/components/CompetitionSettingsForm.d.ts.map +1 -1
  82. package/lib/typescript/lib/module/CompetitionManager/components/ContestSelector.d.ts +1 -2
  83. package/lib/typescript/lib/module/CompetitionManager/components/ContestSelector.d.ts.map +1 -1
  84. package/lib/typescript/lib/module/CompetitionManager/components/ContestSettingsForm.d.ts +2 -4
  85. package/lib/typescript/lib/module/CompetitionManager/components/ContestSettingsForm.d.ts.map +1 -1
  86. package/lib/typescript/lib/module/CompetitionManager/components/MarketSelector.d.ts +1 -2
  87. package/lib/typescript/lib/module/CompetitionManager/components/MarketSelector.d.ts.map +1 -1
  88. package/lib/typescript/lib/module/CompetitionManager/components/PlayerSelector.d.ts +1 -2
  89. package/lib/typescript/lib/module/CompetitionManager/components/PlayerSelector.d.ts.map +1 -1
  90. package/lib/typescript/lib/module/CompetitionManager/index.d.ts +3 -3
  91. package/lib/typescript/lib/module/CompetitionManager/index.d.ts.map +1 -1
  92. package/lib/typescript/lib/module/MarketComponents/components/OrderBook.d.ts.map +1 -1
  93. package/lib/typescript/lib/module/ProfileManager/Components/VouchCard.d.ts.map +1 -1
  94. package/lib/typescript/lib/module/ProfileManager/Components/Vouchhtml.d.ts +8 -0
  95. package/lib/typescript/lib/module/ProfileManager/Components/Vouchhtml.d.ts.map +1 -0
  96. package/lib/typescript/src/CompetitionManager/components/AthleteSelector.d.ts.map +1 -1
  97. package/lib/typescript/src/CompetitionManager/components/CompetitionContestsForm.d.ts +1 -1
  98. package/lib/typescript/src/CompetitionManager/components/CompetitionContestsForm.d.ts.map +1 -1
  99. package/lib/typescript/src/CompetitionManager/components/CompetitionHeader.d.ts.map +1 -1
  100. package/lib/typescript/src/CompetitionManager/components/CompetitionInfoForm.d.ts +1 -1
  101. package/lib/typescript/src/CompetitionManager/components/CompetitionInfoForm.d.ts.map +1 -1
  102. package/lib/typescript/src/CompetitionManager/components/CompetitionSettingsForm.d.ts +1 -1
  103. package/lib/typescript/src/CompetitionManager/components/CompetitionSettingsForm.d.ts.map +1 -1
  104. package/lib/typescript/src/CompetitionManager/components/ContestSelector.d.ts.map +1 -1
  105. package/lib/typescript/src/CompetitionManager/components/ContestSettingsForm.d.ts +1 -1
  106. package/lib/typescript/src/CompetitionManager/components/ContestSettingsForm.d.ts.map +1 -1
  107. package/lib/typescript/src/CompetitionManager/components/MarketSelector.d.ts.map +1 -1
  108. package/lib/typescript/src/CompetitionManager/components/PlayerSelector.d.ts.map +1 -1
  109. package/lib/typescript/src/CompetitionManager/index.d.ts +7 -1
  110. package/lib/typescript/src/CompetitionManager/index.d.ts.map +1 -1
  111. package/lib/typescript/src/MarketComponents/components/OrderBook.d.ts.map +1 -1
  112. package/lib/typescript/src/ProfileManager/Components/VouchCard.d.ts.map +1 -1
  113. package/lib/typescript/src/ProfileManager/Components/Vouchhtml.d.ts +10 -0
  114. package/lib/typescript/src/ProfileManager/Components/Vouchhtml.d.ts.map +1 -0
  115. package/package.json +4 -1
  116. package/src/CompetitionManager/components/AthleteSelector.tsx +32 -52
  117. package/src/CompetitionManager/components/CompetitionContestsForm.tsx +82 -89
  118. package/src/CompetitionManager/components/CompetitionHeader.tsx +45 -37
  119. package/src/CompetitionManager/components/CompetitionInfoForm.tsx +36 -40
  120. package/src/CompetitionManager/components/CompetitionSettingsForm.tsx +88 -96
  121. package/src/CompetitionManager/components/ContestSelector.tsx +33 -36
  122. package/src/CompetitionManager/components/ContestSettingsForm.tsx +58 -179
  123. package/src/CompetitionManager/components/MarketSelector.tsx +19 -21
  124. package/src/CompetitionManager/components/PlayerSelector.tsx +23 -26
  125. package/src/CompetitionManager/index.tsx +22 -25
  126. package/src/MarketComponents/components/OrderBook.tsx +1 -0
  127. package/src/ProfileManager/Components/VouchCard.tsx +46 -2
  128. package/src/ProfileManager/Components/Vouchhtml.ts +87 -0
@@ -1,9 +1,7 @@
1
1
  import React, { useEffect, useState } from 'react';
2
- import { ScrollView, View, ActivityIndicator, Image } from "react-native"
3
- import { view_styles } from '../constants/styles';
2
+ import { ScrollView, ActivityIndicator, Image } from "react-native"
4
3
  import CompetitionInfoForm from './components/CompetitionInfoForm';
5
4
  import type { AthleteProps, CompetitionMatchMarketProps, CompetitionMatchProps, CompetitionPayoutTypeProps, CompetitionProps, CompetitionResultTypeProps, CompetitionSummaryProps, CompetitionTypeProps, EventProps, LeagueProps, MarketProps, MatchProps, MyPlayerProps, TeamProps, TournamentProps, TradeProps } from '../types';
6
- import Colors from '../constants/colors';
7
5
  import { ManageCompetitionApi, ManageCompetitionHelpers, ManageCompetitionMarketApi, ManageCompetitionMatchApi } from './api';
8
6
  import CompetitionSettingsForm from './components/CompetitionSettingsForm';
9
7
  import CompetitionContestsForm from './components/CompetitionContestsForm';
@@ -12,16 +10,19 @@ import MarketSelector from './components/MarketSelector';
12
10
  import AthleteSelector from './components/AthleteSelector';
13
11
  import ContestSettingsForm from './components/ContestSettingsForm';
14
12
  import CompetitionHeader from './components/CompetitionHeader';
15
- import { Button, Text } from '../Components';
16
13
  import PlayerSelector from './components/PlayerSelector';
14
+ import { Button, Text, View } from '../Components/Themed';
15
+ import { useColors } from '../constants/useColors';
17
16
 
18
17
  type CompetitionManagerProps = {
19
18
  player_id?:string,
20
19
  competition_id:string,
20
+ insets?:{top:number, bottom:number, left:number, right:number},
21
21
  onClose:() => void
22
22
  }
23
23
 
24
- const CompetitionManager = ({ player_id, competition_id, onClose }:CompetitionManagerProps) => {
24
+ const CompetitionManager = ({ player_id, competition_id, onClose, insets }:CompetitionManagerProps) => {
25
+ const Colors = useColors();
25
26
  const [ module_size, setModuleSize ] = useState({ height:0, width:0 });
26
27
  const [ action_loading, setActionLoading ] = useState(false);
27
28
  const [ show_athletes, setShowAthletes ] = useState<{
@@ -408,7 +409,7 @@ const CompetitionManager = ({ player_id, competition_id, onClose }:CompetitionMa
408
409
  if(!competition || !draft_competition || player_id != competition.admin_id){
409
410
  return (
410
411
  <View style={{flex:1}}>
411
- <ActivityIndicator size='large' color={Colors.brand.midnight} style={{ padding:20, alignSelf:'center' }} />
412
+ <ActivityIndicator size='large' color={Colors.text.h1} style={{ padding:20, alignSelf:'center' }} />
412
413
  </View>
413
414
  )
414
415
  }
@@ -419,7 +420,7 @@ const CompetitionManager = ({ player_id, competition_id, onClose }:CompetitionMa
419
420
  const { width, height } = ev.nativeEvent.layout;
420
421
  setModuleSize({ height, width })
421
422
  }}>
422
- <View style={{ ...view_styles.wrapper }}>
423
+ <View>
423
424
  <CompetitionHeader
424
425
  action_loading={action_loading}
425
426
  width={module_size.width}
@@ -522,19 +523,17 @@ const CompetitionManager = ({ player_id, competition_id, onClose }:CompetitionMa
522
523
  />
523
524
  </View>
524
525
  </ScrollView>
525
- <View style={{ ...view_styles.section_footer }}>
526
+ <View type='footer' style={{ flexDirection:'row', alignItems:'center', padding:10 }}>
526
527
  <Button
527
528
  title='CLOSE'
528
529
  style={{ flex:1 }}
529
- title_color={Colors.shades.white}
530
- backgroundColor={Colors.utility.error}
531
- padding={15}
530
+ type='close'
532
531
  onPress={() => onClose()}
533
532
 
534
533
  />
535
534
  </View>
536
535
  {show_contests.visible ?
537
- <View style={{ position:'absolute', top:0, left:0, right:0, bottom:0, backgroundColor:Colors.shades.black_faded, justifyContent:'flex-end' }}>
536
+ <View type='blur' style={{ position:'absolute', top:0, left:0, right:0, bottom:0, justifyContent:'flex-end', paddingBottom:insets?.bottom }}>
538
537
  <ContestSelector
539
538
  action_loading={action_loading}
540
539
  height={module_size.height}
@@ -549,7 +548,7 @@ const CompetitionManager = ({ player_id, competition_id, onClose }:CompetitionMa
549
548
  </View>
550
549
  :<></>}
551
550
  {show_athletes.contest_id ?
552
- <View style={{ position:'absolute', top:0, left:0, right:0, bottom:0, backgroundColor:Colors.shades.black_faded, justifyContent:'flex-end' }}>
551
+ <View style={{ position:'absolute', top:0, left:0, right:0, bottom:0, justifyContent:'flex-end' }}>
553
552
  <AthleteSelector
554
553
  width={module_size.width}
555
554
  height={module_size.height}
@@ -564,7 +563,7 @@ const CompetitionManager = ({ player_id, competition_id, onClose }:CompetitionMa
564
563
  </View>
565
564
  :<></>}
566
565
  {show_pacers ?
567
- <View style={{ position:'absolute', top:0, left:0, right:0, bottom:0, backgroundColor:Colors.shades.black_faded, justifyContent:'flex-end' }}>
566
+ <View style={{ position:'absolute', top:0, left:0, right:0, bottom:0, justifyContent:'flex-end' }}>
568
567
  <PlayerSelector
569
568
  height={module_size.height}
570
569
  width={module_size.width}
@@ -583,7 +582,7 @@ const CompetitionManager = ({ player_id, competition_id, onClose }:CompetitionMa
583
582
  </View>
584
583
  :<></>}
585
584
  {show_markets.contest_id && show_markets.contest_type && showing_market_event ?
586
- <View style={{ position:'absolute', top:0, left:0, right:0, bottom:0, backgroundColor:Colors.shades.black_faded, justifyContent:'flex-end' }}>
585
+ <View type='blur' style={{ position:'absolute', top:0, left:0, right:0, bottom:0, justifyContent:'flex-end', paddingBottom:insets?.bottom }}>
587
586
  <MarketSelector
588
587
  height={module_size.height}
589
588
  width={module_size.width}
@@ -596,26 +595,24 @@ const CompetitionManager = ({ player_id, competition_id, onClose }:CompetitionMa
596
595
  </View>
597
596
  :<></>}
598
597
  {competition.status == 'inactive' ?
599
- <View style={{ position:'absolute', top:0, left:0, right:0, bottom:0, backgroundColor:Colors.shades.black_faded, justifyContent:'center', alignItems:'center' }}>
600
- <View style={{ ...view_styles.section, width: '70%', backgroundColor:Colors.shades.white }}>
601
- <View style={{ ...view_styles.section_header, justifyContent:'center', alignItems:'center', backgroundColor:Colors.shades.shade100 }}>
602
- <Text theme='header'>Competition Has Been Deleted</Text>
598
+ <View type='blur' style={{ position:'absolute', top:0, left:0, right:0, bottom:0, justifyContent:'center', alignItems:'center' }}>
599
+ <View float style={{ width: '70%' }}>
600
+ <View type='header' style={{ justifyContent:'center', alignItems:'center' }}>
601
+ <Text theme='h1'>Competition Has Been Deleted</Text>
603
602
  </View>
604
- <View style={{ ...view_styles.section_body, justifyContent:'center', alignItems:'center' }}>
603
+ <View type='body' style={{ justifyContent:'center', alignItems:'center' }}>
605
604
  <Image
606
605
  source={{ uri: competition.image?.url }}
607
606
  style={{ height:75, width: 75 }}
608
607
  resizeMode='cover'
609
608
  />
610
- <Text theme='header_2'>{competition.competition_name}</Text>
609
+ <Text theme='h2'>{competition.competition_name}</Text>
611
610
  </View>
612
- <View style={{ ...view_styles.section_footer }}>
611
+ <View type='footer' style={{ flexDirection:'row', alignItems:'center', padding:10 }}>
613
612
  <Button
614
613
  title='CLOSE'
615
614
  style={{ flex:1 }}
616
- title_color={Colors.shades.white}
617
- backgroundColor={Colors.utility.error}
618
- padding={15}
615
+ type='error'
619
616
  onPress={() => onClose()}
620
617
  />
621
618
  </View>
@@ -28,6 +28,7 @@ const OrderBookCard = ({ player_id, orders, market, show_orders, show_grades, on
28
28
  buy_sell_ind: 'buy',
29
29
  h2h:false,
30
30
  h2h_id:undefined,
31
+ draft_liquidity: order.open_amt,
31
32
  open_amt: 10,
32
33
  fund_id:undefined,
33
34
  expire_datetime: moment().add(1, 'minute')
@@ -1,7 +1,10 @@
1
1
  import React, { useEffect, useState } from 'react';
2
2
  import { Platform, TouchableOpacity, Image, ScrollView } from 'react-native';
3
+ import { useCameraPermissions } from 'expo-camera';
4
+ import vouchHtml from './Vouchhtml';
3
5
  import { Icons } from '../../Components';
4
6
  import Colors from '../../constants/colors';
7
+ import { WebView } from "react-native-webview";
5
8
  import { ProfileApi, ProfileHelpers } from '../api';
6
9
  import moment from 'moment-mini';
7
10
  import type { CodeRequestProps, MyPlayerProps, PlayerReferralProps, PromoProps, PublicPlayerProps } from '../../types';
@@ -25,6 +28,7 @@ type VouchCardProps = {
25
28
 
26
29
  const VouchCard = ({ player, walkthrough, code_details, onVouching, onPlayerUpdate, onClaimGift, onClose }:VouchCardProps) => {
27
30
  const C = useColors();
31
+ const [permission, requestPermission] = useCameraPermissions();
28
32
  const [ vouching, setVouching ] = useState(false);
29
33
  const [ view_height, setViewHeight ] = useState(0);
30
34
  const [ job_complete, setJobComplete ] = useState(false);
@@ -32,7 +36,13 @@ const VouchCard = ({ player, walkthrough, code_details, onVouching, onPlayerUpda
32
36
  const [ disclaimer_confirmed, setDisclaimerConfirmed ] = useState(false);
33
37
  const [ id_disclaimer_confirmed, setIDDisclaimerConfirmed ] = useState(false);
34
38
  const [ info_visible, setInfoVisible ] = useState(false);
35
-
39
+
40
+ const VOUCH_ID = ProfileApi.getVouchKeys().VOUCH_ID
41
+ const VOUCHED_CALLBACK_URL = ProfileApi.getVouchKeys().VOUCHED_CALLBACK_URL
42
+ const VOUCHED_SANDBOX = ProfileApi.getVouchKeys().VOUCHED_SANDBOX
43
+ const VOUCHED_HTML = vouchHtml({VOUCH_ID, VOUCHED_CALLBACK_URL, VOUCHED_SANDBOX, player})
44
+
45
+
36
46
  const { code_request, promo } = code_details;
37
47
  useEffect(() => {
38
48
  getPlayerFromServer()
@@ -88,6 +98,17 @@ const VouchCard = ({ player, walkthrough, code_details, onVouching, onPlayerUpda
88
98
  }
89
99
 
90
100
  const startVouchingPlayer = async() => {
101
+ if(Platform.OS != 'web'){
102
+ console.log(permission)
103
+ if(!permission?.granted){
104
+ await requestPermission();
105
+ return
106
+ }
107
+ //First check for camera permissions
108
+
109
+
110
+ return setVouching(true);
111
+ }
91
112
  if(vouching || !player){ return }
92
113
  //1) Lets make sure vouched js script has been initialized
93
114
  if(!window.Vouched){ return alert('not ready') }
@@ -147,7 +168,30 @@ const VouchCard = ({ player, walkthrough, code_details, onVouching, onPlayerUpda
147
168
  }));
148
169
  }
149
170
 
150
- //if(Platform.OS != 'web'){ return <></> }
171
+ const onMessage = (data:any) => {
172
+ console.log(data)
173
+ }
174
+
175
+ if(vouching){
176
+ if(Platform.OS != 'web'){
177
+ console.log('Rendering Webvewi!!!')
178
+ return (
179
+ <View style={{ position:'absolute', top:0, left:0, right:0, bottom:0 }}>
180
+ <WebView
181
+ source={{ html: VOUCHED_HTML }}
182
+ style={{ marginTop: 20, flex:1 }}
183
+ originWhitelist={['*']}
184
+ //mediaCapturePermissionGrantType='grant'
185
+ geolocationEnabled={true}
186
+ mediaPlaybackRequiresUserAction={false}
187
+ allowsInlineMediaPlayback
188
+ javaScriptEnabled={true}
189
+ onMessage={m => onMessage(m.nativeEvent.data)}
190
+ />
191
+ </View>
192
+ )
193
+ }
194
+ }
151
195
 
152
196
  if(vouched){
153
197
  return (
@@ -0,0 +1,87 @@
1
+ import type { MyPlayerProps } from "../../types";
2
+
3
+ type VouchHtmlProps = {
4
+ VOUCH_ID:string,
5
+ VOUCHED_CALLBACK_URL:string,
6
+ VOUCHED_SANDBOX:boolean,
7
+ player:MyPlayerProps
8
+
9
+ }
10
+ const VouchHtml = ({ VOUCH_ID, VOUCHED_CALLBACK_URL, VOUCHED_SANDBOX, player }:VouchHtmlProps) => {
11
+
12
+ return (
13
+ `
14
+ <!DOCTYPE html>
15
+ <html>
16
+ <head>
17
+ <!-- utf-8 is required for JS Plugin default fonts -->
18
+ <!-- VOUCHED BALANCED SECURITY SETTINGS -->
19
+ <meta charset="utf-8" />
20
+ <meta name=“viewport” content=“width=device-width, initial-scale=1.0">
21
+ <script src="https://static.vouched.id/plugin/releases/latest/index.js"></script>
22
+ <script type='text/javascript'>
23
+ (function() {
24
+ var vouched = Vouched({
25
+ // Optional verification properties.
26
+ verification: {
27
+ // verify the user's information
28
+ firstName: '${player.first_name}',
29
+ lastName: '${player.last_name}',
30
+ // used for the crosscheck feature
31
+ email: '${player.email}',
32
+ phone: '${player.phone}',
33
+ enableIPAddress: ${true}
34
+ },
35
+ liveness: 'mouth',
36
+ id: 'camera',
37
+ includeBarcode: 'true',
38
+ manualCaptureTimeout: 20000,
39
+ cameraScreenLabelBackId: 'Please turn ID over to capture back',
40
+ showTermsAndPrivacy: true,
41
+ appId:'${VOUCH_ID}',
42
+ // your webhook for POST verification processing
43
+ callbackURL: '${VOUCHED_CALLBACK_URL}',
44
+ sandbox: ${VOUCHED_SANDBOX},
45
+ // mobile handoff
46
+ crossDevice: true,
47
+ crossDeviceQRCode: true,
48
+ crossDeviceSMS: true,
49
+
50
+ // called when the verification is completed.
51
+ onDone: (job) => {
52
+ // token used to query jobs
53
+ console.log("Scanning complete", { token: job.token });
54
+
55
+ // An alternative way to update your system based on the
56
+ // results of the job. Your backend could perform the following:
57
+ // 1. query jobs with the token
58
+ // 2. store relevant job information such as the id and
59
+ // success property into the user's profile
60
+ fetch();
61
+
62
+ // Redirect to the next page based on the job success
63
+ if( job.result.success){
64
+ window.location.replace("");
65
+ }else{
66
+ window.location.replace("");
67
+ }
68
+ },
69
+
70
+ // theme
71
+ theme: {
72
+ name: 'verbose',
73
+ },
74
+ });
75
+ vouched.mount("#vouched-element");
76
+ })();
77
+ </script>
78
+ </head>
79
+ <body>
80
+ <div id='vouched-element' style="height: 100%"/>
81
+ </body>
82
+ </html>
83
+ `
84
+ )
85
+ }
86
+
87
+ export default VouchHtml;