be-components 7.3.2 → 7.3.5

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 (30) hide show
  1. package/lib/commonjs/FlashMarket/components/ManageFlashMarket.js +1 -1
  2. package/lib/commonjs/FlashMarket/components/ManageFlashMarket.js.map +1 -1
  3. package/lib/commonjs/PartnerPortal/components/EmbedManager.js +62 -0
  4. package/lib/commonjs/PartnerPortal/components/EmbedManager.js.map +1 -1
  5. package/lib/commonjs/PartnerPortal/components/FlashMarketSelector.js +139 -0
  6. package/lib/commonjs/PartnerPortal/components/FlashMarketSelector.js.map +1 -0
  7. package/lib/commonjs/PartnerPortal/components/FlashSelector.js +2 -2
  8. package/lib/commonjs/PartnerPortal/components/FlashSelector.js.map +1 -1
  9. package/lib/module/FlashMarket/components/ManageFlashMarket.js +1 -1
  10. package/lib/module/FlashMarket/components/ManageFlashMarket.js.map +1 -1
  11. package/lib/module/PartnerPortal/components/EmbedManager.js +62 -0
  12. package/lib/module/PartnerPortal/components/EmbedManager.js.map +1 -1
  13. package/lib/module/PartnerPortal/components/FlashMarketSelector.js +131 -0
  14. package/lib/module/PartnerPortal/components/FlashMarketSelector.js.map +1 -0
  15. package/lib/module/PartnerPortal/components/FlashSelector.js +2 -2
  16. package/lib/module/PartnerPortal/components/FlashSelector.js.map +1 -1
  17. package/lib/typescript/lib/commonjs/PartnerPortal/components/EmbedManager.d.ts.map +1 -1
  18. package/lib/typescript/lib/commonjs/PartnerPortal/components/FlashMarketSelector.d.ts +10 -0
  19. package/lib/typescript/lib/commonjs/PartnerPortal/components/FlashMarketSelector.d.ts.map +1 -0
  20. package/lib/typescript/lib/module/PartnerPortal/components/EmbedManager.d.ts.map +1 -1
  21. package/lib/typescript/lib/module/PartnerPortal/components/FlashMarketSelector.d.ts +10 -0
  22. package/lib/typescript/lib/module/PartnerPortal/components/FlashMarketSelector.d.ts.map +1 -0
  23. package/lib/typescript/src/PartnerPortal/components/EmbedManager.d.ts.map +1 -1
  24. package/lib/typescript/src/PartnerPortal/components/FlashMarketSelector.d.ts +12 -0
  25. package/lib/typescript/src/PartnerPortal/components/FlashMarketSelector.d.ts.map +1 -0
  26. package/package.json +1 -1
  27. package/src/FlashMarket/components/ManageFlashMarket.tsx +1 -1
  28. package/src/PartnerPortal/components/EmbedManager.tsx +33 -1
  29. package/src/PartnerPortal/components/FlashMarketSelector.tsx +101 -0
  30. package/src/PartnerPortal/components/FlashSelector.tsx +2 -2
