be-components 5.8.0 → 5.8.2

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 (122) hide show
  1. package/lib/commonjs/Campaign/api/index.js +124 -0
  2. package/lib/commonjs/Campaign/api/index.js.map +1 -1
  3. package/lib/commonjs/Campaign/components/ActionList.js +46 -9
  4. package/lib/commonjs/Campaign/components/ActionList.js.map +1 -1
  5. package/lib/commonjs/Campaign/components/BetAlert.js +22 -10
  6. package/lib/commonjs/Campaign/components/BetAlert.js.map +1 -1
  7. package/lib/commonjs/Campaign/components/CampaignAnalytics.js +142 -11
  8. package/lib/commonjs/Campaign/components/CampaignAnalytics.js.map +1 -1
  9. package/lib/commonjs/Campaign/components/NewPlayerAlert.js +139 -0
  10. package/lib/commonjs/Campaign/components/NewPlayerAlert.js.map +1 -0
  11. package/lib/commonjs/Campaign/components/ParticipantCard.js +5 -0
  12. package/lib/commonjs/Campaign/components/ParticipantCard.js.map +1 -1
  13. package/lib/commonjs/Campaign/components/ParticipantsList.js +0 -1
  14. package/lib/commonjs/Campaign/components/ParticipantsList.js.map +1 -1
  15. package/lib/commonjs/Campaign/index.js +564 -222
  16. package/lib/commonjs/Campaign/index.js.map +1 -1
  17. package/lib/commonjs/FlashMarket/FlashHolder.js +29 -8
  18. package/lib/commonjs/FlashMarket/FlashHolder.js.map +1 -1
  19. package/lib/commonjs/FlashMarket/index.js +4 -4
  20. package/lib/commonjs/FlashMarket/index.js.map +1 -1
  21. package/lib/commonjs/MarketComponents/api/index.js +21 -0
  22. package/lib/commonjs/MarketComponents/api/index.js.map +1 -1
  23. package/lib/commonjs/Ticker/index.js +112 -26
  24. package/lib/commonjs/Ticker/index.js.map +1 -1
  25. package/lib/module/Campaign/api/index.js +124 -0
  26. package/lib/module/Campaign/api/index.js.map +1 -1
  27. package/lib/module/Campaign/components/ActionList.js +46 -9
  28. package/lib/module/Campaign/components/ActionList.js.map +1 -1
  29. package/lib/module/Campaign/components/BetAlert.js +22 -10
  30. package/lib/module/Campaign/components/BetAlert.js.map +1 -1
  31. package/lib/module/Campaign/components/CampaignAnalytics.js +144 -13
  32. package/lib/module/Campaign/components/CampaignAnalytics.js.map +1 -1
  33. package/lib/module/Campaign/components/NewPlayerAlert.js +132 -0
  34. package/lib/module/Campaign/components/NewPlayerAlert.js.map +1 -0
  35. package/lib/module/Campaign/components/ParticipantCard.js +5 -0
  36. package/lib/module/Campaign/components/ParticipantCard.js.map +1 -1
  37. package/lib/module/Campaign/components/ParticipantsList.js +0 -1
  38. package/lib/module/Campaign/components/ParticipantsList.js.map +1 -1
  39. package/lib/module/Campaign/index.js +564 -222
  40. package/lib/module/Campaign/index.js.map +1 -1
  41. package/lib/module/FlashMarket/FlashHolder.js +29 -8
  42. package/lib/module/FlashMarket/FlashHolder.js.map +1 -1
  43. package/lib/module/FlashMarket/index.js +4 -4
  44. package/lib/module/FlashMarket/index.js.map +1 -1
  45. package/lib/module/MarketComponents/api/index.js +21 -0
  46. package/lib/module/MarketComponents/api/index.js.map +1 -1
  47. package/lib/module/Ticker/index.js +115 -29
  48. package/lib/module/Ticker/index.js.map +1 -1
  49. package/lib/typescript/lib/commonjs/Campaign/api/index.d.ts +11 -0
  50. package/lib/typescript/lib/commonjs/Campaign/api/index.d.ts.map +1 -1
  51. package/lib/typescript/lib/commonjs/Campaign/components/ActionList.d.ts +4 -1
  52. package/lib/typescript/lib/commonjs/Campaign/components/ActionList.d.ts.map +1 -1
  53. package/lib/typescript/lib/commonjs/Campaign/components/BetAlert.d.ts +3 -1
  54. package/lib/typescript/lib/commonjs/Campaign/components/BetAlert.d.ts.map +1 -1
  55. package/lib/typescript/lib/commonjs/Campaign/components/CampaignAnalytics.d.ts +4 -2
  56. package/lib/typescript/lib/commonjs/Campaign/components/CampaignAnalytics.d.ts.map +1 -1
  57. package/lib/typescript/lib/commonjs/Campaign/components/NewPlayerAlert.d.ts +10 -0
  58. package/lib/typescript/lib/commonjs/Campaign/components/NewPlayerAlert.d.ts.map +1 -0
  59. package/lib/typescript/lib/commonjs/Campaign/components/ParticipantCard.d.ts +3 -1
  60. package/lib/typescript/lib/commonjs/Campaign/components/ParticipantCard.d.ts.map +1 -1
  61. package/lib/typescript/lib/commonjs/Campaign/components/ParticipantsList.d.ts.map +1 -1
  62. package/lib/typescript/lib/commonjs/Campaign/index.d.ts +8 -5
  63. package/lib/typescript/lib/commonjs/Campaign/index.d.ts.map +1 -1
  64. package/lib/typescript/lib/commonjs/FlashMarket/FlashHolder.d.ts.map +1 -1
  65. package/lib/typescript/lib/commonjs/MarketComponents/api/index.d.ts +1 -0
  66. package/lib/typescript/lib/commonjs/MarketComponents/api/index.d.ts.map +1 -1
  67. package/lib/typescript/lib/commonjs/Ticker/index.d.ts +2 -1
  68. package/lib/typescript/lib/commonjs/Ticker/index.d.ts.map +1 -1
  69. package/lib/typescript/lib/module/Campaign/api/index.d.ts +11 -0
  70. package/lib/typescript/lib/module/Campaign/api/index.d.ts.map +1 -1
  71. package/lib/typescript/lib/module/Campaign/components/ActionList.d.ts +4 -1
  72. package/lib/typescript/lib/module/Campaign/components/ActionList.d.ts.map +1 -1
  73. package/lib/typescript/lib/module/Campaign/components/BetAlert.d.ts +3 -1
  74. package/lib/typescript/lib/module/Campaign/components/BetAlert.d.ts.map +1 -1
  75. package/lib/typescript/lib/module/Campaign/components/CampaignAnalytics.d.ts +4 -2
  76. package/lib/typescript/lib/module/Campaign/components/CampaignAnalytics.d.ts.map +1 -1
  77. package/lib/typescript/lib/module/Campaign/components/NewPlayerAlert.d.ts +10 -0
  78. package/lib/typescript/lib/module/Campaign/components/NewPlayerAlert.d.ts.map +1 -0
  79. package/lib/typescript/lib/module/Campaign/components/ParticipantCard.d.ts +3 -1
  80. package/lib/typescript/lib/module/Campaign/components/ParticipantCard.d.ts.map +1 -1
  81. package/lib/typescript/lib/module/Campaign/components/ParticipantsList.d.ts.map +1 -1
  82. package/lib/typescript/lib/module/Campaign/index.d.ts +8 -5
  83. package/lib/typescript/lib/module/Campaign/index.d.ts.map +1 -1
  84. package/lib/typescript/lib/module/FlashMarket/FlashHolder.d.ts.map +1 -1
  85. package/lib/typescript/lib/module/MarketComponents/api/index.d.ts +1 -0
  86. package/lib/typescript/lib/module/MarketComponents/api/index.d.ts.map +1 -1
  87. package/lib/typescript/lib/module/Ticker/index.d.ts +2 -1
  88. package/lib/typescript/lib/module/Ticker/index.d.ts.map +1 -1
  89. package/lib/typescript/src/Campaign/api/index.d.ts +21 -6
  90. package/lib/typescript/src/Campaign/api/index.d.ts.map +1 -1
  91. package/lib/typescript/src/Campaign/components/ActionList.d.ts +5 -2
  92. package/lib/typescript/src/Campaign/components/ActionList.d.ts.map +1 -1
  93. package/lib/typescript/src/Campaign/components/BetAlert.d.ts +4 -2
  94. package/lib/typescript/src/Campaign/components/BetAlert.d.ts.map +1 -1
  95. package/lib/typescript/src/Campaign/components/CampaignAnalytics.d.ts +6 -3
  96. package/lib/typescript/src/Campaign/components/CampaignAnalytics.d.ts.map +1 -1
  97. package/lib/typescript/src/Campaign/components/NewPlayerAlert.d.ts +12 -0
  98. package/lib/typescript/src/Campaign/components/NewPlayerAlert.d.ts.map +1 -0
  99. package/lib/typescript/src/Campaign/components/ParticipantCard.d.ts +4 -2
  100. package/lib/typescript/src/Campaign/components/ParticipantCard.d.ts.map +1 -1
  101. package/lib/typescript/src/Campaign/index.d.ts +7 -4
  102. package/lib/typescript/src/Campaign/index.d.ts.map +1 -1
  103. package/lib/typescript/src/FlashMarket/FlashHolder.d.ts.map +1 -1
  104. package/lib/typescript/src/FlashMarket/index.d.ts.map +1 -1
  105. package/lib/typescript/src/MarketComponents/api/index.d.ts +3 -2
  106. package/lib/typescript/src/MarketComponents/api/index.d.ts.map +1 -1
  107. package/lib/typescript/src/Ticker/index.d.ts +2 -1
  108. package/lib/typescript/src/Ticker/index.d.ts.map +1 -1
  109. package/package.json +1 -1
  110. package/src/Campaign/api/index.ts +86 -4
  111. package/src/Campaign/components/ActionList.tsx +38 -13
  112. package/src/Campaign/components/BetAlert.tsx +15 -6
  113. package/src/Campaign/components/CampaignAnalytics.tsx +76 -13
  114. package/src/Campaign/components/NewPlayerAlert.tsx +81 -0
  115. package/src/Campaign/components/ParticipantCard.tsx +7 -2
  116. package/src/Campaign/components/ParticipantsList.tsx +1 -1
  117. package/src/Campaign/index.tsx +421 -188
  118. package/src/FlashMarket/FlashHolder.tsx +17 -6
  119. package/src/FlashMarket/index.tsx +3 -1
  120. package/src/MarketComponents/api/index.ts +16 -2
  121. package/src/Ticker/index.tsx +64 -32
  122. package/src/types.d.ts +3 -0
