esoftplay-event 0.0.0-a → 0.0.0-c

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 (179) hide show
  1. package/event/additional.tsx +4 -4
  2. package/event/additional_input.tsx +15 -15
  3. package/event/alert.tsx +32 -0
  4. package/event/artist.tsx +166 -0
  5. package/event/artist_detail.tsx +521 -0
  6. package/event/artist_detail_multi.tsx +548 -0
  7. package/event/badge.tsx +22 -0
  8. package/event/button.tsx +40 -0
  9. package/event/config.ts +4 -0
  10. package/event/countdown.tsx +5 -5
  11. package/event/countdown_base.tsx +83 -0
  12. package/event/counter_cashier.tsx +13 -13
  13. package/event/counter_cashier_report.tsx +6 -6
  14. package/event/counter_cashier_sell.tsx +7 -7
  15. package/event/counter_eo.tsx +21 -21
  16. package/event/counter_history.tsx +4 -4
  17. package/event/counter_lm.tsx +18 -18
  18. package/event/counter_report.tsx +4 -4
  19. package/event/counter_report_breakdown.tsx +2 -2
  20. package/event/counter_report_detail.tsx +15 -15
  21. package/event/counter_report_detail_list.tsx +4 -4
  22. package/event/counter_request.tsx +4 -4
  23. package/event/counter_request_detail.tsx +6 -6
  24. package/event/counter_send.tsx +9 -9
  25. package/event/counter_user_list.tsx +15 -15
  26. package/event/coupon.tsx +4 -4
  27. package/event/coupon_claim.tsx +4 -4
  28. package/event/coupon_claim_detail.tsx +8 -7
  29. package/event/coupon_claim_history.tsx +9 -9
  30. package/event/coupon_claim_reimburse.tsx +7 -8
  31. package/event/coupon_claim_reimburse_history.tsx +4 -4
  32. package/event/coupon_claim_reimburse_history_detail.tsx +4 -4
  33. package/event/coupon_claim_staff.tsx +10 -10
  34. package/event/coupon_detail.tsx +3 -3
  35. package/event/coupon_event_list.tsx +4 -4
  36. package/event/coupon_generate.tsx +4 -4
  37. package/event/coupon_generate_event.tsx +4 -4
  38. package/event/coupon_generate_list.tsx +2 -2
  39. package/event/date_picker.tsx +5 -5
  40. package/event/detail.tsx +12 -15
  41. package/event/entrance.tsx +17 -17
  42. package/event/entrance_again.tsx +22 -23
  43. package/event/entrance_failed.tsx +15 -15
  44. package/event/entrance_idcard.tsx +23 -23
  45. package/event/entrance_list.tsx +24 -24
  46. package/event/entrance_list_item.tsx +6 -6
  47. package/event/entrance_log.tsx +24 -24
  48. package/event/entrance_success.tsx +8 -8
  49. package/event/entrance_warning.tsx +14 -14
  50. package/event/exchange_reward.tsx +2 -2
  51. package/event/exchange_reward_result.tsx +7 -8
  52. package/event/exchange_ticket.tsx +11 -12
  53. package/event/exchange_ticket_list.tsx +10 -12
  54. package/event/exchange_ticket_result.tsx +11 -12
  55. package/event/exit.tsx +9 -9
  56. package/event/exit_failed.tsx +12 -12
  57. package/event/exit_list.tsx +15 -15
  58. package/event/exit_log.tsx +22 -22
  59. package/event/exit_success.tsx +8 -8
  60. package/event/exit_temporary.tsx +21 -21
  61. package/event/expander.tsx +36 -0
  62. package/event/fab.tsx +24 -0
  63. package/event/firebase_socket.ts +365 -0
  64. package/event/hall_in.tsx +13 -13
  65. package/event/hall_in_failed.tsx +22 -22
  66. package/event/hall_in_list.tsx +17 -17
  67. package/event/hall_in_log.tsx +24 -24
  68. package/event/hall_in_success.tsx +8 -8
  69. package/event/hall_out.tsx +13 -13
  70. package/event/hall_out_failed.tsx +11 -11
  71. package/event/hall_out_list.tsx +17 -17
  72. package/event/hall_out_log.tsx +24 -24
  73. package/event/hall_out_success.tsx +8 -8
  74. package/event/header.tsx +119 -0
  75. package/event/header_home.tsx +108 -0
  76. package/event/index.tsx +270 -0
  77. package/event/input_rectangle.tsx +208 -0
  78. package/event/item.tsx +40 -0
  79. package/event/label_input.tsx +23 -0
  80. package/event/list.tsx +20 -21
  81. package/event/list_filter.tsx +12 -13
  82. package/event/list_item.tsx +76 -0
  83. package/event/list_item2.tsx +78 -0
  84. package/event/loading_page.tsx +248 -0
  85. package/event/log.tsx +54 -54
  86. package/event/message.tsx +32 -0
  87. package/event/notice.tsx +41 -0
  88. package/event/order.tsx +323 -0
  89. package/event/order_detail.tsx +813 -0
  90. package/event/order_detail_payment.tsx +153 -0
  91. package/event/order_detail_upgrade.tsx +164 -0
  92. package/event/order_detail_upgrade_button.tsx +60 -0
  93. package/event/order_detail_upgrade_payment.tsx +221 -0
  94. package/event/order_detail_visitor.tsx +196 -0
  95. package/event/order_detail_waiting.tsx +520 -0
  96. package/event/order_history.tsx +101 -0
  97. package/event/order_item.tsx +118 -0
  98. package/event/order_lottery.tsx +172 -0
  99. package/event/order_reschedule.tsx +439 -0
  100. package/event/order_reschedule_list.tsx +85 -0
  101. package/event/order_share_to.tsx +219 -0
  102. package/event/order_share_to_detail.tsx +181 -0
  103. package/event/order_status.tsx +66 -0
  104. package/event/order_waiting.tsx +143 -0
  105. package/event/pending_trx.tsx +50 -0
  106. package/event/qc_idcard.tsx +12 -12
  107. package/event/qc_idcard_failed.tsx +4 -4
  108. package/event/qc_idcard_success.tsx +4 -4
  109. package/event/qr_bg.tsx +22 -0
  110. package/event/queue_out.tsx +3 -3
  111. package/event/queue_pricing.tsx +2 -3
  112. package/event/rating.tsx +49 -0
  113. package/event/rating_mini.tsx +35 -0
  114. package/event/refresh_button.tsx +40 -0
  115. package/event/review.tsx +3 -3
  116. package/event/review_add.tsx +8 -8
  117. package/event/review_detail.tsx +4 -4
  118. package/event/review_item.tsx +4 -4
  119. package/event/scan_item.tsx +2 -2
  120. package/event/schedule.tsx +8 -9
  121. package/event/seat.tsx +16 -18
  122. package/event/seat_autopick.tsx +4 -4
  123. package/event/seat_map.tsx +4 -4
  124. package/event/seat_map_test.tsx +2 -2
  125. package/event/section.tsx +35 -0
  126. package/event/section_menu.tsx +40 -0
  127. package/event/sheet.tsx +73 -0
  128. package/event/slider.tsx +46 -0
  129. package/event/step.tsx +29 -0
  130. package/event/ticket_list.tsx +15 -16
  131. package/event/ticket_list2.tsx +16 -17
  132. package/event/tms.tsx +4 -4
  133. package/event/tms_add.tsx +7 -8
  134. package/event/tms_add_result.tsx +4 -4
  135. package/event/tms_check_code.tsx +160 -0
  136. package/event/tms_check_ticket.tsx +72 -0
  137. package/event/tms_check_ticket_result.tsx +384 -0
  138. package/event/tms_dashboard.tsx +7 -7
  139. package/event/tms_event_list.tsx +46 -43
  140. package/event/tms_gate.tsx +96 -0
  141. package/event/tms_home.tsx +639 -0
  142. package/event/tms_idcard.tsx +203 -0
  143. package/event/tms_in.tsx +215 -0
  144. package/event/tms_in_again.tsx +199 -0
  145. package/event/tms_in_failed.tsx +190 -0
  146. package/event/tms_in_hall.tsx +148 -0
  147. package/event/tms_in_hall_failed.tsx +270 -0
  148. package/event/tms_in_hall_list.tsx +222 -0
  149. package/event/tms_in_hall_log.tsx +134 -0
  150. package/event/tms_in_hall_success.tsx +132 -0
  151. package/event/tms_in_list.tsx +264 -0
  152. package/event/tms_in_log.tsx +130 -0
  153. package/event/tms_in_success.tsx +155 -0
  154. package/event/tms_in_warning.tsx +91 -0
  155. package/event/tms_list_item.tsx +88 -0
  156. package/event/tms_log.tsx +435 -0
  157. package/event/tms_out.tsx +91 -0
  158. package/event/tms_out_failed.tsx +135 -0
  159. package/event/tms_out_hall.tsx +143 -0
  160. package/event/tms_out_hall_failed.tsx +133 -0
  161. package/event/tms_out_hall_list.tsx +215 -0
  162. package/event/tms_out_hall_log.tsx +133 -0
  163. package/event/tms_out_hall_success.tsx +130 -0
  164. package/event/tms_out_list.tsx +118 -0
  165. package/event/tms_out_log.tsx +131 -0
  166. package/event/tms_out_success.tsx +143 -0
  167. package/event/tms_out_temporary.tsx +226 -0
  168. package/event/toggle.tsx +30 -0
  169. package/event/transaction.ts +34 -0
  170. package/event/turnstile_event_gate.tsx +2 -2
  171. package/event/turnstile_event_list.tsx +4 -4
  172. package/event/turnstile_event_ticket.tsx +4 -4
  173. package/event/turnstile_settings.tsx +11 -11
  174. package/event/turnstile_settings_otp.tsx +4 -4
  175. package/event/turnstile_settings_status.tsx +2 -2
  176. package/event/voucher.tsx +9 -10
  177. package/event/voucher_multi.tsx +4 -5
  178. package/id.json +644 -0
  179. package/package.json +1 -1