@@ -0,0 +1,131 @@
1
+ import React, { useEffect, useState } from "react";
2
+ import { useColors } from "../../constants/useColors";
3
+ import { Button, Text, View } from "../../Components/Themed";
4
+ import { FlatList, Image } from "react-native";
5
+ import { Checkbox, Icons, SearchBox } from "../../Components";
6
+ import moment from "moment-mini";
7
+ import { PartnerPortalApi } from "../api";
8
+ const FlashMarketSelector = ({
9
+ company_id,
10
+ active_markets,
11
+ onSelectMarket,
12
+ onDeselectMarket,
13
+ flash_campaigns
14
+ }) => {
15
+ const Colors = useColors();
16
+ const [visible, setVisible] = useState(false);
17
+ const [markets, setMarkets] = useState([]);
18
+ const [search, setSearch] = useState('');
19
+ const filtered_competitions = markets.filter(pr => pr.poll_question.toLowerCase().includes(search.toLowerCase())).slice(0, 10);
20
+ useEffect(() => {
21
+ getCompetitions();
22
+ }, [company_id, flash_campaigns.length]);
23
+ const getCompetitions = async () => {
24
+ PartnerPortalApi.setEnvironment();
25
+ if (flash_campaigns.length == 0) {
26
+ return;
27
+ }
28
+ //Snag all the company flash markets
29
+ //get all polls from the campaigns
30
+ let s_polls = [];
31
+ const getPolls = flash_campaigns.map(async c => {
32
+ let resp = await PartnerPortalApi.EngagementApi.getFlashMarketsByCampaignId(c);
33
+ if (!resp) {
34
+ return;
35
+ }
36
+ resp.polls.map(p => s_polls.push(p));
37
+ });
38
+ await Promise.all(getPolls);
39
+ setMarkets(s_polls);
40
+ };
41
+ const renderMarkets = data => {
42
+ const selected = active_markets.includes(data.item.poll_id.toString());
43
+ return /*#__PURE__*/React.createElement(Button, {
44
+ transparent: true,
45
+ style: {
46
+ flexDirection: 'row',
47
+ alignItems: 'center',
48
+ padding: 10,
49
+ borderRadius: 0,
50
+ borderBottomWidth: 1,
51
+ borderColor: Colors.borders.light
52
+ },
53
+ onPress: () => {
54
+ if (selected) {
55
+ return onDeselectMarket(data.item);
56
+ }
57
+ return onSelectMarket(data.item);
58
+ }
59
+ }, /*#__PURE__*/React.createElement(Image, {
60
+ source: {
61
+ uri: data.item.poll_image?.url
62
+ },
63
+ style: {
64
+ height: 35,
65
+ width: 35
66
+ },
67
+ resizeMode: "cover"
68
+ }), /*#__PURE__*/React.createElement(View, {
69
+ transparent: true,
70
+ style: {
71
+ flex: 1,
72
+ marginLeft: 10
73
+ }
74
+ }, /*#__PURE__*/React.createElement(Text, {
75
+ theme: "h1"
76
+ }, data.item.poll_question), /*#__PURE__*/React.createElement(Text, {
77
+ theme: "description",
78
+ style: {
79
+ marginTop: 3
80
+ }
81
+ }, data.item.status.toUpperCase())), /*#__PURE__*/React.createElement(Checkbox, {
82
+ checked: selected,
83
+ disabled: true,
84
+ onSelect: () => console.log('')
85
+ }));
86
+ };
87
+ return /*#__PURE__*/React.createElement(View, {
88
+ float: true,
89
+ style: {
90
+ padding: 15
91
+ }
92
+ }, /*#__PURE__*/React.createElement(Button, {
93
+ transparent: true,
94
+ style: {
95
+ padding: 0,
96
+ flexDirection: 'row',
97
+ alignItems: 'center'
98
+ },
99
+ onPress: () => {
100
+ if (flash_campaigns.length == 0) {
101
+ return alert('Please select a campaign');
102
+ }
103
+ setVisible(!visible);
104
+ }
105
+ }, /*#__PURE__*/React.createElement(Text, {
106
+ style: {
107
+ flex: 1,
108
+ marginRight: 10
109
+ },
110
+ theme: "h1"
111
+ }, active_markets.length, " Markets"), /*#__PURE__*/React.createElement(Icons.ChevronIcon, {
112
+ direction: visible ? 'up' : 'down',
113
+ color: Colors.text.h1,
114
+ size: 8
115
+ })), visible ? /*#__PURE__*/React.createElement(View, {
116
+ transparent: true,
117
+ style: {
118
+ marginTop: 20
119
+ }
120
+ }, /*#__PURE__*/React.createElement(SearchBox, {
121
+ onChange: text => setSearch(text),
122
+ hide_search_button: true
123
+ }), /*#__PURE__*/React.createElement(FlatList, {
124
+ data: filtered_competitions.sort((a, b) => a.status.localeCompare(b.status) || moment(b.end_datetime).unix() - moment(a.end_datetime).unix() || moment(b.create_datetime).unix() - moment(a.create_datetime).unix()),
125
+ key: 'comp_selector',
126
+ keyExtractor: item => item.poll_id.toString(),
127
+ renderItem: renderMarkets
128
+ })) : /*#__PURE__*/React.createElement(React.Fragment, null));
129
+ };
130
+ export default FlashMarketSelector;
131
+ //# sourceMappingURL=FlashMarketSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEffect","useState","useColors","Button","Text","View","FlatList","Image","Checkbox","Icons","SearchBox","moment","PartnerPortalApi","FlashMarketSelector","company_id","active_markets","onSelectMarket","onDeselectMarket","flash_campaigns","Colors","visible","setVisible","markets","setMarkets","search","setSearch","filtered_competitions","filter","pr","poll_question","toLowerCase","includes","slice","getCompetitions","length","setEnvironment","s_polls","getPolls","map","c","resp","EngagementApi","getFlashMarketsByCampaignId","polls","p","push","Promise","all","renderMarkets","data","selected","item","poll_id","toString","createElement","transparent","style","flexDirection","alignItems","padding","borderRadius","borderBottomWidth","borderColor","borders","light","onPress","source","uri","poll_image","url","height","width","resizeMode","flex","marginLeft","theme","marginTop","status","toUpperCase","checked","disabled","onSelect","console","log","float","alert","marginRight","ChevronIcon","direction","color","text","h1","size","onChange","hide_search_button","sort","a","b","localeCompare","end_datetime","unix","create_datetime","key","keyExtractor","renderItem","Fragment"],"sourceRoot":"../../../../src","sources":["PartnerPortal/components/FlashMarketSelector.tsx"],"mappings":"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","ignoreList":[]}
@@ -89,7 +89,7 @@ const FlashSelector = ({
89
89
  marginRight: 10
90
90
  },
91
91
  theme: "h1"
92
- }, active_competitions.length, " Comeptitions"), /*#__PURE__*/React.createElement(Icons.ChevronIcon, {
92
+ }, active_competitions.length, " Competitions"), /*#__PURE__*/React.createElement(Icons.ChevronIcon, {
93
93
  direction: visible ? 'up' : 'down',
94
94
  color: Colors.text.h1,
95
95
  size: 8
@@ -102,7 +102,7 @@ const FlashSelector = ({
102
102
  onChange: text => setSearch(text),
103
103
  hide_search_button: true
104
104
  }), /*#__PURE__*/React.createElement(FlatList, {
105
- data: filtered_competitions.sort((a, b) => a.status.localeCompare(b.status) || moment(a.create_datetime).unix() - moment(b.create_datetime).unix()),
105
+ data: filtered_competitions.sort((a, b) => a.status.localeCompare(b.status) || moment(b.create_datetime).unix() - moment(a.create_datetime).unix()),
106
106
  key: 'comp_selector',
107
107
  keyExtractor: item => item.poll_campaign_id.toString(),
108
108
  renderItem: renderCompetitions
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","useColors","Button","Text","View","FlatList","Image","Checkbox","Icons","SearchBox","moment","PartnerPortalApi","FlashSelector","company_id","active_competitions","onSelectCompetition","onDeselectCompetition","Colors","visible","setVisible","competitions","setCompetitions","search","setSearch","filtered_competitions","filter","pr","name","toLowerCase","includes","slice","getCompetitions","setEnvironment","s_resp","EngagementApi","getActiveFlashCampaigns","renderCompetitions","data","selected","item","poll_campaign_id","toString","createElement","transparent","style","flexDirection","alignItems","padding","borderRadius","borderBottomWidth","borderColor","borders","light","onPress","source","uri","campaign_image","url","height","width","resizeMode","flex","marginLeft","theme","marginTop","checked","disabled","onSelect","console","log","float","marginRight","length","ChevronIcon","direction","color","text","h1","size","onChange","hide_search_button","sort","a","b","status","localeCompare","create_datetime","unix","key","keyExtractor","renderItem","Fragment"],"sourceRoot":"../../../../src","sources":["PartnerPortal/components/FlashSelector.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","useColors","Button","Text","View","FlatList","Image","Checkbox","Icons","SearchBox","moment","PartnerPortalApi","FlashSelector","company_id","active_competitions","onSelectCompetition","onDeselectCompetition","Colors","visible","setVisible","competitions","setCompetitions","search","setSearch","filtered_competitions","filter","pr","name","toLowerCase","includes","slice","getCompetitions","setEnvironment","s_resp","EngagementApi","getActiveFlashCampaigns","renderCompetitions","data","selected","item","poll_campaign_id","toString","createElement","transparent","style","flexDirection","alignItems","padding","borderRadius","borderBottomWidth","borderColor","borders","light","onPress","source","uri","campaign_image","url","height","width","resizeMode","flex","marginLeft","theme","marginTop","checked","disabled","onSelect","console","log","float","marginRight","length","ChevronIcon","direction","color","text","h1","size","onChange","hide_search_button","sort","a","b","status","localeCompare","create_datetime","unix","key","keyExtractor","renderItem","Fragment"],"sourceRoot":"../../../../src","sources":["PartnerPortal/components/FlashSelector.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"EmbedManager.d.ts","sourceRoot":"","sources":["../../../../../commonjs/PartnerPortal/components/EmbedManager.js"],"names":[],"mappings":";;AAqBA;;;;;;;;;QA0zBC"}
1
+ {"version":3,"file":"EmbedManager.d.ts","sourceRoot":"","sources":["../../../../../commonjs/PartnerPortal/components/EmbedManager.js"],"names":[],"mappings":";;AAsBA;;;;;;;;;QAu3BC"}
@@ -0,0 +1,10 @@
1
+ export const __esModule: boolean;
2
+ export default FlashMarketSelector;
3
+ declare function FlashMarketSelector({ company_id, active_markets, onSelectMarket, onDeselectMarket, flash_campaigns }: {
4
+ company_id: any;
5
+ active_markets: any;
6
+ onSelectMarket: any;
7
+ onDeselectMarket: any;
8
+ flash_campaigns: any;
9
+ }): any;
10
+ //# sourceMappingURL=FlashMarketSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlashMarketSelector.d.ts","sourceRoot":"","sources":["../../../../../commonjs/PartnerPortal/components/FlashMarketSelector.js"],"names":[],"mappings":";;AAeA;;;;;;QAyHC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EmbedManager.d.ts","sourceRoot":"","sources":["../../../../../module/PartnerPortal/components/EmbedManager.js"],"names":[],"mappings":";AAaA;;;;;;;;;kGA0zBC;kBAv0B0C,OAAO"}
1
+ {"version":3,"file":"EmbedManager.d.ts","sourceRoot":"","sources":["../../../../../module/PartnerPortal/components/EmbedManager.js"],"names":[],"mappings":";AAcA;;;;;;;;;kGAu3BC;kBAr4B0C,OAAO"}
@@ -0,0 +1,10 @@
1
+ export default FlashMarketSelector;
2
+ declare function FlashMarketSelector({ company_id, active_markets, onSelectMarket, onDeselectMarket, flash_campaigns }: {
3
+ company_id: any;
4
+ active_markets: any;
5
+ onSelectMarket: any;
6
+ onDeselectMarket: any;
7
+ flash_campaigns: any;
8
+ }): React.DetailedReactHTMLElement<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>;
9
+ import React from "react";
10
+ //# sourceMappingURL=FlashMarketSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlashMarketSelector.d.ts","sourceRoot":"","sources":["../../../../../module/PartnerPortal/components/FlashMarketSelector.js"],"names":[],"mappings":";AAOA;;;;;;kGAyHC;kBAhI0C,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"EmbedManager.d.ts","sourceRoot":"","sources":["../../../../../src/PartnerPortal/components/EmbedManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAmE,kBAAkB,EAAE,aAAa,EAAmC,MAAM,aAAa,CAAC;AAEvK,OAAO,EAAgD,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAU5F,KAAK,iBAAiB,GAAG;IACrB,gBAAgB,EAAC,MAAM,CAAC;IACxB,EAAE,EAAC,aAAa,CAAC;IACjB,KAAK,CAAC,EAAC,OAAO,CAAC;IACf,eAAe,CAAC,EAAC,CAAC,GAAG,EAAC,kBAAkB,KAAK,IAAI,CAAC;IAClD,YAAY,CAAC,EAAC,SAAS,CAAC;IACxB,YAAY,CAAC,EAAC,SAAS,CAAC;IACxB,UAAU,EAAC,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAA;CACtB,CAAA;AAED,QAAA,MAAM,YAAY,GAAI,mGAAkG,iBAAiB,sBA8cxI,CAAA;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"EmbedManager.d.ts","sourceRoot":"","sources":["../../../../../src/PartnerPortal/components/EmbedManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAmE,kBAAkB,EAAE,aAAa,EAAmC,MAAM,aAAa,CAAC;AAEvK,OAAO,EAAgD,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAW5F,KAAK,iBAAiB,GAAG;IACrB,gBAAgB,EAAC,MAAM,CAAC;IACxB,EAAE,EAAC,aAAa,CAAC;IACjB,KAAK,CAAC,EAAC,OAAO,CAAC;IACf,eAAe,CAAC,EAAC,CAAC,GAAG,EAAC,kBAAkB,KAAK,IAAI,CAAC;IAClD,YAAY,CAAC,EAAC,SAAS,CAAC;IACxB,YAAY,CAAC,EAAC,SAAS,CAAC;IACxB,UAAU,EAAC,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAA;CACtB,CAAA;AAED,QAAA,MAAM,YAAY,GAAI,mGAAkG,iBAAiB,sBA6exI,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import type { PollProps } from "../../types";
3
+ type FlashMarketSelectorProps = {
4
+ company_id: string;
5
+ active_markets: string[];
6
+ flash_campaigns: string[];
7
+ onSelectMarket: (poll: PollProps) => void;
8
+ onDeselectMarket: (poll: PollProps) => void;
9
+ };
10
+ declare const FlashMarketSelector: ({ company_id, active_markets, onSelectMarket, onDeselectMarket, flash_campaigns }: FlashMarketSelectorProps) => React.JSX.Element;
11
+ export default FlashMarketSelector;
12
+ //# sourceMappingURL=FlashMarketSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlashMarketSelector.d.ts","sourceRoot":"","sources":["../../../../../src/PartnerPortal/components/FlashMarketSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQ7C,KAAK,wBAAwB,GAAG;IAC5B,UAAU,EAAC,MAAM,CAAC;IAClB,cAAc,EAAC,MAAM,EAAE,CAAC;IACxB,eAAe,EAAC,MAAM,EAAE,CAAC;IACzB,cAAc,EAAC,CAAC,IAAI,EAAC,SAAS,KAAK,IAAI,CAAC;IACxC,gBAAgB,EAAC,CAAC,IAAI,EAAC,SAAS,KAAK,IAAI,CAAA;CAC5C,CAAA;AACD,QAAA,MAAM,mBAAmB,GAAI,mFAAkF,wBAAwB,sBAkFtI,CAAA;AAED,eAAe,mBAAmB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "be-components",
3
- "version": "7.3.2",
3
+ "version": "7.3.5",
4
4
  "description": "Components for BettorEdge Apps",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -554,7 +554,7 @@ const ManageFlashMarket = ({ float, header_style, player, onClose, poll_id, onFo
554
554
  if(!poll){ return <></> }
555
555
  if(active_step != 'results'){ return <></> }
556
556
  let staked = poll_summaries.reduce((a,b) => a + b.stake, 0)
557
- if(poll.status != 'pending'){ staked -= - (poll.base_stake ?? 0) }
557
+ if(poll.status != 'pending'){ staked -= (poll.base_stake ?? 0) }
558
558
  let responses = poll_summaries.reduce((a,b) => a + b.count, 0) - poll_summaries.length;
559
559
  if(responses < 0){ responses = 0 }
560
560
  let participants = players.length
@@ -11,6 +11,7 @@ import * as Clipboard from 'expo-clipboard';
11
11
  import CompetitionSelector from './CompetitionSelector';
12
12
  import SquaresSelector from './SquaresSelector';
13
13
  import FlashSelector from './FlashSelector';
14
+ import FlashMarketSelector from './FlashMarketSelector';
14
15
 
15
16
  type EmbedManagerProps = {
16
17
  company_embed_id:string,
@@ -45,7 +46,10 @@ const EmbedManager = ({ float, me, company_id, company_embed_id, onFocusPosition
45
46
  });
46
47
  const { loading, promos, player_referrals, embed, company_embed, embed_properties, draft_company_embed } = embed_data;
47
48
 
48
-
49
+ const campaign_ids_str = draft_company_embed?.properties['flashcampaignids']
50
+ let campaign_ids:string[] = []
51
+ if(campaign_ids_str){ campaign_ids = campaign_ids_str.split(',') }
52
+
49
53
 
50
54
  const isValid = () => {
51
55
  if(!company_embed){ return }
@@ -196,6 +200,7 @@ const EmbedManager = ({ float, me, company_id, company_embed_id, onFocusPosition
196
200
  //Split out competition ids
197
201
  let fl_ids_string = value
198
202
  let fl_ids:string[] = fl_ids_string ? fl_ids_string.split(',') : []
203
+
199
204
  return (
200
205
  <View transparent style={{ borderBottomWidth:1, borderColor:Colors.borders.light, padding:10 }}>
201
206
  <View transparent>
@@ -218,6 +223,33 @@ const EmbedManager = ({ float, me, company_id, company_embed_id, onFocusPosition
218
223
  </View>
219
224
  </View>
220
225
  )
226
+ case 'flash_selector':
227
+ //Split out competition ids
228
+ let fm_ids_string = value
229
+ let fm_ids:string[] = fm_ids_string ? fm_ids_string.split(',') : []
230
+ return (
231
+ <View transparent style={{ borderBottomWidth:1, borderColor:Colors.borders.light, padding:10 }}>
232
+ <View transparent>
233
+ <Text theme='h1'>{data.item.label}</Text>
234
+ <Text theme='description' style={{ marginTop:3 }}>{data.item.description}</Text>
235
+ </View>
236
+ <View transparent style={{ marginTop:10 }}>
237
+ <FlashMarketSelector
238
+ company_id={company_id}
239
+ flash_campaigns={campaign_ids}
240
+ active_markets={fm_ids}
241
+ onSelectMarket={(market) => {
242
+ let new_value = fm_ids.concat(market.poll_id).join(',');
243
+ setEmbedData({ ...embed_data, draft_company_embed: { ...draft_company_embed, properties: { ...draft_company_embed.properties, [data.item.property]: new_value } } })
244
+ }}
245
+ onDeselectMarket={(market) => {
246
+ let new_value = fm_ids.filter(id => id != market.poll_id).join(',')
247
+ setEmbedData({ ...embed_data, draft_company_embed: { ...draft_company_embed, properties: { ...draft_company_embed.properties, [data.item.property]: new_value } } })
248
+ }}
249
+ />
250
+ </View>
251
+ </View>
252
+ )
221
253
  case 'squares_selector':
222
254
  //Split out competition ids
223
255
  let sq_ids_string = value
@@ -0,0 +1,101 @@
1
+ import React, { useEffect, useState } from "react";
2
+ import type { PollProps } from "../../types";
3
+ import { useColors } from "../../constants/useColors";
4
+ import { Button, Text, View } from "../../Components/Themed";
5
+ import { FlatList, Image } from "react-native";
6
+ import { Checkbox, Icons, SearchBox } from "../../Components";
7
+ import moment from "moment-mini";
8
+ import { PartnerPortalApi } from "../api";
9
+
10
+ type FlashMarketSelectorProps = {
11
+ company_id:string,
12
+ active_markets:string[],
13
+ flash_campaigns:string[],
14
+ onSelectMarket:(poll:PollProps) => void,
15
+ onDeselectMarket:(poll:PollProps) => void
16
+ }
17
+ const FlashMarketSelector = ({ company_id, active_markets, onSelectMarket, onDeselectMarket, flash_campaigns }:FlashMarketSelectorProps) => {
18
+ const Colors = useColors();
19
+ const [ visible, setVisible ] = useState(false);
20
+ const [ markets, setMarkets ] = useState<PollProps[]>([])
21
+ const [ search, setSearch ] = useState('');
22
+
23
+ const filtered_competitions = markets.filter(pr => pr.poll_question.toLowerCase().includes(search.toLowerCase())).slice(0,10)
24
+
25
+ useEffect(() => {
26
+ getCompetitions()
27
+ },[company_id, flash_campaigns.length]);
28
+
29
+ const getCompetitions = async() => {
30
+ PartnerPortalApi.setEnvironment();
31
+ if(flash_campaigns.length == 0){ return }
32
+ //Snag all the company flash markets
33
+ //get all polls from the campaigns
34
+ let s_polls:PollProps[] = []
35
+ const getPolls = flash_campaigns.map(async c => {
36
+ let resp = await PartnerPortalApi.EngagementApi.getFlashMarketsByCampaignId(c);
37
+ if(!resp){ return }
38
+ resp.polls.map(p => s_polls.push(p))
39
+ });
40
+ await Promise.all(getPolls);
41
+ setMarkets(s_polls);
42
+ }
43
+
44
+ const renderMarkets = (data:{ item:PollProps, index:number }) => {
45
+ const selected = active_markets.includes(data.item.poll_id.toString());
46
+
47
+ return (
48
+ <Button
49
+ transparent
50
+ style={{ flexDirection:'row', alignItems:'center', padding:10, borderRadius:0, borderBottomWidth:1, borderColor:Colors.borders.light }}
51
+ onPress={() => {
52
+ if(selected){ return onDeselectMarket(data.item) }
53
+ return onSelectMarket(data.item);
54
+ }}
55
+ >
56
+ <Image
57
+ source={{ uri: data.item.poll_image?.url }}
58
+ style={{ height: 35, width:35 }}
59
+ resizeMode="cover"
60
+ />
61
+ <View transparent style={{ flex:1, marginLeft:10 }}>
62
+ <Text theme='h1'>{data.item.poll_question}</Text>
63
+ <Text theme='description' style={{ marginTop:3 }}>{data.item.status.toUpperCase()}</Text>
64
+ </View>
65
+ <Checkbox
66
+ checked={selected}
67
+ disabled
68
+ onSelect={() => console.log('')}
69
+ />
70
+ </Button>
71
+ )
72
+ }
73
+
74
+ return (
75
+ <View float style={{ padding:15 }}>
76
+ <Button transparent style={{ padding:0, flexDirection:'row', alignItems:'center' }} onPress={() => {
77
+ if(flash_campaigns.length == 0){ return alert('Please select a campaign') }
78
+ setVisible(!visible)
79
+ }}>
80
+ <Text style={{ flex:1, marginRight:10 }} theme='h1'>{active_markets.length} Markets</Text>
81
+ <Icons.ChevronIcon direction={visible?'up':'down'} color={Colors.text.h1} size={8} />
82
+ </Button>
83
+ {visible ?
84
+ <View transparent style={{ marginTop:20 }}>
85
+ <SearchBox
86
+ onChange={(text) => setSearch(text)}
87
+ hide_search_button
88
+ />
89
+ <FlatList
90
+ data={filtered_competitions.sort((a,b) => a.status.localeCompare(b.status) || moment(b.end_datetime).unix() - moment(a.end_datetime).unix() || moment(b.create_datetime).unix() - moment(a.create_datetime).unix() )}
91
+ key={'comp_selector'}
92
+ keyExtractor={item => item.poll_id.toString()}
93
+ renderItem={renderMarkets}
94
+ />
95
+ </View>
96
+ :<></>}
97
+ </View>
98
+ )
99
+ }
100
+
101
+ export default FlashMarketSelector
@@ -64,7 +64,7 @@ const FlashSelector = ({ company_id, active_competitions, onSelectCompetition, o
64
64
  return (
65
65
  <View float style={{ padding:15 }}>
66
66
  <Button transparent style={{ padding:0, flexDirection:'row', alignItems:'center' }} onPress={() => setVisible(!visible)}>
67
- <Text style={{ flex:1, marginRight:10 }} theme='h1'>{active_competitions.length} Comeptitions</Text>
67
+ <Text style={{ flex:1, marginRight:10 }} theme='h1'>{active_competitions.length} Competitions</Text>
68
68
  <Icons.ChevronIcon direction={visible?'up':'down'} color={Colors.text.h1} size={8} />
69
69
  </Button>
70
70
  {visible ?
@@ -74,7 +74,7 @@ const FlashSelector = ({ company_id, active_competitions, onSelectCompetition, o
74
74
  hide_search_button
75
75
  />
76
76
  <FlatList
77
- data={filtered_competitions.sort((a,b) => a.status.localeCompare(b.status) || moment(a.create_datetime).unix() - moment(b.create_datetime).unix())}
77
+ data={filtered_competitions.sort((a,b) => a.status.localeCompare(b.status) || moment(b.create_datetime).unix() - moment(a.create_datetime).unix())}
78
78
  key={'comp_selector'}
79
79
  keyExtractor={item => item.poll_campaign_id.toString()}
80
80
  renderItem={renderCompetitions}