be-components 7.0.6 → 7.0.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 (180) hide show
  1. package/lib/commonjs/Components/BETimePicker.js +110 -0
  2. package/lib/commonjs/Components/BETimePicker.js.map +1 -0
  3. package/lib/commonjs/Components/Icons.js +37 -0
  4. package/lib/commonjs/Components/Icons.js.map +1 -1
  5. package/lib/commonjs/Components/ImageUploader.js +4 -0
  6. package/lib/commonjs/Components/ImageUploader.js.map +1 -1
  7. package/lib/commonjs/Components/Slider.js +2 -0
  8. package/lib/commonjs/Components/Slider.js.map +1 -1
  9. package/lib/commonjs/Components/Themed.js +4 -2
  10. package/lib/commonjs/Components/Themed.js.map +1 -1
  11. package/lib/commonjs/CreateEngagement/api/index.js +89 -1
  12. package/lib/commonjs/CreateEngagement/api/index.js.map +1 -1
  13. package/lib/commonjs/CreateEngagement/index.js +306 -5
  14. package/lib/commonjs/CreateEngagement/index.js.map +1 -1
  15. package/lib/commonjs/FlashMarket/FlashHolder.js +14 -1
  16. package/lib/commonjs/FlashMarket/FlashHolder.js.map +1 -1
  17. package/lib/commonjs/FlashMarket/api/index.js +42 -0
  18. package/lib/commonjs/FlashMarket/api/index.js.map +1 -1
  19. package/lib/commonjs/FlashMarket/components/FlashOptionCard.js +265 -0
  20. package/lib/commonjs/FlashMarket/components/FlashOptionCard.js.map +1 -0
  21. package/lib/commonjs/FlashMarket/components/ManageFlashMarket.js +1244 -0
  22. package/lib/commonjs/FlashMarket/components/ManageFlashMarket.js.map +1 -0
  23. package/lib/commonjs/FlashMarket/index.js +18 -6
  24. package/lib/commonjs/FlashMarket/index.js.map +1 -1
  25. package/lib/commonjs/Group/api/index.js +6 -3
  26. package/lib/commonjs/Group/api/index.js.map +1 -1
  27. package/lib/commonjs/Group/index.js +135 -20
  28. package/lib/commonjs/Group/index.js.map +1 -1
  29. package/lib/commonjs/Poll/api/index.js +0 -1
  30. package/lib/commonjs/Poll/api/index.js.map +1 -1
  31. package/lib/commonjs/constants/useColors.js +2 -0
  32. package/lib/commonjs/constants/useColors.js.map +1 -1
  33. package/lib/commonjs/index.js +7 -0
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/commonjs/types.d.js.map +1 -1
  36. package/lib/module/Components/BETimePicker.js +102 -0
  37. package/lib/module/Components/BETimePicker.js.map +1 -0
  38. package/lib/module/Components/Icons.js +37 -0
  39. package/lib/module/Components/Icons.js.map +1 -1
  40. package/lib/module/Components/ImageUploader.js +4 -0
  41. package/lib/module/Components/ImageUploader.js.map +1 -1
  42. package/lib/module/Components/Slider.js +2 -0
  43. package/lib/module/Components/Slider.js.map +1 -1
  44. package/lib/module/Components/Themed.js +4 -2
  45. package/lib/module/Components/Themed.js.map +1 -1
  46. package/lib/module/CreateEngagement/api/index.js +89 -1
  47. package/lib/module/CreateEngagement/api/index.js.map +1 -1
  48. package/lib/module/CreateEngagement/index.js +306 -5
  49. package/lib/module/CreateEngagement/index.js.map +1 -1
  50. package/lib/module/FlashMarket/FlashHolder.js +14 -1
  51. package/lib/module/FlashMarket/FlashHolder.js.map +1 -1
  52. package/lib/module/FlashMarket/api/index.js +42 -0
  53. package/lib/module/FlashMarket/api/index.js.map +1 -1
  54. package/lib/module/FlashMarket/components/FlashOptionCard.js +258 -0
  55. package/lib/module/FlashMarket/components/FlashOptionCard.js.map +1 -0
  56. package/lib/module/FlashMarket/components/ManageFlashMarket.js +1236 -0
  57. package/lib/module/FlashMarket/components/ManageFlashMarket.js.map +1 -0
  58. package/lib/module/FlashMarket/index.js +18 -6
  59. package/lib/module/FlashMarket/index.js.map +1 -1
  60. package/lib/module/Group/api/index.js +6 -3
  61. package/lib/module/Group/api/index.js.map +1 -1
  62. package/lib/module/Group/index.js +135 -20
  63. package/lib/module/Group/index.js.map +1 -1
  64. package/lib/module/Poll/api/index.js +0 -1
  65. package/lib/module/Poll/api/index.js.map +1 -1
  66. package/lib/module/constants/useColors.js +2 -0
  67. package/lib/module/constants/useColors.js.map +1 -1
  68. package/lib/module/index.js +2 -1
  69. package/lib/module/index.js.map +1 -1
  70. package/lib/module/types.d.js.map +1 -1
  71. package/lib/typescript/lib/commonjs/Components/BETimePicker.d.ts +8 -0
  72. package/lib/typescript/lib/commonjs/Components/BETimePicker.d.ts.map +1 -0
  73. package/lib/typescript/lib/commonjs/Components/Icons.d.ts +5 -0
  74. package/lib/typescript/lib/commonjs/Components/Icons.d.ts.map +1 -1
  75. package/lib/typescript/lib/commonjs/Components/ImageUploader.d.ts +2 -1
  76. package/lib/typescript/lib/commonjs/Components/ImageUploader.d.ts.map +1 -1
  77. package/lib/typescript/lib/commonjs/Components/Slider.d.ts +2 -1
  78. package/lib/typescript/lib/commonjs/Components/Slider.d.ts.map +1 -1
  79. package/lib/typescript/lib/commonjs/Components/Themed.d.ts.map +1 -1
  80. package/lib/typescript/lib/commonjs/CreateEngagement/api/index.d.ts +40 -1
  81. package/lib/typescript/lib/commonjs/CreateEngagement/api/index.d.ts.map +1 -1
  82. package/lib/typescript/lib/commonjs/CreateEngagement/index.d.ts.map +1 -1
  83. package/lib/typescript/lib/commonjs/FlashMarket/FlashHolder.d.ts +3 -1
  84. package/lib/typescript/lib/commonjs/FlashMarket/FlashHolder.d.ts.map +1 -1
  85. package/lib/typescript/lib/commonjs/FlashMarket/api/index.d.ts +2 -0
  86. package/lib/typescript/lib/commonjs/FlashMarket/api/index.d.ts.map +1 -1
  87. package/lib/typescript/lib/commonjs/FlashMarket/components/FlashOptionCard.d.ts +13 -0
  88. package/lib/typescript/lib/commonjs/FlashMarket/components/FlashOptionCard.d.ts.map +1 -0
  89. package/lib/typescript/lib/commonjs/FlashMarket/components/ManageFlashMarket.d.ts +11 -0
  90. package/lib/typescript/lib/commonjs/FlashMarket/components/ManageFlashMarket.d.ts.map +1 -0
  91. package/lib/typescript/lib/commonjs/FlashMarket/index.d.ts +2 -1
  92. package/lib/typescript/lib/commonjs/FlashMarket/index.d.ts.map +1 -1
  93. package/lib/typescript/lib/commonjs/Group/api/index.d.ts.map +1 -1
  94. package/lib/typescript/lib/commonjs/Group/index.d.ts +2 -1
  95. package/lib/typescript/lib/commonjs/Group/index.d.ts.map +1 -1
  96. package/lib/typescript/lib/commonjs/Poll/api/index.d.ts.map +1 -1
  97. package/lib/typescript/lib/commonjs/constants/useColors.d.ts +1 -0
  98. package/lib/typescript/lib/commonjs/constants/useColors.d.ts.map +1 -1
  99. package/lib/typescript/lib/commonjs/index.d.ts +1 -0
  100. package/lib/typescript/lib/commonjs/index.d.ts.map +1 -1
  101. package/lib/typescript/lib/module/Components/BETimePicker.d.ts +8 -0
  102. package/lib/typescript/lib/module/Components/BETimePicker.d.ts.map +1 -0
  103. package/lib/typescript/lib/module/Components/Icons.d.ts +5 -0
  104. package/lib/typescript/lib/module/Components/Icons.d.ts.map +1 -1
  105. package/lib/typescript/lib/module/Components/ImageUploader.d.ts +2 -1
  106. package/lib/typescript/lib/module/Components/ImageUploader.d.ts.map +1 -1
  107. package/lib/typescript/lib/module/Components/Slider.d.ts +2 -1
  108. package/lib/typescript/lib/module/Components/Slider.d.ts.map +1 -1
  109. package/lib/typescript/lib/module/Components/Themed.d.ts.map +1 -1
  110. package/lib/typescript/lib/module/CreateEngagement/api/index.d.ts +41 -1
  111. package/lib/typescript/lib/module/CreateEngagement/api/index.d.ts.map +1 -1
  112. package/lib/typescript/lib/module/CreateEngagement/index.d.ts.map +1 -1
  113. package/lib/typescript/lib/module/FlashMarket/FlashHolder.d.ts +3 -1
  114. package/lib/typescript/lib/module/FlashMarket/FlashHolder.d.ts.map +1 -1
  115. package/lib/typescript/lib/module/FlashMarket/api/index.d.ts +2 -0
  116. package/lib/typescript/lib/module/FlashMarket/api/index.d.ts.map +1 -1
  117. package/lib/typescript/lib/module/FlashMarket/components/FlashOptionCard.d.ts +13 -0
  118. package/lib/typescript/lib/module/FlashMarket/components/FlashOptionCard.d.ts.map +1 -0
  119. package/lib/typescript/lib/module/FlashMarket/components/ManageFlashMarket.d.ts +11 -0
  120. package/lib/typescript/lib/module/FlashMarket/components/ManageFlashMarket.d.ts.map +1 -0
  121. package/lib/typescript/lib/module/FlashMarket/index.d.ts +2 -1
  122. package/lib/typescript/lib/module/FlashMarket/index.d.ts.map +1 -1
  123. package/lib/typescript/lib/module/Group/api/index.d.ts.map +1 -1
  124. package/lib/typescript/lib/module/Group/index.d.ts +2 -1
  125. package/lib/typescript/lib/module/Group/index.d.ts.map +1 -1
  126. package/lib/typescript/lib/module/Poll/api/index.d.ts.map +1 -1
  127. package/lib/typescript/lib/module/constants/useColors.d.ts +1 -0
  128. package/lib/typescript/lib/module/constants/useColors.d.ts.map +1 -1
  129. package/lib/typescript/lib/module/index.d.ts +2 -1
  130. package/lib/typescript/lib/module/index.d.ts.map +1 -1
  131. package/lib/typescript/src/Components/BETimePicker.d.ts +11 -0
  132. package/lib/typescript/src/Components/BETimePicker.d.ts.map +1 -0
  133. package/lib/typescript/src/Components/Icons.d.ts +1 -0
  134. package/lib/typescript/src/Components/Icons.d.ts.map +1 -1
  135. package/lib/typescript/src/Components/ImageUploader.d.ts +2 -1
  136. package/lib/typescript/src/Components/ImageUploader.d.ts.map +1 -1
  137. package/lib/typescript/src/Components/Slider.d.ts +2 -1
  138. package/lib/typescript/src/Components/Slider.d.ts.map +1 -1
  139. package/lib/typescript/src/Components/Themed.d.ts.map +1 -1
  140. package/lib/typescript/src/CreateEngagement/api/index.d.ts +8 -2
  141. package/lib/typescript/src/CreateEngagement/api/index.d.ts.map +1 -1
  142. package/lib/typescript/src/CreateEngagement/index.d.ts.map +1 -1
  143. package/lib/typescript/src/FlashMarket/FlashHolder.d.ts +4 -2
  144. package/lib/typescript/src/FlashMarket/FlashHolder.d.ts.map +1 -1
  145. package/lib/typescript/src/FlashMarket/api/index.d.ts +2 -0
  146. package/lib/typescript/src/FlashMarket/api/index.d.ts.map +1 -1
  147. package/lib/typescript/src/FlashMarket/components/FlashOptionCard.d.ts +15 -0
  148. package/lib/typescript/src/FlashMarket/components/FlashOptionCard.d.ts.map +1 -0
  149. package/lib/typescript/src/FlashMarket/components/ManageFlashMarket.d.ts +15 -0
  150. package/lib/typescript/src/FlashMarket/components/ManageFlashMarket.d.ts.map +1 -0
  151. package/lib/typescript/src/FlashMarket/index.d.ts +2 -1
  152. package/lib/typescript/src/FlashMarket/index.d.ts.map +1 -1
  153. package/lib/typescript/src/Group/api/index.d.ts +5 -2
  154. package/lib/typescript/src/Group/api/index.d.ts.map +1 -1
  155. package/lib/typescript/src/Group/index.d.ts +3 -2
  156. package/lib/typescript/src/Group/index.d.ts.map +1 -1
  157. package/lib/typescript/src/Poll/api/index.d.ts.map +1 -1
  158. package/lib/typescript/src/constants/useColors.d.ts +1 -0
  159. package/lib/typescript/src/constants/useColors.d.ts.map +1 -1
  160. package/lib/typescript/src/index.d.ts +2 -1
  161. package/lib/typescript/src/index.d.ts.map +1 -1
  162. package/package.json +4 -2
  163. package/src/Components/BETimePicker.tsx +77 -0
  164. package/src/Components/Icons.tsx +17 -0
  165. package/src/Components/ImageUploader.tsx +3 -1
  166. package/src/Components/Slider.tsx +3 -1
  167. package/src/Components/Themed.tsx +6 -4
  168. package/src/CreateEngagement/api/index.ts +78 -2
  169. package/src/CreateEngagement/index.tsx +181 -7
  170. package/src/FlashMarket/FlashHolder.tsx +11 -2
  171. package/src/FlashMarket/api/index.ts +24 -1
  172. package/src/FlashMarket/components/FlashOptionCard.tsx +174 -0
  173. package/src/FlashMarket/components/ManageFlashMarket.tsx +769 -0
  174. package/src/FlashMarket/index.tsx +14 -8
  175. package/src/Group/api/index.ts +5 -5
  176. package/src/Group/index.tsx +84 -9
  177. package/src/Poll/api/index.ts +0 -2
  178. package/src/constants/useColors.tsx +2 -0
  179. package/src/index.tsx +2 -0
  180. package/src/types.d.ts +8 -1
