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.
- package/event/additional.tsx +4 -4
- package/event/additional_input.tsx +15 -15
- package/event/alert.tsx +32 -0
- package/event/artist.tsx +166 -0
- package/event/artist_detail.tsx +521 -0
- package/event/artist_detail_multi.tsx +548 -0
- package/event/badge.tsx +22 -0
- package/event/button.tsx +40 -0
- package/event/config.ts +4 -0
- package/event/countdown.tsx +5 -5
- package/event/countdown_base.tsx +83 -0
- package/event/counter_cashier.tsx +13 -13
- package/event/counter_cashier_report.tsx +6 -6
- package/event/counter_cashier_sell.tsx +7 -7
- package/event/counter_eo.tsx +21 -21
- package/event/counter_history.tsx +4 -4
- package/event/counter_lm.tsx +18 -18
- package/event/counter_report.tsx +4 -4
- package/event/counter_report_breakdown.tsx +2 -2
- package/event/counter_report_detail.tsx +15 -15
- package/event/counter_report_detail_list.tsx +4 -4
- package/event/counter_request.tsx +4 -4
- package/event/counter_request_detail.tsx +6 -6
- package/event/counter_send.tsx +9 -9
- package/event/counter_user_list.tsx +15 -15
- package/event/coupon.tsx +4 -4
- package/event/coupon_claim.tsx +4 -4
- package/event/coupon_claim_detail.tsx +8 -7
- package/event/coupon_claim_history.tsx +9 -9
- package/event/coupon_claim_reimburse.tsx +7 -8
- package/event/coupon_claim_reimburse_history.tsx +4 -4
- package/event/coupon_claim_reimburse_history_detail.tsx +4 -4
- package/event/coupon_claim_staff.tsx +10 -10
- package/event/coupon_detail.tsx +3 -3
- package/event/coupon_event_list.tsx +4 -4
- package/event/coupon_generate.tsx +4 -4
- package/event/coupon_generate_event.tsx +4 -4
- package/event/coupon_generate_list.tsx +2 -2
- package/event/date_picker.tsx +5 -5
- package/event/detail.tsx +12 -15
- package/event/entrance.tsx +17 -17
- package/event/entrance_again.tsx +22 -23
- package/event/entrance_failed.tsx +15 -15
- package/event/entrance_idcard.tsx +23 -23
- package/event/entrance_list.tsx +24 -24
- package/event/entrance_list_item.tsx +6 -6
- package/event/entrance_log.tsx +24 -24
- package/event/entrance_success.tsx +8 -8
- package/event/entrance_warning.tsx +14 -14
- package/event/exchange_reward.tsx +2 -2
- package/event/exchange_reward_result.tsx +7 -8
- package/event/exchange_ticket.tsx +11 -12
- package/event/exchange_ticket_list.tsx +10 -12
- package/event/exchange_ticket_result.tsx +11 -12
- package/event/exit.tsx +9 -9
- package/event/exit_failed.tsx +12 -12
- package/event/exit_list.tsx +15 -15
- package/event/exit_log.tsx +22 -22
- package/event/exit_success.tsx +8 -8
- package/event/exit_temporary.tsx +21 -21
- package/event/expander.tsx +36 -0
- package/event/fab.tsx +24 -0
- package/event/firebase_socket.ts +365 -0
- package/event/hall_in.tsx +13 -13
- package/event/hall_in_failed.tsx +22 -22
- package/event/hall_in_list.tsx +17 -17
- package/event/hall_in_log.tsx +24 -24
- package/event/hall_in_success.tsx +8 -8
- package/event/hall_out.tsx +13 -13
- package/event/hall_out_failed.tsx +11 -11
- package/event/hall_out_list.tsx +17 -17
- package/event/hall_out_log.tsx +24 -24
- package/event/hall_out_success.tsx +8 -8
- package/event/header.tsx +119 -0
- package/event/header_home.tsx +108 -0
- package/event/index.tsx +270 -0
- package/event/input_rectangle.tsx +208 -0
- package/event/item.tsx +40 -0
- package/event/label_input.tsx +23 -0
- package/event/list.tsx +20 -21
- package/event/list_filter.tsx +12 -13
- package/event/list_item.tsx +76 -0
- package/event/list_item2.tsx +78 -0
- package/event/loading_page.tsx +248 -0
- package/event/log.tsx +54 -54
- package/event/message.tsx +32 -0
- package/event/notice.tsx +41 -0
- package/event/order.tsx +323 -0
- package/event/order_detail.tsx +813 -0
- package/event/order_detail_payment.tsx +153 -0
- package/event/order_detail_upgrade.tsx +164 -0
- package/event/order_detail_upgrade_button.tsx +60 -0
- package/event/order_detail_upgrade_payment.tsx +221 -0
- package/event/order_detail_visitor.tsx +196 -0
- package/event/order_detail_waiting.tsx +520 -0
- package/event/order_history.tsx +101 -0
- package/event/order_item.tsx +118 -0
- package/event/order_lottery.tsx +172 -0
- package/event/order_reschedule.tsx +439 -0
- package/event/order_reschedule_list.tsx +85 -0
- package/event/order_share_to.tsx +219 -0
- package/event/order_share_to_detail.tsx +181 -0
- package/event/order_status.tsx +66 -0
- package/event/order_waiting.tsx +143 -0
- package/event/pending_trx.tsx +50 -0
- package/event/qc_idcard.tsx +12 -12
- package/event/qc_idcard_failed.tsx +4 -4
- package/event/qc_idcard_success.tsx +4 -4
- package/event/qr_bg.tsx +22 -0
- package/event/queue_out.tsx +3 -3
- package/event/queue_pricing.tsx +2 -3
- package/event/rating.tsx +49 -0
- package/event/rating_mini.tsx +35 -0
- package/event/refresh_button.tsx +40 -0
- package/event/review.tsx +3 -3
- package/event/review_add.tsx +8 -8
- package/event/review_detail.tsx +4 -4
- package/event/review_item.tsx +4 -4
- package/event/scan_item.tsx +2 -2
- package/event/schedule.tsx +8 -9
- package/event/seat.tsx +16 -18
- package/event/seat_autopick.tsx +4 -4
- package/event/seat_map.tsx +4 -4
- package/event/seat_map_test.tsx +2 -2
- package/event/section.tsx +35 -0
- package/event/section_menu.tsx +40 -0
- package/event/sheet.tsx +73 -0
- package/event/slider.tsx +46 -0
- package/event/step.tsx +29 -0
- package/event/ticket_list.tsx +15 -16
- package/event/ticket_list2.tsx +16 -17
- package/event/tms.tsx +4 -4
- package/event/tms_add.tsx +7 -8
- package/event/tms_add_result.tsx +4 -4
- package/event/tms_check_code.tsx +160 -0
- package/event/tms_check_ticket.tsx +72 -0
- package/event/tms_check_ticket_result.tsx +384 -0
- package/event/tms_dashboard.tsx +7 -7
- package/event/tms_event_list.tsx +46 -43
- package/event/tms_gate.tsx +96 -0
- package/event/tms_home.tsx +639 -0
- package/event/tms_idcard.tsx +203 -0
- package/event/tms_in.tsx +215 -0
- package/event/tms_in_again.tsx +199 -0
- package/event/tms_in_failed.tsx +190 -0
- package/event/tms_in_hall.tsx +148 -0
- package/event/tms_in_hall_failed.tsx +270 -0
- package/event/tms_in_hall_list.tsx +222 -0
- package/event/tms_in_hall_log.tsx +134 -0
- package/event/tms_in_hall_success.tsx +132 -0
- package/event/tms_in_list.tsx +264 -0
- package/event/tms_in_log.tsx +130 -0
- package/event/tms_in_success.tsx +155 -0
- package/event/tms_in_warning.tsx +91 -0
- package/event/tms_list_item.tsx +88 -0
- package/event/tms_log.tsx +435 -0
- package/event/tms_out.tsx +91 -0
- package/event/tms_out_failed.tsx +135 -0
- package/event/tms_out_hall.tsx +143 -0
- package/event/tms_out_hall_failed.tsx +133 -0
- package/event/tms_out_hall_list.tsx +215 -0
- package/event/tms_out_hall_log.tsx +133 -0
- package/event/tms_out_hall_success.tsx +130 -0
- package/event/tms_out_list.tsx +118 -0
- package/event/tms_out_log.tsx +131 -0
- package/event/tms_out_success.tsx +143 -0
- package/event/tms_out_temporary.tsx +226 -0
- package/event/toggle.tsx +30 -0
- package/event/transaction.ts +34 -0
- package/event/turnstile_event_gate.tsx +2 -2
- package/event/turnstile_event_list.tsx +4 -4
- package/event/turnstile_event_ticket.tsx +4 -4
- package/event/turnstile_settings.tsx +11 -11
- package/event/turnstile_settings_otp.tsx +4 -4
- package/event/turnstile_settings_status.tsx +2 -2
- package/event/voucher.tsx +9 -10
- package/event/voucher_multi.tsx +4 -5
- package/id.json +644 -0
- package/package.json +1 -1
package/event/qc_idcard.tsx
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
// withHooks
|
|
2
2
|
import { useEffect, useRef } from 'react';
|
|
3
3
|
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
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<
|
|
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
|
-
<
|
|
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
|
-
<
|
|
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
|
-
<
|
|
176
|
+
<EventMessage message={error?.message} style={{ marginTop: 30 }} />
|
|
177
177
|
}
|
|
178
178
|
</ScrollView>
|
|
179
179
|
|
|
180
180
|
<View style={{ padding: 10, backgroundColor: '#fff' }}>
|
|
181
|
-
<
|
|
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
|
-
<
|
|
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
|
-
</
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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 {
|
|
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/
|
|
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/
|
|
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
|
-
<
|
|
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
|
}}
|
package/event/qr_bg.tsx
ADDED
|
@@ -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
|
+
}
|
package/event/queue_out.tsx
CHANGED
|
@@ -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
|
-
<
|
|
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
|
-
<
|
|
180
|
+
<EventButton label='Kirim' onPress={() => { }} />
|
|
181
181
|
</View> */}
|
|
182
182
|
</View>
|
|
183
183
|
</LibSlidingup>
|
package/event/queue_pricing.tsx
CHANGED
|
@@ -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 =
|
|
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++
|
package/event/rating.tsx
ADDED
|
@@ -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 {
|
|
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
|
-
<
|
|
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' : '
|
|
109
|
+
LibNavigation.navigate(newRev == null ? 'event/review_add' : 'event/order_detail', args)
|
|
110
110
|
}}
|
|
111
111
|
/>
|
|
112
112
|
)
|
package/event/review_add.tsx
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// withHooks
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
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 {
|
|
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
|
-
|
|
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
|
-
<
|
|
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
|
-
<
|
|
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
|
-
<
|
|
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"), () => {
|
package/event/review_detail.tsx
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// withHooks
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
import {
|
|
5
|
-
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
|
-
<
|
|
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
|
-
<
|
|
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>
|
package/event/review_item.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// withHooks
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
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
|
-
<
|
|
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
|
-
<
|
|
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>
|
package/event/scan_item.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// withHooks
|
|
2
2
|
|
|
3
3
|
import { applyStyle } from 'esoftplay';
|
|
4
|
-
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
|
-
<
|
|
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>
|
package/event/schedule.tsx
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// withHooks
|
|
2
|
-
import {
|
|
3
|
-
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
|
-
<
|
|
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
|
-
<
|
|
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
|
-
</
|
|
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
|
-
<
|
|
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
|
-
</
|
|
121
|
+
</TouchableOpacity>
|
|
123
122
|
</View>
|
|
124
|
-
<
|
|
123
|
+
<EventButton label={esp.lang("event/schedule", "next")} onPress={() => {
|
|
125
124
|
doBooking()
|
|
126
125
|
}} style={{ backgroundColor: LibStyle.colorGreen }} />
|
|
127
126
|
</View>
|