@@ -1,16 +1,16 @@
1
1
  // withHooks
2
2
  import { useEffect, useRef } from 'react';
3
3
 
4
- import { ComponentButton } from 'esoftplay/cache/component/button/import';
5
- import { ComponentHeader } from 'esoftplay/cache/component/header/import';
6
- import { ComponentMessage } from 'esoftplay/cache/component/message/import';
7
- import { ComponentSlidingup } from 'esoftplay/cache/component/slidingup/import';
4
+ import { EventButton } from 'esoftplay/cache/event/button/import';
5
+ import { EventHeader } from 'esoftplay/cache/event/header/import';
6
+ import { EventInput_rectangle } from 'esoftplay/cache/event/input_rectangle/import';
7
+ import { EventMessage } from 'esoftplay/cache/event/message/import';
8
8
  import { LibCurl } from 'esoftplay/cache/lib/curl/import';
9
9
  import { LibIcon } from 'esoftplay/cache/lib/icon/import';
10
- import { LibInput_rectangle2 } from 'esoftplay/cache/lib/input_rectangle2/import';
11
10
  import { LibLoading } from 'esoftplay/cache/lib/loading/import';
12
11
  import { LibNavigation } from 'esoftplay/cache/lib/navigation/import';
13
12
  import { LibProgress } from 'esoftplay/cache/lib/progress/import';
13
+ import { LibSlidingup } from 'esoftplay/cache/lib/slidingup/import';
14
14
  import { LibStyle } from 'esoftplay/cache/lib/style/import';
15
15
  import { LibTextstyle } from 'esoftplay/cache/lib/textstyle/import';