@@ -1,7 +1,7 @@
1
1
  import { Image } from "react-native";
2
2
  import { Icons } from "../../Components";
3
3
  import { Text, View } from "../../Components/Themed";
4
- import type { AthleteProps, EventProps, OrderProps, PublicPlayerProps, TeamProps } from "../../types"
4
+ import type { AthleteProps, EventProps, LeagueProps, OrderProps, PublicPlayerProps, TeamProps, TournamentProps } from "../../types"
5
5
  import React from 'react';
6
6
  import OrderGradeBar from "../../MarketComponents/components/OrderGradeBar";
7
7
  import { MarketComponentHelpers } from "../../MarketComponents/api";
@@ -9,19 +9,22 @@ import QRCode from "react-qr-code";
9
9
  import { useColors } from "../../constants/useColors";
10
10
  import moment from "moment-mini";
11
11
  import ProgressTimer from "./ProgressTimer";
12
+ import { AthleteImage } from "../../Components/Jerseys";
12
13
 
13
14
  type BetAlertProps = {
14
15
  order:OrderProps,
16
+ league?:LeagueProps,
15
17
  team?:TeamProps,
16
18
  athlete?:AthleteProps,
17
19
  event?:EventProps,
20
+ tournament?:TournamentProps,
18
21
  player?:PublicPlayerProps,
19
22
  color_mode?:'light'|'dark'
20
23
 
21
24
  onClose:() => void
22
25
  }