@@ -0,0 +1,174 @@
1
+ import React from 'react';
2
+ import { useEffect, useState } from "react"
3
+ import type { PollOptionProps, PollProps, PollSummaryProps } from "../../types"
4
+ import { Button, Text, TextInput, View } from "../../Components/Themed"
5
+ import { PollOptionApi } from '../../Poll/api';
6
+ import { useColors } from '../../constants/useColors';
7
+ import { Checkbox, Icons } from '../../Components';
8
+ import Slider from '../../Components/Slider';
9
+ import { MarketComponentHelpers } from '../../MarketComponents/api';
10
+
11
+ type FlashOptionCardProps = {
12
+ poll:PollProps,
13
+ poll_option: PollOptionProps,
14
+ probability_locked?:boolean,
15
+ summary:PollSummaryProps,
16
+ onUpdateOption:(poll_option:PollOptionProps) => void,
17
+ onLockProbability:(locked:boolean) => void,
18
+ onChangeProbability: (probability:number) => void,
19
+ onSelectWinningOption: (checked:boolean, option:PollOptionProps) => void
20
+ }
21
+
22
+ const FlashOptionCard = ({ poll, poll_option, probability_locked, summary, onUpdateOption, onLockProbability, onChangeProbability, onSelectWinningOption }:FlashOptionCardProps) => {
23
+ const Colors = useColors();
24
+ const [ size, setSize ] = useState({ width: 0 });
25
+ const [ state, setState ] = useState<{
26
+ action_loading:boolean,
27
+ draft_option:PollOptionProps
28
+ }>({
29
+ action_loading: false,
30
+ draft_option: poll_option
31
+ });
32
+ const { action_loading, draft_option } = state;
33
+ const delete_allowed = poll.status == 'pending' ? true : false
34
+ const probability = (poll_option.initial_odds ?? 0) * 100
35
+ const probability_label = `${probability.toFixed(2)}%`
36
+ const odds_label = MarketComponentHelpers.getOddsLabel(MarketComponentHelpers.calcAmericanOddsFromProbability(probability / 100))
37
+ const label_left = probability < 15 ? probability + 40 : 0
38
+ const summary_width = summary.pct * size.width
39
+ useEffect(() => {
40
+ setState({ ...state, draft_option: poll_option });
41
+ },[JSON.stringify(poll_option)]);
42
+
43
+ const updateOption = async(po:PollOptionProps) => {
44
+ if(action_loading){ return }
45
+ setState({ ...state, action_loading: true });
46
+ const new_option = await PollOptionApi.updatePollOption(po);
47
+ if(!new_option){ alert('Unabel to update'); setState({ ...state, action_loading: false }); return }
48
+ setState({
49
+ ...state,
50
+ action_loading: false
51
+ });
52
+ onUpdateOption(new_option)
53
+ }
54
+
55
+ const handleManualTimeChange = async(val:number) => {
56
+ //updat manual time!!
57
+ onChangeProbability(val / 100);
58
+ }
59
+
60
+ const is_changed = JSON.stringify(poll_option) != JSON.stringify(draft_option) ? true : false
61
+ const is_winning_option = poll_option.result_ind == 'win' ? true : false
62
+ return (
63
+ <View style={{ padding:2 }}>
64
+ <View type='row'>
65
+ {['paused','active'].includes(poll.status) ?
66
+ <Checkbox
67
+ style={{ marginRight:10 }}
68
+ color={is_winning_option ? Colors.text.success : Colors.text.h1}
69
+ checked={is_winning_option}
70
+ onSelect={(checked) => onSelectWinningOption(checked, poll_option)}
71
+ />
72
+ :<></>}
73
+ <View transparent style={{flex:1}}>
74
+ <TextInput
75
+ value={draft_option.option_name}
76
+ editable={poll.status == 'pending' ? true : false}
77
+ onSubmitEditing={() => {
78
+ if(!is_changed){ return }
79
+ updateOption(draft_option)
80
+ }}
81
+ style={{ borderColor:draft_option.option_name ? Colors.text.success: Colors.text.warning }}
82
+ placeholder={`Option ${draft_option.priority}`}
83
+ onChangeText={(text) => setState({ ...state, draft_option: { ...draft_option, option_name: text } })}
84
+ />
85
+ {summary.pct > 0 ?
86
+ <View type='blur' style={{ position:'absolute', top:0, left:0, bottom:0, width: summary_width, backgroundColor:'rgba(125, 205, 133, 0.3)' }} />
87
+ :<></>}
88
+ </View>
89
+
90
+ {is_changed ?
91
+ <Button
92
+ title='SAVE'
93
+ style={{ padding:10, marginLeft:5, opacity: action_loading ? 0.5: 1 }}
94
+ disabled={action_loading}
95
+ type='success'
96
+ loading={action_loading}
97
+ onPress={() => updateOption(draft_option)}
98
+ />
99
+ : delete_allowed ?
100
+ <Button
101
+ title='X'
102
+ transparent
103
+ loading={action_loading}
104
+ title_color={Colors.text.error}
105
+ style={{ padding:10, marginLeft:5 }}
106
+ onPress={() => updateOption({ ...draft_option, status: 'inactive' })}
107
+ />
108
+ :<></>}
109
+ </View>
110
+ {poll.status == 'pending' ?
111
+ <View style={{ padding:10, flexDirection:'row', alignItems:'center' }}>
112
+ <Button
113
+ transparent
114
+ style={{ padding:0, height:35, width:35, borderRadius:100, justifyContent:'center', alignItems:'center' }}
115
+ onPress={() => onLockProbability(!poll_option.probability_locked)}
116
+ >
117
+ {poll_option.probability_locked ?
118
+ <Icons.LockClosedIcon size={20} color={Colors.text.h1} />
119
+ :
120
+ <Icons.LockOpenIcon size={24} color={Colors.text.success} />
121
+ }
122
+ </Button>
123
+ <Button
124
+ title='-'
125
+ title_color={Colors.text.error}
126
+ float
127
+ disabled={poll_option.probability_locked || probability <= 0.2 ? true : false}
128
+ style={{ padding:0, height:35, width:35, borderRadius:100, justifyContent:'center', alignItems:'center' }}
129
+ onPress={() => onChangeProbability((probability / 100) - 0.005)}
130
+ />
131
+ <View style={{ flex:1, marginLeft:5, marginRight:5 }} onLayout={(ev) => {
132
+ const { width } = ev.nativeEvent.layout;
133
+ setSize({ width })
134
+ }}>
135
+ <Slider
136
+ width={size.width}
137
+ value={probability}
138
+ minimum_value={0}
139
+ disabled={poll_option.probability_locked || probability_locked}
140
+ minimum_track_tint={Colors.text.success}
141
+ maximum_track_tint={Colors.text.h1}
142
+ thumb_tint_color={Colors.text.success}
143
+ maximum_value={100}
144
+ onSlidingStart={() => console.log('started')}
145
+ //onSlidingStart={() => handleStartSliding()}
146
+ onSlidingComplete={(val) => handleManualTimeChange(val)}
147
+ />
148
+ <Text theme='description' style={{ position:'absolute', left:label_left, bottom:-5 }}>{probability_label} ({odds_label})</Text>
149
+ </View>
150
+
151
+ <Button
152
+ title='+'
153
+ title_color={Colors.text.success}
154
+ float
155
+ disabled={poll_option.probability_locked || probability >= 99 ? true : false}
156
+ style={{ padding:0, height:35, width:35, borderRadius:100, justifyContent:'center', alignItems:'center' }}
157
+ onPress={() => onChangeProbability((probability / 100) + 0.005)}
158
+ />
159
+ </View>
160
+ :
161
+ <View style={{ flex:1, flexDirection:'row', alignItems:'center', marginTop:3}} onLayout={(ev) => {
162
+ const { width } = ev.nativeEvent.layout;
163
+ setSize({ width: width -100 })
164
+ }}>
165
+ <Text theme='description' textAlign='left'>{(summary.pct * 100).toFixed(2)}%</Text>
166
+ <View transparent style={{ flex:1 }} />
167
+ <Text theme='description' textAlign='right'>{summary.count} Responses</Text>
168
+ </View>
169
+ }
170
+ </View>
171
+ )
172
+ }
173
+
174
+ export default FlashOptionCard