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.
- package/lib/commonjs/CompetitionManager/components/AthleteSelector.js +52 -75
- package/lib/commonjs/CompetitionManager/components/AthleteSelector.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/CompetitionContestsForm.js +135 -119
- package/lib/commonjs/CompetitionManager/components/CompetitionContestsForm.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/CompetitionHeader.js +69 -62
- package/lib/commonjs/CompetitionManager/components/CompetitionHeader.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/CompetitionInfoForm.js +86 -91
- package/lib/commonjs/CompetitionManager/components/CompetitionInfoForm.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/CompetitionSettingsForm.js +143 -150
- package/lib/commonjs/CompetitionManager/components/CompetitionSettingsForm.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/ContestSelector.js +57 -61
- package/lib/commonjs/CompetitionManager/components/ContestSelector.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/ContestSettingsForm.js +120 -266
- package/lib/commonjs/CompetitionManager/components/ContestSettingsForm.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/MarketSelector.js +35 -32
- package/lib/commonjs/CompetitionManager/components/MarketSelector.js.map +1 -1
- package/lib/commonjs/CompetitionManager/components/PlayerSelector.js +42 -39
- package/lib/commonjs/CompetitionManager/components/PlayerSelector.js.map +1 -1
- package/lib/commonjs/CompetitionManager/index.js +47 -50
- package/lib/commonjs/CompetitionManager/index.js.map +1 -1
- package/lib/commonjs/MarketComponents/components/OrderBook.js +1 -0
- package/lib/commonjs/MarketComponents/components/OrderBook.js.map +1 -1
- package/lib/commonjs/ProfileManager/Components/VouchCard.js +56 -3
- package/lib/commonjs/ProfileManager/Components/VouchCard.js.map +1 -1
- package/lib/commonjs/ProfileManager/Components/Vouchhtml.js +86 -0
- package/lib/commonjs/ProfileManager/Components/Vouchhtml.js.map +1 -0
- package/lib/module/CompetitionManager/components/AthleteSelector.js +42 -65
- package/lib/module/CompetitionManager/components/AthleteSelector.js.map +1 -1
- package/lib/module/CompetitionManager/components/CompetitionContestsForm.js +93 -77
- package/lib/module/CompetitionManager/components/CompetitionContestsForm.js.map +1 -1
- package/lib/module/CompetitionManager/components/CompetitionHeader.js +47 -40
- package/lib/module/CompetitionManager/components/CompetitionHeader.js.map +1 -1
- package/lib/module/CompetitionManager/components/CompetitionInfoForm.js +59 -64
- package/lib/module/CompetitionManager/components/CompetitionInfoForm.js.map +1 -1
- package/lib/module/CompetitionManager/components/CompetitionSettingsForm.js +108 -115
- package/lib/module/CompetitionManager/components/CompetitionSettingsForm.js.map +1 -1
- package/lib/module/CompetitionManager/components/ContestSelector.js +34 -38
- package/lib/module/CompetitionManager/components/ContestSelector.js.map +1 -1
- package/lib/module/CompetitionManager/components/ContestSettingsForm.js +90 -237
- package/lib/module/CompetitionManager/components/ContestSettingsForm.js.map +1 -1
- package/lib/module/CompetitionManager/components/MarketSelector.js +26 -23
- package/lib/module/CompetitionManager/components/MarketSelector.js.map +1 -1
- package/lib/module/CompetitionManager/components/PlayerSelector.js +30 -27
- package/lib/module/CompetitionManager/components/PlayerSelector.js.map +1 -1
- package/lib/module/CompetitionManager/index.js +32 -35
- package/lib/module/CompetitionManager/index.js.map +1 -1
- package/lib/module/MarketComponents/components/OrderBook.js +1 -0
- package/lib/module/MarketComponents/components/OrderBook.js.map +1 -1
- package/lib/module/ProfileManager/Components/VouchCard.js +56 -3
- package/lib/module/ProfileManager/Components/VouchCard.js.map +1 -1
- package/lib/module/ProfileManager/Components/Vouchhtml.js +80 -0
- package/lib/module/ProfileManager/Components/Vouchhtml.js.map +1 -0
- package/lib/typescript/lib/commonjs/CompetitionManager/components/AthleteSelector.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionContestsForm.d.ts +1 -2
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionContestsForm.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionHeader.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionInfoForm.d.ts +1 -2
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionInfoForm.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionSettingsForm.d.ts +1 -2
- package/lib/typescript/lib/commonjs/CompetitionManager/components/CompetitionSettingsForm.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/ContestSelector.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/ContestSettingsForm.d.ts +1 -2
- package/lib/typescript/lib/commonjs/CompetitionManager/components/ContestSettingsForm.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/MarketSelector.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/components/PlayerSelector.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/index.d.ts +2 -1
- package/lib/typescript/lib/commonjs/CompetitionManager/index.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/MarketComponents/components/OrderBook.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/ProfileManager/Components/VouchCard.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/ProfileManager/Components/Vouchhtml.d.ts +9 -0
- package/lib/typescript/lib/commonjs/ProfileManager/Components/Vouchhtml.d.ts.map +1 -0
- package/lib/typescript/lib/module/CompetitionManager/components/AthleteSelector.d.ts +1 -2
- package/lib/typescript/lib/module/CompetitionManager/components/AthleteSelector.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/CompetitionContestsForm.d.ts +2 -4
- package/lib/typescript/lib/module/CompetitionManager/components/CompetitionContestsForm.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/CompetitionHeader.d.ts +1 -2
- package/lib/typescript/lib/module/CompetitionManager/components/CompetitionHeader.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/CompetitionInfoForm.d.ts +2 -4
- package/lib/typescript/lib/module/CompetitionManager/components/CompetitionInfoForm.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/CompetitionSettingsForm.d.ts +2 -4
- package/lib/typescript/lib/module/CompetitionManager/components/CompetitionSettingsForm.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/ContestSelector.d.ts +1 -2
- package/lib/typescript/lib/module/CompetitionManager/components/ContestSelector.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/ContestSettingsForm.d.ts +2 -4
- package/lib/typescript/lib/module/CompetitionManager/components/ContestSettingsForm.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/MarketSelector.d.ts +1 -2
- package/lib/typescript/lib/module/CompetitionManager/components/MarketSelector.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/components/PlayerSelector.d.ts +1 -2
- package/lib/typescript/lib/module/CompetitionManager/components/PlayerSelector.d.ts.map +1 -1
- package/lib/typescript/lib/module/CompetitionManager/index.d.ts +3 -3
- package/lib/typescript/lib/module/CompetitionManager/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/MarketComponents/components/OrderBook.d.ts.map +1 -1
- package/lib/typescript/lib/module/ProfileManager/Components/VouchCard.d.ts.map +1 -1
- package/lib/typescript/lib/module/ProfileManager/Components/Vouchhtml.d.ts +8 -0
- package/lib/typescript/lib/module/ProfileManager/Components/Vouchhtml.d.ts.map +1 -0
- package/lib/typescript/src/CompetitionManager/components/AthleteSelector.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/components/CompetitionContestsForm.d.ts +1 -1
- package/lib/typescript/src/CompetitionManager/components/CompetitionContestsForm.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/components/CompetitionHeader.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/components/CompetitionInfoForm.d.ts +1 -1
- package/lib/typescript/src/CompetitionManager/components/CompetitionInfoForm.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/components/CompetitionSettingsForm.d.ts +1 -1
- package/lib/typescript/src/CompetitionManager/components/CompetitionSettingsForm.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/components/ContestSelector.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/components/ContestSettingsForm.d.ts +1 -1
- package/lib/typescript/src/CompetitionManager/components/ContestSettingsForm.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/components/MarketSelector.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/components/PlayerSelector.d.ts.map +1 -1
- package/lib/typescript/src/CompetitionManager/index.d.ts +7 -1
- package/lib/typescript/src/CompetitionManager/index.d.ts.map +1 -1
- package/lib/typescript/src/MarketComponents/components/OrderBook.d.ts.map +1 -1
- package/lib/typescript/src/ProfileManager/Components/VouchCard.d.ts.map +1 -1
- package/lib/typescript/src/ProfileManager/Components/Vouchhtml.d.ts +10 -0
- package/lib/typescript/src/ProfileManager/Components/Vouchhtml.d.ts.map +1 -0
- package/package.json +4 -1
- package/src/CompetitionManager/components/AthleteSelector.tsx +32 -52
- package/src/CompetitionManager/components/CompetitionContestsForm.tsx +82 -89
- package/src/CompetitionManager/components/CompetitionHeader.tsx +45 -37
- package/src/CompetitionManager/components/CompetitionInfoForm.tsx +36 -40
- package/src/CompetitionManager/components/CompetitionSettingsForm.tsx +88 -96
- package/src/CompetitionManager/components/ContestSelector.tsx +33 -36
- package/src/CompetitionManager/components/ContestSettingsForm.tsx +58 -179
- package/src/CompetitionManager/components/MarketSelector.tsx +19 -21
- package/src/CompetitionManager/components/PlayerSelector.tsx +23 -26
- package/src/CompetitionManager/index.tsx +22 -25
- package/src/MarketComponents/components/OrderBook.tsx +1 -0
- package/src/ProfileManager/Components/VouchCard.tsx +46 -2
- package/src/ProfileManager/Components/Vouchhtml.ts +87 -0
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import React, { useEffect, useState } from 'react';
|
|
2
|
-
import { ScrollView,
|
|
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.
|
|
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
|
|
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={{
|
|
526
|
+
<View type='footer' style={{ flexDirection:'row', alignItems:'center', padding:10 }}>
|
|
526
527
|
<Button
|
|
527
528
|
title='CLOSE'
|
|
528
529
|
style={{ flex:1 }}
|
|
529
|
-
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
600
|
-
<View style={{
|
|
601
|
-
<View style={{
|
|
602
|
-
<Text theme='
|
|
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={{
|
|
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='
|
|
609
|
+
<Text theme='h2'>{competition.competition_name}</Text>
|
|
611
610
|
</View>
|
|
612
|
-
<View style={{
|
|
611
|
+
<View type='footer' style={{ flexDirection:'row', alignItems:'center', padding:10 }}>
|
|
613
612
|
<Button
|
|
614
613
|
title='CLOSE'
|
|
615
614
|
style={{ flex:1 }}
|
|
616
|
-
|
|
617
|
-
backgroundColor={Colors.utility.error}
|
|
618
|
-
padding={15}
|
|
615
|
+
type='error'
|
|
619
616
|
onPress={() => onClose()}
|
|
620
617
|
/>
|
|
621
618
|
</View>
|
|
@@ -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
|
-
|
|
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;
|