23
26
 
24
- const BetAlert = ({ player, order, team, athlete, event, color_mode, onClose }:BetAlertProps) => {
27
+ const BetAlert = ({ player, order, league, team, athlete, event, tournament, color_mode, onClose }:BetAlertProps) => {
25
28
  const Colors = useColors({ mode: color_mode });
26
29
 
27
30
  return (
@@ -52,6 +55,11 @@ const BetAlert = ({ player, order, team, athlete, event, color_mode, onClose }:B
52
55
  <Text theme='h2'>{event.home?.market_name}</Text>
53
56
  </View>
54
57
  :<></>}
58
+ {tournament ?
59
+ <View style={{ flexDirection:'row', alignItems:'center', justifyContent:'center', padding:10 }}>
60
+ <Text theme='h1' style={{ marginRight:20, marginLeft:20 }}>{tournament.tournament_name}</Text>
61
+ </View>
62
+ :<></>}
55
63
  {player ?
56
64
  <View>
57
65
  <Image
@@ -68,10 +76,11 @@ const BetAlert = ({ player, order, team, athlete, event, color_mode, onClose }:B
68
76
  resizeMode='cover'
69
77
  />
70
78
  :athlete ?
71
- <Image
72
- source={{ uri: athlete.image?.url }}
73
- style={{ height:60, width:60 }}
74
- resizeMode='cover'
79
+ <AthleteImage
80
+ athlete={athlete}
81
+ size={40}
82
+ number_size={18}
83
+ league={league}
75
84
  />
76
85
  :<></>}
77
86
 
@@ -1,18 +1,24 @@
1
1
  import React, { useEffect, useState } from 'react';
2
- import { View } from "../../Components/Themed"
2
+ import { Text, View } from "../../Components/Themed"
3
3
  import moment from 'moment-mini';
4
- import { CampaignApi } from '../api';
5
- import type { OrderAnalyticsProps } from '../../types';
4
+ import { CampaignApi, CampaignHelpers } from '../api';
5
+ import type { CampaignParticipantProps, NewOverallAnalytics, OrderAnalyticsProps, PublicPlayerProps } from '../../types';
6
+ import { ActivityIndicator, FlatList, Image } from 'react-native';
7
+ import { useColors } from '../../constants/useColors';
8
+ import { Icons } from '../../Components';
9
+ import { CompetitionHelpers } from '../../Competition/api';
6
10
 
7
11
 
8
- type CampaignAnalyticsProps = {
9
- campaign_id:string
12
+ type CampaignLeaderboardProps = {
13
+ campaign_id:string,
14
+ players:PublicPlayerProps[],
15
+ campaign_participants:CampaignParticipantProps[]
10
16
  }
11
17
 
12
- const CampaignAnalytics = ({ campaign_id }:CampaignAnalyticsProps) => {
13
-
18
+ const CampaignLeaderboard = ({ campaign_id, players, campaign_participants }:CampaignLeaderboardProps) => {
19
+ const Colors = useColors();
14
20
  const time_options = [
15
- { label: 'Last 7 Days', to: moment().unix(), from: moment().subtract(7, 'days').unix() }
21
+ { label: 'Last Year', to: moment().unix(), from: moment().subtract(365, 'days').unix() }
16
22
  ]
17
23
 
18
24
  const [ module_state, setModuleState ] = useState<{
@@ -20,11 +26,11 @@ const CampaignAnalytics = ({ campaign_id }:CampaignAnalyticsProps) => {
20
26
  time_option: any,
21
27
  analytics:OrderAnalyticsProps[]
22
28
  }>({
23
- loading:false,
29
+ loading:true,
24
30
  time_option: time_options[0],
25
31
  analytics: []
26
32
  });
27
- //const { analytics } = module_state;
33
+ const { loading, analytics } = module_state;
28
34
 
29
35
  useEffect(() => {
30
36
  let option = time_options[0]
@@ -34,20 +40,77 @@ const CampaignAnalytics = ({ campaign_id }:CampaignAnalyticsProps) => {
34
40
 
35
41
  const handleLoadAnalytics = async(option:{ label:string, to:number, from:number }) => {
36
42
  CampaignApi.setEnvironment();
43
+ setModuleState({ ...module_state, loading:true });
37
44
  const analytics = await CampaignApi.getCampaignAnalytics(campaign_id, option.to, option.from);
38
45
  setModuleState({
39
46
  ...module_state,
47
+ loading:false,
40
48
  time_option: option,
41
49
  analytics
42
50
  })
43
51
  }
44
52
 
45
- //const agg = CampaignHelpers.aggregateAnalytics(analytics)
53
+ const renderLeaders = (data:{ item:NewOverallAnalytics, index:number }) => {
54
+ const player = players.find(p => p.player_id == data.item.player_id);
55
+ if(!player){ return <></> }
56
+ const participant = campaign_participants.find(cp => cp.player_id == data.item.player_id);
57
+ return (
58
+ <View style={{ flexDirection:'row', alignItems:'center', padding:10, borderBottomWidth:1, borderColor:Colors.borders.light }}>
59
+ <View transparent style={{ paddingRight:10, borderRightWidth:1, borderColor:Colors.borders.light }}>
60
+ <Text theme='h1'>{CompetitionHelpers.formatPlace(data.index + 1)}</Text>
61
+ </View>
62
+ <Image
63
+ source={{ uri: player.profile_pic && player.profile_pic != '' ? player.profile_pic : 'https://res.cloudinary.com/hoabts6mc/image/upload/v1722453927/default_man_n96ofq.webp' }}
64
+ style={{ height:40, width:40, borderRadius:100, marginLeft:10 }}
65
+ />
66
+ <View transparent style={{ flex:1, marginLeft:10 }}>
67
+ <Text theme='h1'>@{player.username}</Text>
68
+ {participant ?
69
+ <Text theme='description' style={{ marginTop:3 }}>First checked in {moment(participant.create_datetime).fromNow()}</Text>
70
+ :<></>}
71
+ </View>
72
+ <View>
73
+ <Text theme='description' color={data.item.roi_pct >= 0 ? Colors.text.success : Colors.text.error}>{(data.item.roi_pct * 100).toFixed(2)}%</Text>
74
+ </View>
75
+ </View>
76
+ )
77
+ }
78
+
79
+ const leaders = CampaignHelpers.getCampaignLeaderboard(analytics);
46
80
  return (
47
81
  <View>
48
-
82
+ <View type='header' style={{ flexDirection:'row', alignItems:'center', padding:10 }}>
83
+ <Icons.LeaderboardIcon size={28} color={Colors.text.h1} />
84
+ <View transparent style={{ flex:1, marginLeft:10 }}>
85
+ <Text theme='h1'>Leaderboard</Text>
86
+ <Text theme='description' style={{ marginTop:3 }}>Leaders based on action placed while checked in</Text>
87
+ </View>
88
+ <View transparent style={{ marginLeft:5 }}>
89
+ <Text theme='action'>ROI %</Text>
90
+ </View>
91
+ </View>
92
+ <View transparent>
93
+ {loading ?
94
+ <ActivityIndicator style={{ margin:20 }} size='large' color={Colors.text.h1} />
95
+ :<></>}
96
+ {leaders.length > 0 ?
97
+ <FlatList
98
+ data={leaders}
99
+ key={'campaign_leaders'}
100
+ keyExtractor={(item) => item.player_id.toString()}
101
+ renderItem={renderLeaders}
102
+ />
103
+ : !loading ?
104
+ <View style={{ alignItems:'center', padding:10 }}>
105
+ <View float style={{ height:120, width:120, borderRadius:8, padding:10, justifyContent:'center', alignItems:'center' }}>
106
+ <Icons.LeaderboardIcon size={36} color={Colors.text.h1} />
107
+ <Text theme='h1' style={{ marginTop:10 }} textAlign='center'>No Data Yet!</Text>
108
+ </View>
109
+ </View>
110
+ :<></>}
111
+ </View>
49
112
  </View>
50
113
  )
51
114
  }
52
115
 
53
- export default CampaignAnalytics
116
+ export default CampaignLeaderboard
@@ -0,0 +1,81 @@
1
+ import React from 'react';
2
+ import { Button, Text, View } from "../../Components/Themed"
3
+ import type { CampaignParticipantProps, PublicPlayerProps } from "../../types"
4
+ import { Icons } from '../../Components';
5
+ import { useColors } from '../../constants/useColors';
6
+ import moment from 'moment-mini';
7
+ import { Image } from 'react-native';
8
+ import ProgressTimer from './ProgressTimer';
9
+ import QRCode from 'react-qr-code';
10
+
11
+ type NewPlayerAlertProps = {
12
+ view_mode:'desktop'|'mobile',
13
+ player:PublicPlayerProps,
14
+ campaign_participant:CampaignParticipantProps,
15
+ onViewProfile?:(player:PublicPlayerProps) => void
16
+ onClose:() => void
17
+ }
18
+
19
+ const NewPlayerAlert = ({ player, view_mode, campaign_participant, onClose, onViewProfile }:NewPlayerAlertProps) => {
20
+ const Colors = useColors();
21
+ return (
22
+ <View float style={{ width:350 }}>
23
+ <View type='header' style={{ flexDirection:'row', alignItems:'center', padding:18, borderTopRightRadius:8, borderTopLeftRadius:8 }}>
24
+ <Icons.BettorEdgeIcon size={18} color={Colors.text.h1} />
25
+ <View transparent style={{ flex:1, marginLeft:20, marginRight:10 }}>
26
+ <Text theme='h1'>NEW PLAYER ALERT!</Text>
27
+ <Text theme='description' style={{ marginTop:5 }}>@{player?.username} {`\u2022`} First Checked In {moment(campaign_participant.create_datetime).fromNow()}</Text>
28
+ </View>
29
+ </View>
30
+ <View type='body'>
31
+ <Image
32
+ source={{ uri: player.profile_pic && player.profile_pic != '' ? player.profile_pic : 'https://res.cloudinary.com/hoabts6mc/image/upload/v1722453927/default_man_n96ofq.webp' }}
33
+ style={{ height:200, width:350 }}
34
+ resizeMode='cover'
35
+ />
36
+ <View type='header' style={{ flexDirection:'row', alignItems:'center', padding:10 }}>
37
+ <View transparent style={{ flex:1, marginLeft:10 }}>
38
+ <Text theme='h1'>@{player.username}</Text>
39
+ <Text style={{ marginTop:3 }} theme='description'>Joined BettorEdge {moment(player.create_datetime).fromNow()}</Text>
40
+ </View>
41
+ </View>
42
+ {view_mode == 'desktop' ?
43
+ <View type='header' style={{alignItems:'center', padding:10}}>
44
+ <QRCode
45
+ size={100}
46
+ value={`https://play.bettoredge.com/social/player/${campaign_participant.player_id}`}
47
+ />
48
+ <Text textAlign='center' theme='h2' style={{ marginTop:4 }}>CHECK OUT MY PROFILE</Text>
49
+ </View>
50
+ :<></>}
51
+ </View>
52
+ <View type='footer' style={{ borderBottomRightRadius:view_mode == 'desktop' ? 8: 0, borderBottomLeftRadius:view_mode == 'desktop'?8:0 }}>
53
+ <ProgressTimer
54
+ onTimesUp={() => onClose()}
55
+ time_id={campaign_participant.campaign_participant_id.toString()}
56
+ total_time={15}
57
+ />
58
+ </View>
59
+ {view_mode == 'mobile' ?
60
+ <View type='footer' style={{ flexDirection:'row', alignItems:'center', borderBottomRightRadius:8, borderBottomLeftRadius:8, padding:10 }}>
61
+ {onViewProfile ?
62
+ <Button
63
+ title='View Profile'
64
+ type='success'
65
+ style={{ flex:1, marginRight:3 }}
66
+ onPress={() => onViewProfile(player)}
67
+ />
68
+ :<></>}
69
+ <Button
70
+ title='CLOSE'
71
+ type='error'
72
+ style={{ flex:1, marginLeft:3 }}
73
+ onPress={() => onClose()}
74
+ />
75
+ </View>
76
+ :<></>}
77
+ </View>
78
+ )
79
+ }
80
+
81
+ export default NewPlayerAlert
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Text, View } from "../../Components/Themed"
3
- import type { CampaignParticipantProps, EventProps, OrderAnalyticsProps, OrderProps, PublicPlayerProps } from "../../types"
3
+ import type { CampaignParticipantProps, EventProps, MatchProps, OrderAnalyticsProps, OrderProps, PublicPlayerProps, TournamentProps } from "../../types"
4
4
  import { Image } from 'react-native';
5
5
  import moment from 'moment-mini';
6
6
  import ActionList from './ActionList';
@@ -11,10 +11,12 @@ type ParticipantCardProps = {
11
11
  campaign_participant:CampaignParticipantProps,
12
12
  player:PublicPlayerProps,
13
13
  orders:OrderProps[],
14
+ tournaments:TournamentProps[],
15
+ matches:MatchProps[],
14
16
  analytics:OrderAnalyticsProps[],
15
17
  events:EventProps[]
16
18
  }
17
- const ParticipantCard = ({ player, campaign_participant, orders, events, analytics }:ParticipantCardProps) => {
19
+ const ParticipantCard = ({ player, campaign_participant, orders, events, tournaments, matches, analytics }:ParticipantCardProps) => {
18
20
  const agg = CampaignHelpers.aggregateAnalytics(analytics);
19
21
 
20
22
  return (
@@ -67,6 +69,9 @@ const ParticipantCard = ({ player, campaign_participant, orders, events, analyti
67
69
  </View>
68
70
  <ActionList
69
71
  orders={orders}
72
+ hide_header
73
+ tournaments={tournaments}
74
+ matches={matches}
70
75
  players={[player]}
71
76
  events={events}
72
77
  />
@@ -44,7 +44,7 @@ const ParticipantsList = ({ campaign_participants, players, selected_participant
44
44
  }
45
45
 
46
46
  return (
47
- <View type='header' style={{ flex:1 }}>
47
+ <View style={{ flex:1 }}>
48
48
  <View type='header' style={{ flexDirection:'row', alignItems:'center', padding:10 }}>
49
49
  <View transparent style={{ flex:1, marginRight:10 }}>
50
50
  <Text theme='h1'>Participants</Text>