16
16
  import { LibUtils } from 'esoftplay/cache/lib/utils/import';
@@ -62,7 +62,7 @@ export default function m(props: EventQc_idcardProps): any {
62
62
  const [showReset, setShowReset] = useSafeState<boolean>(false)
63
63
  const [counter, setCounter] = useSafeState(1)
64
64
  const [refreshing, setRefreshing] = useSafeState<boolean>(false);
65
- const dialogDetailExhibitor = useRef<ComponentSlidingup>(null)
65
+ const dialogDetailExhibitor = useRef<LibSlidingup>(null)
66
66
 
67
67
  const [selectedExhibitor, setSelectedExhibitor] = useSafeState<any>()
68
68
 
@@ -122,11 +122,11 @@ export default function m(props: EventQc_idcardProps): any {
122
122
 
123
123
  return (
124
124
  <View style={{ flex: 1, backgroundColor: LibStyle.colorBgGrey }}>
125
- <ComponentHeader title='QC ID CARD' subtitle={data?.name} />
125
+ <EventHeader title='QC ID CARD' subtitle={data?.name} />
126
126
  {/* <Image source={{ uri: 'https://static.vecteezy.com/system/resources/previews/005/594/108/non_2x/mobile-application-for-scanning-qr-code-hand-holding-smartphone-scan-qr-code-icon-phone-app-barcode-scanner-vector.jpg' }} style={{ flex: 1, opacity: 0.3, resizeMode: 'cover' }} /> */}
127
127
  <View style={{ backgroundColor: '#fff', padding: 16, paddingBottom: 10, }} >
128
128
  <View style={{ flexDirection: 'row' }}>
129
- <LibInput_rectangle2
129
+ <EventInput_rectangle
130
130
  style={{ marginTop: 0, borderRadius: 5, flex: 1, height: 38 }}
131
131
  placeholder={esp.lang("event/qc_idcard", "search_exhibitor")}
132
132
  onChangeText={(e) => {
@@ -173,17 +173,17 @@ export default function m(props: EventQc_idcardProps): any {
173
173
  }
174
174
  {
175
175
  error &&
176
- <ComponentMessage message={error?.message} style={{ marginTop: 30 }} />
176
+ <EventMessage message={error?.message} style={{ marginTop: 30 }} />
177
177
  }
178
178
  </ScrollView>
179
179
 
180
180
  <View style={{ padding: 10, backgroundColor: '#fff' }}>
181
- <ComponentButton label={esp.lang("event/qc_idcard", "scan")} onPress={() => {
181
+ <EventButton label={esp.lang("event/qc_idcard", "scan")} onPress={() => {
182
182
  openScanner(data?.id)
183
183
  }}
184
184
  backgroundColor={LibStyle.colorGreen} />
185
185
  </View>
186
- <ComponentSlidingup ref={dialogDetailExhibitor}>
186
+ <LibSlidingup ref={dialogDetailExhibitor}>
187
187
  <View style={{ backgroundColor: '#f6f6f6', borderTopRightRadius: 20, borderTopLeftRadius: 20, paddingBottom: 35, paddingTop: 20, paddingHorizontal: 19, maxHeight: LibStyle.height - (LibStyle.height / 3) }}>
188
188
  <ScrollView>
189
189
  <View style={{ padding: 10, borderBottomWidth: 1, borderBottomColor: LibStyle.colorGrey, flexDirection: 'row', justifyContent: 'space-between' }}>
@@ -202,7 +202,7 @@ export default function m(props: EventQc_idcardProps): any {
202
202
  }
203
203
  </ScrollView>
204
204
  </View>
205
- </ComponentSlidingup>
205
+ </LibSlidingup>
206
206
 
207
207
  </View>
208
208
  )
@@ -56,18 +56,18 @@ export default function m(props: EventQc_idcard_failedProps): any {
56
56
  <View style={{ marginBottom: 20 }}>
57
57
  {/* <Pressable onPress={() => {
58
58
 
59
- LibDialog.warningConfirm(esp.lang("event/entrance_failed", "warn_title"), esp.lang("event/entrance_failed", "warn_msg"), esp.lang("event/entrance_failed", "warn_ok"), () => {
59
+ LibDialog.warningConfirm(esp.lang("event/tms_in_failed", "warn_title"), esp.lang("event/tms_in_failed", "warn_msg"), esp.lang("event/tms_in_failed", "warn_ok"), () => {
60
60
  // sendTelegram()
61
- }, esp.lang("event/entrance_failed", "warn_no"), () => { })
61
+ }, esp.lang("event/tms_in_failed", "warn_no"), () => { })
62
62
 
63
63
  }} style={{ width: (LibStyle.width - 45) * 0.5, height: 43, borderRadius: 5, backgroundColor: LibStyle.colorRed, borderWidth: 3, borderColor: "#fff", justifyContent: 'center', alignContent: 'center', alignItems: 'center', ...LibStyle.elevation(10) }}>
64
- <Text allowFontScaling={false} style={{ textAlign: 'center', fontSize: 14, fontWeight: 'bold', color: "#fff" }}>{esp.lang("event/entrance_failed", "report")}</Text>
64
+ <Text allowFontScaling={false} style={{ textAlign: 'center', fontSize: 14, fontWeight: 'bold', color: "#fff" }}>{esp.lang("event/tms_in_failed", "report")}</Text>
65
65
  </Pressable> */}
66
66
  <Pressable onPress={() => {
67
67
  LibNavigation.back()
68
68
  EventQc_idcardProperty.openScanner(event_id)
69
69
  }} style={{ width: (LibStyle.width - 30), height: 43, borderRadius: 5, backgroundColor: LibStyle.colorGreen, justifyContent: 'center', alignContent: 'center', alignItems: 'center', ...LibStyle.elevation(10) }}>
70
- <Text allowFontScaling={false} style={{ fontSize: 14, fontWeight: 'bold', color: "#fff" }}>{esp.lang("event/entrance_failed", "back")}</Text>
70
+ <Text allowFontScaling={false} style={{ fontSize: 14, fontWeight: 'bold', color: "#fff" }}>{esp.lang("event/tms_in_failed", "back")}</Text>
71
71
  </Pressable>
72
72
  </View>
73
73
 
@@ -1,6 +1,6 @@
1
1
  // withHooks
2
2
 
3
- import { ComponentButton } from 'esoftplay/cache/component/button/import';
3
+ import { EventButton } from 'esoftplay/cache/event/button/import';
4
4
  import { EventQc_idcardProperty } from 'esoftplay/cache/event/qc_idcard/import';
5
5
  import { LibNavigation } from 'esoftplay/cache/lib/navigation/import';
6
6
  import { LibPicture } from 'esoftplay/cache/lib/picture/import';
@@ -40,13 +40,13 @@ export default function m(props: EventQc_idcard_successProps): any {
40
40
  <View style={{ backgroundColor: '#fff', padding: 10, marginTop: 5 }} >
41
41
  {/* view nama */}
42
42
  <View style={{ flexDirection: 'row' }} >
43
- <Text allowFontScaling={false} style={{ fontSize: 18, fontWeight: "bold", fontStyle: "normal", lineHeight: 22, letterSpacing: 0, color: "#4a4a4a", flex: 2 }} >{esp.lang("event/entrance_idcard", "name")}</Text>
43
+ <Text allowFontScaling={false} style={{ fontSize: 18, fontWeight: "bold", fontStyle: "normal", lineHeight: 22, letterSpacing: 0, color: "#4a4a4a", flex: 2 }} >{esp.lang("event/tms_idcard", "name")}</Text>
44
44
  <Text allowFontScaling={false} style={{ fontSize: 18, fontWeight: "bold", fontStyle: "normal", lineHeight: 22, letterSpacing: 0, color: "#4a4a4a" }} > : </Text>
45
45
  <Text allowFontScaling={false} numberOfLines={2} ellipsizeMode={"tail"} style={{ fontSize: 18, fontWeight: "bold", fontStyle: "normal", lineHeight: 22, letterSpacing: 0, color: "#4a4a4a", flex: 5 }} >{data?.name}</Text>
46
46
  </View>
47
47
  {/* view company */}
48
48
  <View style={{ flexDirection: 'row' }} >
49
- <Text allowFontScaling={false} style={{ fontSize: 18, fontWeight: "bold", fontStyle: "normal", lineHeight: 22, letterSpacing: 0, color: "#4a4a4a", flex: 2 }} >{esp.lang("event/entrance_idcard", "company")}</Text>
49
+ <Text allowFontScaling={false} style={{ fontSize: 18, fontWeight: "bold", fontStyle: "normal", lineHeight: 22, letterSpacing: 0, color: "#4a4a4a", flex: 2 }} >{esp.lang("event/tms_idcard", "company")}</Text>
50
50
  <Text allowFontScaling={false} style={{ fontSize: 18, fontWeight: "bold", fontStyle: "normal", lineHeight: 22, letterSpacing: 0, color: "#4a4a4a" }} > : </Text>
51
51
  <Text allowFontScaling={false} numberOfLines={2} ellipsizeMode={"tail"} style={{ fontSize: 18, fontWeight: "bold", fontStyle: "normal", lineHeight: 22, letterSpacing: 0, color: "#4a4a4a", flex: 5 }} >{data?.exhibitor_name}</Text>
52
52
  </View>
@@ -55,7 +55,7 @@ export default function m(props: EventQc_idcard_successProps): any {
55
55
  <Text allowFontScaling={false} style={{ marginTop: -5, fontSize: 22, fontWeight: "bold", fontStyle: "normal", lineHeight: 32, textAlign: 'center', letterSpacing: 0, color: "#4a4a4a" }} >{data?.department_name}</Text>
56
56
  </View>
57
57
  </View>
58
- <ComponentButton label={esp.lang("event/qc_idcard_success", "scan_again")} onPress={() => {
58
+ <EventButton label={esp.lang("event/qc_idcard_success", "scan_again")} onPress={() => {
59
59
  LibNavigation.back()
60
60
  EventQc_idcardProperty.openScanner(event_id)
61
61
  }}
@@ -0,0 +1,22 @@
1
+ // withHooks
2
+
3
+ import esp from 'esoftplay/esp';
4
+ import React from 'react';
5
+ import { ImageBackground, View } from 'react-native';
6
+
7
+
8
+ export interface EventQr_bgArgs {
9
+
10
+ }
11
+ export interface EventQr_bgProps {
12
+ children: any
13
+ }
14
+ export default function m(props: EventQr_bgProps): any {
15
+ return (
16
+ <View>
17
+ <ImageBackground source={esp.assets('bg_qr.png')} style={{ padding: 2 }} >
18
+ {props.children}
19
+ </ImageBackground>
20
+ </View>
21
+ )
22
+ }
@@ -1,4 +1,5 @@
1
1
  // withHooks
2
+ import { EventHeader } from 'esoftplay/cache/event/header/import';
2
3
  import { LibCurl } from 'esoftplay/cache/lib/curl/import';
3
4
  import { LibIcon } from 'esoftplay/cache/lib/icon/import';
4
5
  import { LibObject } from 'esoftplay/cache/lib/object/import';
@@ -23,7 +24,6 @@ export interface EventQueue_outProps {
23
24
 
24
25
  export default function m(props: EventQueue_outProps): any {
25
26
  const LibNavigation = useRef(esp.mod("lib/navigation")).current
26
- const ComponentHeader = useRef(esp.mod("component/header")).current
27
27
  const LibTextstyle = useRef(esp.mod("lib/textstyle")).current
28
28
  const UseMap = useRef(esp.mod("use/map")).current
29
29
 
@@ -53,7 +53,7 @@ export default function m(props: EventQueue_outProps): any {
53
53
 
54
54
  return (
55
55
  <View style={{ flex: 1, backgroundColor: '#f1f2f2' }} >
56
- <ComponentHeader title={esp.lang("event/queue_out", "title")} notif />
56
+ <EventHeader title={esp.lang("event/queue_out", "title")} notif />
57
57
  <ScrollView>
58
58
  <View style={{ padding: 0 }} >
59
59
  <View style={[{ margin: 0, marginBottom: 0, backgroundColor: 'white', padding: 12, borderRadius: 0 }, LibStyle.elevation(3)]} >
@@ -177,7 +177,7 @@ export default function m(props: EventQueue_outProps): any {
177
177
  />
178
178
  </ScrollView>
179
179
  {/* <View style={{ padding: 18 }} >
180
- <ComponentButton label='Kirim' onPress={() => { }} />
180
+ <EventButton label='Kirim' onPress={() => { }} />
181
181
  </View> */}
182
182
  </View>
183
183
  </LibSlidingup>
@@ -1,7 +1,7 @@
1
1
  // withHooks
2
2
 
3
+ import { EventFirebase_socketProperty } from 'esoftplay/cache/event/firebase_socket/import';
3
4
  import { LibCurl } from 'esoftplay/cache/lib/curl/import';
4
- import { LibFirebase_socketProperty } from 'esoftplay/cache/lib/firebase_socket/import';
5
5
  import { LibNavigation } from 'esoftplay/cache/lib/navigation/import';
6
6
  import { LibStyle } from 'esoftplay/cache/lib/style/import';
7
7
  import { LibUtils } from 'esoftplay/cache/lib/utils/import';
@@ -52,7 +52,6 @@ export default function m(props: EventQueueProps): any {
52
52
  const animation = useRef<LottieView>(null)
53
53
  let refTimeout = useRef<any>()
54
54
  const pathQueue = EVENT_PRICING_QUEUE
55
- // const limit = LibFirebase_socketProperty.eventQueueConfig.useSelector(x => x.limit)
56
55
 
57
56
  const timeout = useTimeout()
58
57
  useKeepAwake()
@@ -92,7 +91,7 @@ export default function m(props: EventQueueProps): any {
92
91
 
93
92
  function getCurrentQueue(timeout?: number) {
94
93
  debounce(() => {
95
- const limit = LibFirebase_socketProperty.eventQueueConfig.get(event_id).limit
94
+ const limit = EventFirebase_socketProperty.eventQueueConfig.get(event_id).limit
96
95
  console.log(limit, event_id)
97
96
  getQueue(pathQueue, event_id, 60000, (idx, key) => {
98
97
  counter.current++
@@ -0,0 +1,49 @@
1
+ // withHooks
2
+
3
+ import { LibIcon } from 'esoftplay/cache/lib/icon/import';
4
+ import { LibStyle } from 'esoftplay/cache/lib/style/import';
5
+ import { LibTheme } from 'esoftplay/cache/lib/theme/import';
6
+ import useSafeState from 'esoftplay/state';
7
+ import React from 'react';
8
+ import { TouchableOpacity, View } from 'react-native';
9
+
10
+
11
+ export interface EventRatingArgs {
12
+
13
+ }
14
+ export interface EventRatingProps {
15
+ onChangeRating: (rate: number) => void,
16
+ disabled?: boolean,
17
+ defaultValue?: number,
18
+ size?: number,
19
+ containerStyle?: any
20
+ }
21
+ export default function m(props: EventRatingProps): any {
22
+ const { disabled, defaultValue, size, containerStyle } = props
23
+ const [rate, setRate] = useSafeState<any>(defaultValue ? defaultValue - 1 : '')
24
+
25
+ let rating = []
26
+ for (let i = 0; i < 5; i++) {
27
+ rating.push(i <= rate ?
28
+ <TouchableOpacity activeOpacity={1} disabled={disabled} key={i.toString()} onPress={() => {
29
+ setRate(i)
30
+ props.onChangeRating(i + 1)
31
+ }} >
32
+ <LibIcon size={size ? size : 30} name='star' color={LibStyle.colorPrimary} />
33
+ </TouchableOpacity>
34
+ :
35
+ <TouchableOpacity activeOpacity={1} disabled={disabled} key={i.toString()} onPress={() => {
36
+ setRate(i)
37
+ props.onChangeRating(i + 1)
38
+ }} >
39
+ <LibIcon size={size ? size : 30} name='star-outline' color={LibStyle.colorPrimary} />
40
+ </TouchableOpacity>
41
+ )
42
+ }
43
+
44
+ return (
45
+ <View style={{ flexDirection: 'row', justifyContent: 'center', alignContent: 'center', alignItems: 'center', padding: 10, borderRadius: 2, backgroundColor: LibTheme._colorBackgroundCardPrimary(), ...containerStyle }} >
46
+ {rating}
47
+ </View>
48
+ )
49
+ }
@@ -0,0 +1,35 @@
1
+ // withHooks
2
+
3
+ import { LibIcon } from 'esoftplay/cache/lib/icon/import';
4
+ import useSafeState from 'esoftplay/state';
5
+ import React, { useCallback, useMemo } from 'react';
6
+ import { View } from 'react-native';
7
+
8
+
9
+ export interface EventRating_miniArgs {
10
+
11
+ }
12
+ export interface EventRating_miniProps {
13
+ rating: string,
14
+ containerStyle?: any,
15
+ starSize?: number,
16
+ starStyle?: any
17
+ }
18
+ export default function m(props: EventRating_miniProps): any {
19
+ const [value, setValue] = useSafeState<any>([])
20
+ const renderStar = useCallback((name: any, i: number) => <LibIcon key={i} name={name} size={props.starSize || 12} style={{ ...props.starStyle }} color="gold" />, [])
21
+ useMemo(() => {
22
+ const ratingCount = props.rating?.split(',').map((item) => parseInt(item)).reduce((acc, curr) => acc + curr)
23
+ const ratingValue = props.rating?.split(',').map((item) => parseInt(item)).reduce((acc, curr, index) => acc + (curr * (index + 1)))
24
+ const value = (ratingValue / ratingCount).toFixed(1)
25
+ const all = [1, 2, 3, 4, 5].map((x) => x <= Number(value) ? "star" : x - 0.9 <= Number(value) ? "star-half" : "star-outline")
26
+ setValue(all)
27
+ }, [props.rating])
28
+
29
+ return (
30
+ <View style={{ flexDirection: "row", ...props.containerStyle }} >
31
+ {value.map(renderStar)}
32
+ </View>
33
+ )
34
+
35
+ }
@@ -0,0 +1,40 @@
1
+ // withHooks
2
+
3
+ import { LibIcon } from 'esoftplay/cache/lib/icon/import';
4
+ import useSafeState from 'esoftplay/state';
5
+ import React from 'react';
6
+ import { Animated, TouchableOpacity } from 'react-native';
7
+
8
+
9
+ export interface EventRefresh_buttonArgs {
10
+
11
+ }
12
+ export interface EventRefresh_buttonProps {
13
+ onPress: () => void,
14
+ size?: number
15
+ }
16
+ export default function m(props: EventRefresh_buttonProps): any {
17
+ const [anim, setAnim] = useSafeState(new Animated.Value(0))
18
+ const size = props.size || 18
19
+
20
+
21
+ function rotate() {
22
+ Animated.timing(anim, {
23
+ toValue: 1, duration: 500, useNativeDriver: true
24
+ }).start(() => { setAnim(new Animated.Value(0)) })
25
+ }
26
+
27
+ const rotateAnim = anim.interpolate({
28
+ inputRange: [0, 1],
29
+ outputRange: ['0deg', '360deg'],
30
+ extrapolate: 'clamp'
31
+ })
32
+
33
+ return (
34
+ <TouchableOpacity onPress={() => { rotate(); props.onPress(); }} style={{ height: 30, width: 30, alignItems: 'center', justifyContent: 'center' }} >
35
+ <Animated.View style={{ height: size + 8, width: size + 8, transform: [{ rotate: rotateAnim }], alignItems: 'center', justifyContent: 'center' }} >
36
+ <LibIcon name="refresh" size={size} color="#999" />
37
+ </Animated.View>
38
+ </TouchableOpacity>
39
+ )
40
+ }
package/event/review.tsx CHANGED
@@ -1,7 +1,7 @@
1
1
  // withHooks
2
2
 
3
3
 
4
- import { ComponentHeader } from 'esoftplay/cache/component/header/import';
4
+ import { EventHeader } from 'esoftplay/cache/event/header/import';
5
5
  import { EventReview_addProperty } from 'esoftplay/cache/event/review_add/import';
6
6
  import { EventReview_item } from 'esoftplay/cache/event/review_item/import';
7
7
  import { LibCurl } from 'esoftplay/cache/lib/curl/import';
@@ -86,7 +86,7 @@ export default function m(props: EventReviewProps): any {
86
86
 
87
87
  return (
88
88
  <View style={{ flex: 1, backgroundColor: LibStyle.colorBgGrey }}>
89
- <ComponentHeader notif title={esp.lang("event/review", "header_title")} />
89
+ <EventHeader notif title={esp.lang("event/review", "header_title")} />
90
90
 
91
91
  <LibList
92
92
  data={data?.list}
@@ -106,7 +106,7 @@ export default function m(props: EventReviewProps): any {
106
106
  {...item}
107
107
  review={newRev}
108
108
  onPress={() => {
109
- LibNavigation.navigate(newRev == null ? 'event/review_add' : 'ticket/detail', args)
109
+ LibNavigation.navigate(newRev == null ? 'event/review_add' : 'event/order_detail', args)
110
110
  }}
111
111
  />
112
112
  )
@@ -1,8 +1,8 @@
1
1
  // withHooks
2
2
 
3
- import { ComponentButton } from 'esoftplay/cache/component/button/import';
4
- import { ComponentHeader } from 'esoftplay/cache/component/header/import';
5
- import { ComponentRating } from 'esoftplay/cache/component/rating/import';
3
+ import { EventButton } from 'esoftplay/cache/event/button/import';
4
+ import { EventHeader } from 'esoftplay/cache/event/header/import';
5
+ import { EventRating } from 'esoftplay/cache/event/rating/import';
6
6
  import { LibCurl } from 'esoftplay/cache/lib/curl/import';
7
7
  import { LibDialog } from 'esoftplay/cache/lib/dialog/import';
8
8
  import { LibInput } from 'esoftplay/cache/lib/input/import';
@@ -12,7 +12,7 @@ import { LibNet_status } from 'esoftplay/cache/lib/net_status/import';
12
12
  import { LibObject } from 'esoftplay/cache/lib/object/import';
13
13
  import { LibTextstyle } from 'esoftplay/cache/lib/textstyle/import';
14
14
  import { LibToastProperty } from 'esoftplay/cache/lib/toast/import';
15
- import { TicketDetailProperty } from 'esoftplay/cache/ticket/detail/import';
15
+ import { EventOrder_detailProperty } from 'esoftplay/cache/event/order_detail/import';
16
16
  import esp from 'esoftplay/esp';
17
17
  import useGlobalState, { useGlobalReturn } from 'esoftplay/global';
18
18
  import useLazyState from 'esoftplay/lazy';
@@ -224,7 +224,7 @@ export default function m(props: EventReview_addProps): any {
224
224
 
225
225
  let checkSame = listReviewsLocal?.filter((z: any) => z?.booking_id == booking_id)
226
226
  if (checkSame == undefined || checkSame?.length == 0) {
227
- TicketDetailProperty.subscribe().trigger(x)
227
+ EventOrder_detailProperty.subscribe().trigger(x)
228
228
  stateReviews.set(LibObject.push(listReviewsLocal, x)())
229
229
  // syncAll()
230
230
  if (status?.isOnline == true && status?.isInternetReachable == true) {
@@ -307,11 +307,11 @@ export default function m(props: EventReview_addProps): any {
307
307
 
308
308
  return (
309
309
  <LibKeyboard_avoid style={{ flex: 1 }} >
310
- <ComponentHeader title={esp.lang("event/review_add", "header_title")} notif />
310
+ <EventHeader title={esp.lang("event/review_add", "header_title")} notif />
311
311
  <ScrollView style={{ margin: 16 }} >
312
312
  <LibTextstyle text={result ? result?.title : title_text} textStyle='m_h6' style={{ marginBottom: 20, textAlign: 'center' }} />
313
313
  {/* <LibTextstyle textStyle='m_overline' text='Rating' style={{ marginTop: 24, borderRadius: 1, marginBottom: 5 }} /> */}
314
- <ComponentRating defaultValue={rating} onChangeRating={(rate) => { setRating(rate) }} />
314
+ <EventRating defaultValue={rating} onChangeRating={(rate) => { setRating(rate) }} />
315
315
  {
316
316
  result?.surveys?.length > 0 &&
317
317
  <>
@@ -330,7 +330,7 @@ export default function m(props: EventReview_addProps): any {
330
330
  onChangeText={(t) => { inputReview = t }}
331
331
  />
332
332
  </ScrollView>
333
- <ComponentButton label={esp.lang("event/review_add", "send_review")} onPress={() => {
333
+ <EventButton label={esp.lang("event/review_add", "send_review")} onPress={() => {
334
334
  LibDialog.confirm(esp.lang("event/review_add", "review_title"), esp.lang("event/review_add", "review_ok"), esp.lang("event/review_add", "review_send"), () => {
335
335
  sendReview()
336
336
  }, esp.lang("event/review_add", "review_cancel"), () => {
@@ -1,8 +1,8 @@
1
1
  // withHooks
2
2
 
3
3
 
4
- import { ComponentHeader } from 'esoftplay/cache/component/header/import';
5
- import { ComponentRating } from 'esoftplay/cache/component/rating/import';
4
+ import { EventHeader } from 'esoftplay/cache/event/header/import';
5
+ import { EventRating } from 'esoftplay/cache/event/rating/import';
6
6
  import { LibCurl } from 'esoftplay/cache/lib/curl/import';
7
7
  import { LibDialog } from 'esoftplay/cache/lib/dialog/import';
8
8
  import { LibLoading } from 'esoftplay/cache/lib/loading/import';
@@ -45,7 +45,7 @@ export default function m(props: EventReview_detailProps): any {
45
45
 
46
46
  return (
47
47
  <View style={{ flex: 1 }}>
48
- <ComponentHeader title={esp.lang("event/review_detail", "header_title")} />
48
+ <EventHeader title={esp.lang("event/review_detail", "header_title")} />
49
49
  <ScrollView>
50
50
  <View style={{ margin: 10, padding: 10, borderWidth: 1, borderColor: '#c9c9c9', borderRadius: 10, flexDirection: 'row', alignContent: 'center', alignItems: 'center' }}>
51
51
  <LibPicture source={{ uri: result?.event?.image }} style={{ height: 50, width: 50, borderRadius: 10 }} />
@@ -54,7 +54,7 @@ export default function m(props: EventReview_detailProps): any {
54
54
  </View>
55
55
  </View>
56
56
  <View style={{ marginLeft: 10, marginTop: 5, flexDirection: 'row', marginVertical: 3, alignContent: 'center', alignItems: 'center' }}>
57
- <ComponentRating disabled onChangeRating={() => { }} defaultValue={result?.review?.rating} size={16} containerStyle={{ padding: 0 }} />
57
+ <EventRating disabled onChangeRating={() => { }} defaultValue={result?.review?.rating} size={16} containerStyle={{ padding: 0 }} />
58
58
  <View style={{ marginHorizontal: 5, height: 3, width: 3, borderRadius: 1.5, backgroundColor: "#b8a898" }} />
59
59
  <Text allowFontScaling={false} style={{ marginLeft: 7, fontSize: 12, color: '#c9c9c9' }}>{LibUtils.moment(result?.review?.created).localeFormat("D MMM YYYY")}</Text>
60
60
  </View>
@@ -1,7 +1,7 @@
1
1
  // withHooks
2
2
 
3
- import { ComponentRating } from 'esoftplay/cache/component/rating/import';
4
- import { ComponentRating_mini } from 'esoftplay/cache/component/rating_mini/import';
3
+ import { EventRating } from 'esoftplay/cache/event/rating/import';
4
+ import { EventRating_mini } from 'esoftplay/cache/event/rating_mini/import';
5
5
  import { LibGradient } from 'esoftplay/cache/lib/gradient/import';
6
6
  import { LibPicture } from 'esoftplay/cache/lib/picture/import';
7
7
  import { LibUtils } from 'esoftplay/cache/lib/utils/import';
@@ -52,7 +52,7 @@ export default function m(props: EventReview_itemProps): any {
52
52
  <View style={{ flex: 1, paddingVertical: 16, marginLeft: -10 / 9 * 20 + 16 }} >
53
53
  <Text allowFontScaling={false} style={{ fontSize: 12, color: '#c9c9c9' }} numberOfLines={1} ellipsizeMode='tail'>{props.booking_code}</Text>
54
54
  <Text allowFontScaling={false} style={{ fontSize: 14, fontWeight: 'bold' }} numberOfLines={1} ellipsizeMode='tail'>{props.event_name}</Text>
55
- <ComponentRating_mini rating='0,0,0,0,5' starStyle={{ color: "#c9c9c9" }} starSize={25} />
55
+ <EventRating_mini rating='0,0,0,0,5' starStyle={{ color: "#c9c9c9" }} starSize={25} />
56
56
  </View>
57
57
  </View>
58
58
  </Pressable>
@@ -63,7 +63,7 @@ export default function m(props: EventReview_itemProps): any {
63
63
  <Text allowFontScaling={false} style={{ fontSize: 14, fontWeight: 'bold' }} numberOfLines={2} ellipsizeMode='tail'>{props.event_name}</Text>
64
64
 
65
65
  <View style={{ flexDirection: 'row', marginVertical: 3, alignContent: 'center', alignItems: 'center' }}>
66
- <ComponentRating disabled onChangeRating={() => { }} defaultValue={props?.review?.rating} size={16} containerStyle={{ padding: 0 }} />
66
+ <EventRating disabled onChangeRating={() => { }} defaultValue={props?.review?.rating} size={16} containerStyle={{ padding: 0 }} />
67
67
  <View style={{ marginHorizontal: 5, height: 3, width: 3, borderRadius: 1.5, backgroundColor: "#b8a898" }} />
68
68
  <Text allowFontScaling={false} style={{ marginLeft: 7, fontSize: 12, color: '#c9c9c9' }}>{LibUtils.moment(props.review?.created).localeFormat("D MMM YYYY")}</Text>
69
69
  </View>
@@ -1,7 +1,7 @@
1
1
  // withHooks
2
2
 
3
3
  import { applyStyle } from 'esoftplay';
4
- import { ComponentButton } from 'esoftplay/cache/component/button/import';
4
+ import { EventButton } from 'esoftplay/cache/event/button/import';
5
5
  import { LibIcon } from 'esoftplay/cache/lib/icon/import';
6
6
  import { LibPicture } from 'esoftplay/cache/lib/picture/import';
7
7
  import { LibStyle } from 'esoftplay/cache/lib/style/import';
@@ -57,7 +57,7 @@ export default function m(props: EventScan_itemProps): any {
57
57
  }
58
58
  {
59
59
  props.item?.status == 1 &&
60
- <ComponentButton style={applyStyle({ marginTop: 10, alignSelf: 'flex-end', width: LibStyle.width / 3, backgroundColor: props.colorBackground })} label={props.label} fontColor={props.colorFont} onPress={props.onPress} />
60
+ <EventButton style={applyStyle({ marginTop: 10, alignSelf: 'flex-end', width: LibStyle.width / 3, backgroundColor: props.colorBackground })} label={props.label} fontColor={props.colorFont} onPress={props.onPress} />
61
61
  }
62
62
  </View>
63
63
  </View>
@@ -1,7 +1,6 @@
1
1
  // withHooks
2
- import { ComponentButton } from 'esoftplay/cache/component/button/import';
3
- import { ComponentHeader } from 'esoftplay/cache/component/header/import';
4
- import { ComponentTouchable } from 'esoftplay/cache/component/touchable/import';
2
+ import { EventButton } from 'esoftplay/cache/event/button/import';
3
+ import { EventHeader } from 'esoftplay/cache/event/header/import';
5
4
  import { LibIcon } from 'esoftplay/cache/lib/icon/import';
6
5
  import { LibNavigation } from 'esoftplay/cache/lib/navigation/import';
7
6
  import { LibPicture } from 'esoftplay/cache/lib/picture/import';
@@ -99,7 +98,7 @@ export default function m(props: EventScheduleProps): any {
99
98
 
100
99
  return (
101
100
  <View style={{ flex: 1, backgroundColor: '#fff' }}>
102
- <ComponentHeader title={esp.lang("event/schedule", "header_title")} />
101
+ <EventHeader title={esp.lang("event/schedule", "header_title")} />
103
102
  <ScrollView>
104
103
  {
105
104
  schedule?.artist.length > 0 && schedule.artist.map(renderArtist)
@@ -109,19 +108,19 @@ export default function m(props: EventScheduleProps): any {
109
108
  </ScrollView>
110
109
  <View style={{ padding: 10 }} >
111
110
  <View style={{ flexDirection: 'row', marginVertical: 10, alignContent: 'center', alignItems: 'center', alignSelf: 'center' }}>
112
- <ComponentTouchable onPress={() => { min() }}>
111
+ <TouchableOpacity onPress={() => { min() }}>
113
112
  <View style={{ width: 28, height: 28, borderRadius: 6, backgroundColor: "#ecf0f1", alignContent: 'center', alignItems: 'center' }}>
114
113
  <LibIcon name="minus" color="#e74c3c" />
115
114
  </View>
116
- </ComponentTouchable>
115
+ </TouchableOpacity>
117
116
  <Text style={{ fontFamily: "Arial", fontSize: 20, fontWeight: "bold", fontStyle: "normal", letterSpacing: 0, color: "#9b9b9b", marginLeft: 15, marginRight: 15 }}>{qty}</Text>
118
- <ComponentTouchable onPress={() => { add(item?.quota, item?.quota_used) }}>
117
+ <TouchableOpacity onPress={() => { add(item?.quota, item?.quota_used) }}>
119
118
  <View style={{ width: 28, height: 28, borderRadius: 6, backgroundColor: "#ecf0f1", alignContent: 'center', alignItems: 'center' }}>
120
119
  <LibIcon name="plus" color="#16a085" />
121
120
  </View>
122
- </ComponentTouchable>
121
+ </TouchableOpacity>
123
122
  </View>
124
- <ComponentButton label={esp.lang("buy/index2", "button_next")} onPress={() => {
123
+ <EventButton label={esp.lang("event/schedule", "next")} onPress={() => {
125
124
  doBooking()
126
125
  }} style={{ backgroundColor: LibStyle.colorGreen }} />
127
126
  </View>