esoftplay-event 0.0.0-a → 0.0.0-b
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 +11 -11
- package/event/alert.tsx +32 -0
- package/event/artist.tsx +166 -0
- package/event/artist_detail.tsx +520 -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 +11 -11
- package/event/counter_cashier_report.tsx +6 -6
- package/event/counter_cashier_sell.tsx +7 -7
- package/event/counter_eo.tsx +19 -19
- package/event/counter_history.tsx +4 -4
- package/event/counter_lm.tsx +16 -16
- package/event/counter_report.tsx +4 -4
- package/event/counter_report_breakdown.tsx +2 -2
- package/event/counter_report_detail.tsx +12 -12
- 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 +6 -6
- package/event/counter_user_list.tsx +13 -13
- 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/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/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 +10 -10
- 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/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_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
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
// withHooks
|
|
2
2
|
|
|
3
3
|
import { applyStyle } from 'esoftplay';
|
|
4
|
-
import {
|
|
5
|
-
import { ComponentTouchable } from 'esoftplay/cache/component/touchable/import';
|
|
4
|
+
import { EventHeader } from 'esoftplay/cache/event/header/import';
|
|
6
5
|
import { LibCurl } from 'esoftplay/cache/lib/curl/import';
|
|
7
6
|
import { LibDialog } from 'esoftplay/cache/lib/dialog/import';
|
|
8
7
|
import { LibIcon } from 'esoftplay/cache/lib/icon/import';
|
|
@@ -16,7 +15,7 @@ import { LibUtils } from 'esoftplay/cache/lib/utils/import';
|
|
|
16
15
|
import esp from 'esoftplay/esp';
|
|
17
16
|
import useSafeState from 'esoftplay/state';
|
|
18
17
|
import React, { useEffect } from 'react';
|
|
19
|
-
import { Pressable, ScrollView, Text, View } from 'react-native';
|
|
18
|
+
import { Pressable, ScrollView, Text, TouchableOpacity, View } from 'react-native';
|
|
20
19
|
|
|
21
20
|
|
|
22
21
|
export interface EventExchange_reward_resultArgs {
|
|
@@ -42,7 +41,7 @@ export default function m(props: EventExchange_reward_resultProps): any {
|
|
|
42
41
|
LibNavigation.back()
|
|
43
42
|
})
|
|
44
43
|
}
|
|
45
|
-
|
|
44
|
+
|
|
46
45
|
function submitSign() {
|
|
47
46
|
let post = {
|
|
48
47
|
booking_id: result?.booking?.id,
|
|
@@ -54,7 +53,7 @@ export default function m(props: EventExchange_reward_resultProps): any {
|
|
|
54
53
|
LibToastProperty.show(msg)
|
|
55
54
|
LibNavigation.back()
|
|
56
55
|
LibNavigation.navigate('component/scanner', { event_title: event_title, event_id: event_id, fromPage: "event/exchange_reward" })
|
|
57
|
-
|
|
56
|
+
|
|
58
57
|
}, (err) => {
|
|
59
58
|
LibProgress.hide()
|
|
60
59
|
LibDialog.warning(esp.lang("event/exchange_reward_result", "oops"), err?.message)
|
|
@@ -71,7 +70,7 @@ export default function m(props: EventExchange_reward_resultProps): any {
|
|
|
71
70
|
|
|
72
71
|
return (
|
|
73
72
|
<View style={{ flex: 1, backgroundColor: LibStyle.colorBgGrey }}>
|
|
74
|
-
<
|
|
73
|
+
<EventHeader title={esp.lang("event/exchange_reward_result", "header_title")} subtitle={event_title} />
|
|
75
74
|
<ScrollView>
|
|
76
75
|
<Pressable onPress={() => { }} style={{ backgroundColor: '#fff', borderRadius: 5, overflow: 'hidden', width: LibStyle.width - 30, margin: 15, marginBottom: 0 }}>
|
|
77
76
|
<View style={{ alignContent: 'center', borderBottomWidth: 1, borderBottomColor: "#c9c9c9", alignItems: 'center', justifyContent: 'center', backgroundColor: LibStyle.colorPrimary, padding: 10 }}>
|
|
@@ -125,13 +124,13 @@ export default function m(props: EventExchange_reward_resultProps): any {
|
|
|
125
124
|
</Pressable>
|
|
126
125
|
</ScrollView>
|
|
127
126
|
|
|
128
|
-
<
|
|
127
|
+
<TouchableOpacity onPress={() => {
|
|
129
128
|
submitSign()
|
|
130
129
|
}}>
|
|
131
130
|
<View style={{ margin: 15, marginTop: 20, height: 35, borderRadius: 5, backgroundColor: LibStyle.colorRed, justifyContent: 'center', alignItems: 'center', paddingHorizontal: 9 }} >
|
|
132
131
|
<Text allowFontScaling={false} style={{ fontFamily: "ArialBold", textAlign: "center", textAlignVertical: 'center', color: 'white', marginRight: 13, marginLeft: 10 }} >{esp.lang("event/exchange_reward_result", "submit")}</Text>
|
|
133
132
|
</View>
|
|
134
|
-
</
|
|
133
|
+
</TouchableOpacity>
|
|
135
134
|
</View>
|
|
136
135
|
)
|
|
137
136
|
}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
// withHooks
|
|
2
2
|
|
|
3
|
-
import { ComponentHeader } from 'esoftplay/cache/component/header/import';
|
|
4
|
-
import { ComponentSlidingup } from 'esoftplay/cache/component/slidingup/import';
|
|
5
|
-
import { ComponentTouchable } from 'esoftplay/cache/component/touchable/import';
|
|
6
3
|
import { EventExchange_ticket_resultProperty } from 'esoftplay/cache/event/exchange_ticket_result/import';
|
|
4
|
+
import { EventHeader } from 'esoftplay/cache/event/header/import';
|
|
7
5
|
import { LibCurl } from 'esoftplay/cache/lib/curl/import';
|
|
8
6
|
import { LibIcon } from 'esoftplay/cache/lib/icon/import';
|
|
9
7
|
import { LibInput_circle2 } from 'esoftplay/cache/lib/input_circle2/import';
|
|
@@ -11,6 +9,7 @@ import { LibLoading } from 'esoftplay/cache/lib/loading/import';
|
|
|
11
9
|
import { LibNavigation } from 'esoftplay/cache/lib/navigation/import';
|
|
12
10
|
import { LibObject } from 'esoftplay/cache/lib/object/import';
|
|
13
11
|
import { LibPicture } from 'esoftplay/cache/lib/picture/import';
|
|
12
|
+
import { LibSlidingup } from 'esoftplay/cache/lib/slidingup/import';
|
|
14
13
|
import { LibStyle } from 'esoftplay/cache/lib/style/import';
|
|
15
14
|
import { LibToastProperty } from 'esoftplay/cache/lib/toast/import';
|
|
16
15
|
import { LibUtils } from 'esoftplay/cache/lib/utils/import';
|
|
@@ -22,7 +21,7 @@ import useGlobalSubscriber, { useGlobalSubscriberReturn } from 'esoftplay/subscr
|
|
|
22
21
|
import { useTimeout } from 'esoftplay/timeout';
|
|
23
22
|
import React, { useEffect, useRef } from 'react';
|
|
24
23
|
import isEqual from 'react-fast-compare';
|
|
25
|
-
import { Pressable, RefreshControl, ScrollView, Text, View } from 'react-native';
|
|
24
|
+
import { Pressable, RefreshControl, ScrollView, Text, TouchableOpacity, View } from 'react-native';
|
|
26
25
|
|
|
27
26
|
|
|
28
27
|
export interface EventExchange_ticketArgs {
|
|
@@ -83,7 +82,7 @@ const useTasks1 = UseTasks()
|
|
|
83
82
|
|
|
84
83
|
export default function m(props: EventExchange_ticketProps): any {
|
|
85
84
|
const { dataEvent }: any = LibNavigation.getArgsAll(props)
|
|
86
|
-
const dialogInput = useRef<
|
|
85
|
+
const dialogInput = useRef<LibSlidingup>(null)
|
|
87
86
|
|
|
88
87
|
const [dataConfig, setDataConfig] = useSafeState<any>()
|
|
89
88
|
const [error, setError] = useSafeState<string>()
|
|
@@ -149,7 +148,7 @@ export default function m(props: EventExchange_ticketProps): any {
|
|
|
149
148
|
|
|
150
149
|
return (
|
|
151
150
|
<View style={{ flex: 1, backgroundColor: LibStyle.colorBgGrey }}>
|
|
152
|
-
<
|
|
151
|
+
<EventHeader title={esp.lang("event/exchange_ticket", "header")} subtitle={dataEvent?.name} />
|
|
153
152
|
<ScrollView style={{ flex: 1 }} refreshControl={<RefreshControl refreshing={refreshing} onRefresh={onRefresh} />}>
|
|
154
153
|
<Pressable onPress={() => {
|
|
155
154
|
LibNavigation.navigate('event/exchange_ticket_list', { dataEvent: dataEvent })
|
|
@@ -158,7 +157,7 @@ export default function m(props: EventExchange_ticketProps): any {
|
|
|
158
157
|
<LibIcon name='chevron-right' />
|
|
159
158
|
</Pressable >
|
|
160
159
|
<View style={{ flex: 1, margin: 15, backgroundColor: '#fff', borderRadius: 10, ...LibStyle.elevation(2) }}>
|
|
161
|
-
<
|
|
160
|
+
<TouchableOpacity onPress={() => {
|
|
162
161
|
if (dataConfig) {
|
|
163
162
|
LibNavigation.navigate('component/scanner', { event_title: dataEvent?.name, event_id: dataEvent?.id, fromPage: "event/exchange_ticket" })
|
|
164
163
|
}
|
|
@@ -167,7 +166,7 @@ export default function m(props: EventExchange_ticketProps): any {
|
|
|
167
166
|
<LibPicture source={esp.assets('icons/ic_barcode_white.png')} style={{ height: 250, width: 250 }} />
|
|
168
167
|
<Text allowFontScaling={false} style={{ fontFamily: "Arial", fontSize: 14, fontWeight: "bold", fontStyle: "normal", letterSpacing: 0, textAlign: "center", marginTop: 10, color: '#fff' }}>{esp.lang("transfer/index", "klik_here")}</Text>
|
|
169
168
|
</View>
|
|
170
|
-
</
|
|
169
|
+
</TouchableOpacity>
|
|
171
170
|
|
|
172
171
|
{
|
|
173
172
|
(dataConfig || error) ?
|
|
@@ -206,7 +205,7 @@ export default function m(props: EventExchange_ticketProps): any {
|
|
|
206
205
|
<LibIcon.Ionicons name='terminal-outline' color='#fff' />
|
|
207
206
|
</Pressable>
|
|
208
207
|
|
|
209
|
-
<
|
|
208
|
+
<LibSlidingup ref={dialogInput}>
|
|
210
209
|
<View style={{ backgroundColor: '#f6f6f6', borderTopRightRadius: 20, borderTopLeftRadius: 20, paddingHorizontal: 19, }}>
|
|
211
210
|
<Text allowFontScaling={false} style={{ marginTop: 26, marginBottom: 23, fontFamily: "Arial", fontSize: 16, fontWeight: "bold", fontStyle: "normal", lineHeight: 22, letterSpacing: 0, textAlign: "center", color: "#34495e" }}>{esp.lang("event/exchange_ticket", "input_qr")}</Text>
|
|
212
211
|
<LibInput_circle2
|
|
@@ -219,14 +218,14 @@ export default function m(props: EventExchange_ticketProps): any {
|
|
|
219
218
|
placeholder={esp.lang("event/exchange_ticket", "placeholder_code")}
|
|
220
219
|
/>
|
|
221
220
|
|
|
222
|
-
<
|
|
221
|
+
<TouchableOpacity onPress={() => { doSubmit() }}>
|
|
223
222
|
<View style={{ margin: 15, marginTop: 20, height: 35, borderRadius: 5, backgroundColor: "#6c432c", justifyContent: 'center', alignItems: 'center', paddingHorizontal: 9 }} >
|
|
224
223
|
<Text allowFontScaling={false} style={{ fontFamily: "ArialBold", fontSize: 12, textAlign: "center", textAlignVertical: 'center', color: 'white', marginRight: 13, marginLeft: 10 }} >{esp.lang("visitor/index", "submit")}</Text>
|
|
225
224
|
</View>
|
|
226
|
-
</
|
|
225
|
+
</TouchableOpacity>
|
|
227
226
|
|
|
228
227
|
</View>
|
|
229
|
-
</
|
|
228
|
+
</LibSlidingup>
|
|
230
229
|
|
|
231
230
|
|
|
232
231
|
</View>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// withHooks
|
|
2
2
|
import { useRef } from 'react';
|
|
3
3
|
|
|
4
|
-
import {
|
|
5
|
-
import { ComponentHeader } from 'esoftplay/cache/component/header/import';
|
|
4
|
+
import { EventButton } from 'esoftplay/cache/event/button/import';
|
|
6
5
|
import { EventExchange_ticketProperty } from 'esoftplay/cache/event/exchange_ticket/import';
|
|
7
6
|
import { EventExchange_ticket_resultProperty } from 'esoftplay/cache/event/exchange_ticket_result/import';
|
|
7
|
+
import { EventHeader } from 'esoftplay/cache/event/header/import';
|
|
8
8
|
import { LibCollaps } from 'esoftplay/cache/lib/collaps/import';
|
|
9
9
|
import { LibDialog } from 'esoftplay/cache/lib/dialog/import';
|
|
10
10
|
import { LibIcon } from 'esoftplay/cache/lib/icon/import';
|
|
@@ -56,11 +56,9 @@ export default function m(props: EventExchange_ticket_listProps): any {
|
|
|
56
56
|
return 0
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
esp.log({ log });
|
|
60
|
-
|
|
61
59
|
return (
|
|
62
60
|
<View style={{ flex: 1, }}>
|
|
63
|
-
<
|
|
61
|
+
<EventHeader title={esp.lang("event/exchange_ticket", "exchange_history")} />
|
|
64
62
|
<ScrollView>
|
|
65
63
|
<LibCollaps
|
|
66
64
|
header={(show) => {
|
|
@@ -116,7 +114,7 @@ export default function m(props: EventExchange_ticket_listProps): any {
|
|
|
116
114
|
buildTypeData(key)
|
|
117
115
|
setTitleSliding(key.toUpperCase())
|
|
118
116
|
}
|
|
119
|
-
// props.onPress("api_ok", esp.lang("event/
|
|
117
|
+
// props.onPress("api_ok", esp.lang("event/tms_in_log", "data_send_gate_in"))
|
|
120
118
|
}} style={{ flexDirection: 'row', justifyContent: 'space-between', alignContent: 'center', alignItems: 'center', marginHorizontal: 15, paddingVertical: 6, borderBottomWidth: 1, borderBottomColor: LibStyle.colorLightGrey }}>
|
|
121
119
|
<LibTextstyle text={key.replace('gift_', '')} textStyle="subhead" />
|
|
122
120
|
<LibTextstyle text={LibUtils.number(getTotalAllHour(log?.[key]))} textStyle="title2" />
|
|
@@ -132,7 +130,7 @@ export default function m(props: EventExchange_ticket_listProps): any {
|
|
|
132
130
|
// syncData()
|
|
133
131
|
EventExchange_ticketProperty.subscribeSync().trigger(EventExchange_ticket_resultProperty.stateListConfirm().get())
|
|
134
132
|
}}>
|
|
135
|
-
<Text allowFontScaling={false} style={{ textAlign: 'center' }}>{esp.lang("event/
|
|
133
|
+
<Text allowFontScaling={false} style={{ textAlign: 'center' }}>{esp.lang("event/tms_in_log", "please_wait")}<Text style={{ color: LibStyle.colorBlue, textDecorationStyle: 'solid', textDecorationLine: 'underline' }}>{esp.lang("event/tms_in_log", "press_here")}</Text> {esp.lang("event/tms_in_log", "press_here2")}</Text>
|
|
136
134
|
</Pressable>
|
|
137
135
|
} >
|
|
138
136
|
<LibTextstyle textStyle='callout'
|
|
@@ -144,10 +142,10 @@ export default function m(props: EventExchange_ticket_listProps): any {
|
|
|
144
142
|
</LibCollaps>
|
|
145
143
|
</ScrollView>
|
|
146
144
|
|
|
147
|
-
<
|
|
145
|
+
<EventButton
|
|
148
146
|
style={{ margin: 10 }}
|
|
149
|
-
label={esp.lang("event/
|
|
150
|
-
LibDialog.confirm(esp.lang("event/
|
|
147
|
+
label={esp.lang("event/tms_log", "btn_close")} onPress={() => {
|
|
148
|
+
LibDialog.confirm(esp.lang("event/tms_log", "send_title"), "Kirim laporan scan exchange tiket ke admin?", esp.lang("event/tms_log", "send_ok"), () => {
|
|
151
149
|
LibProgress.show("Loading..")
|
|
152
150
|
sendTm("#closing_exchange\n" + JSON.stringify({
|
|
153
151
|
domain: esp.config('domain'),
|
|
@@ -160,7 +158,7 @@ export default function m(props: EventExchange_ticket_listProps): any {
|
|
|
160
158
|
LibProgress.hide()
|
|
161
159
|
})
|
|
162
160
|
|
|
163
|
-
}, esp.lang("event/
|
|
161
|
+
}, esp.lang("event/tms_log", "send_no"), () => { })
|
|
164
162
|
|
|
165
163
|
}} />
|
|
166
164
|
|
|
@@ -171,7 +169,7 @@ export default function m(props: EventExchange_ticket_listProps): any {
|
|
|
171
169
|
data={getSelectedData()}
|
|
172
170
|
ListHeaderComponent={
|
|
173
171
|
<View style={{ alignContent: 'center', alignItems: 'center', marginVertical: 15 }}>
|
|
174
|
-
<LibTextstyle textStyle="headline" text={esp.lang("event/
|
|
172
|
+
<LibTextstyle textStyle="headline" text={esp.lang("event/tms_log", "hourly_detail")} />
|
|
175
173
|
<LibTextstyle textStyle="headline" text={titleSliding} />
|
|
176
174
|
</View>
|
|
177
175
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// withHooks
|
|
2
|
-
import { ComponentHeader } from 'esoftplay/cache/component/header/import';
|
|
3
|
-
import { ComponentTouchable } from 'esoftplay/cache/component/touchable/import';
|
|
4
2
|
import { EventExchange_ticketProperty } from 'esoftplay/cache/event/exchange_ticket/import';
|
|
3
|
+
import { EventHeader } from 'esoftplay/cache/event/header/import';
|
|
5
4
|
import { LibCurl } from 'esoftplay/cache/lib/curl/import';
|
|
6
5
|
import { LibDialog } from 'esoftplay/cache/lib/dialog/import';
|
|
7
6
|
import { LibLoading } from 'esoftplay/cache/lib/loading/import';
|
|
@@ -10,12 +9,12 @@ import { LibObject } from 'esoftplay/cache/lib/object/import';
|
|
|
10
9
|
import { LibStyle } from 'esoftplay/cache/lib/style/import';
|
|
11
10
|
import { LibToastProperty } from 'esoftplay/cache/lib/toast/import';
|
|
12
11
|
import { LibUtils } from 'esoftplay/cache/lib/utils/import';
|
|
13
|
-
import {
|
|
12
|
+
import { EventOrder_itemProperty } from 'esoftplay/cache/event/order_item/import';
|
|
14
13
|
import esp from 'esoftplay/esp';
|
|
15
14
|
import useGlobalState, { useGlobalReturn } from 'esoftplay/global';
|
|
16
15
|
import useSafeState from 'esoftplay/state';
|
|
17
16
|
import React, { useEffect } from 'react';
|
|
18
|
-
import { Pressable, ScrollView, Text, View } from 'react-native';
|
|
17
|
+
import { Pressable, ScrollView, Text, TouchableOpacity, View } from 'react-native';
|
|
19
18
|
|
|
20
19
|
|
|
21
20
|
export interface EventExchange_ticket_resultArgs {
|
|
@@ -106,14 +105,14 @@ export default function m(props: EventExchange_ticket_resultProps): any {
|
|
|
106
105
|
|
|
107
106
|
return (
|
|
108
107
|
<View style={{ flex: 1, backgroundColor: LibStyle.colorBgGrey }}>
|
|
109
|
-
<
|
|
108
|
+
<EventHeader title={qr} subtitle={event_title} />
|
|
110
109
|
<ScrollView>
|
|
111
110
|
<View style={{ margin: 10, padding: 10, backgroundColor: LibStyle.colorPrimary, borderRadius: 5, alignContent: 'center', alignItems: 'center', justifyContent: 'center' }}>
|
|
112
|
-
<Text allowFontScaling={false} style={{ fontWeight: 'bold', color:
|
|
113
|
-
<Text allowFontScaling={false} numberOfLines={2} ellipsizeMode="tail" style={{ color:
|
|
111
|
+
<Text allowFontScaling={false} style={{ fontWeight: 'bold', color: EventOrder_itemProperty.textColor(LibStyle.colorPrimary), fontSize: 50 }}>{LibUtils.number(listTicket?.qty_ticket)}</Text>
|
|
112
|
+
<Text allowFontScaling={false} numberOfLines={2} ellipsizeMode="tail" style={{ color: EventOrder_itemProperty.textColor(LibStyle.colorPrimary), textAlign: 'center', fontSize: 24 }}>{listTicket?.price_name}</Text>
|
|
114
113
|
{
|
|
115
114
|
listTicket?.hasOwnProperty("ondate") && listTicket?.ondate != "0000-00-00" &&
|
|
116
|
-
<Text allowFontScaling={false} style={{ color:
|
|
115
|
+
<Text allowFontScaling={false} style={{ color: EventOrder_itemProperty.textColor(LibStyle.colorPrimary), marginTop: 5, textAlign: 'center', fontSize: 16 }}>{LibUtils.moment(listTicket?.ondate).format("DD MMM YYYY")}</Text>
|
|
117
116
|
}
|
|
118
117
|
</View>
|
|
119
118
|
<View style={{ padding: 10, marginTop: 0, margin: 10, borderRadius: 5, backgroundColor: '#fff' }}>
|
|
@@ -181,18 +180,18 @@ export default function m(props: EventExchange_ticket_resultProps): any {
|
|
|
181
180
|
</View>
|
|
182
181
|
</ScrollView>
|
|
183
182
|
<View style={{ padding: 10, backgroundColor: '#fff' }}>
|
|
184
|
-
<
|
|
183
|
+
<TouchableOpacity onPress={() => {
|
|
185
184
|
LibNavigation.back()
|
|
186
185
|
LibNavigation.navigate('component/scanner', { event_title: event_title, event_id: event_id, fromPage: "event/exchange_ticket" })
|
|
187
186
|
}}>
|
|
188
187
|
<View style={{ height: 35, borderRadius: 5, borderWidth: 2, borderColor: LibStyle.colorRed, backgroundColor: "#fff", justifyContent: 'center', alignItems: 'center', paddingHorizontal: 9 }} >
|
|
189
188
|
<Text allowFontScaling={false} style={{ fontFamily: "ArialBold", textAlign: "center", textAlignVertical: 'center', color: LibStyle.colorRed, marginRight: 13, marginLeft: 10 }} >{esp.lang("event/exchange_ticket_result", "scan_again")}</Text>
|
|
190
189
|
</View>
|
|
191
|
-
</
|
|
190
|
+
</TouchableOpacity>
|
|
192
191
|
|
|
193
192
|
{/* {
|
|
194
193
|
listTicket?.list?.some((item: any) => item.exchanger_id == 0) && */}
|
|
195
|
-
<
|
|
194
|
+
<TouchableOpacity onPress={() => {
|
|
196
195
|
if (filterSelectedData(listTicket?.gifts).length > 0) {
|
|
197
196
|
exchangeTicket()
|
|
198
197
|
} else {
|
|
@@ -202,7 +201,7 @@ export default function m(props: EventExchange_ticket_resultProps): any {
|
|
|
202
201
|
<View style={{ ...LibStyle.elevation(2), marginTop: 10, height: 35, borderRadius: 5, backgroundColor: filterSelectedData(listTicket?.gifts).length > 0 ? LibStyle.colorGreen : LibStyle.colorBgGrey, justifyContent: 'center', alignItems: 'center', paddingHorizontal: 9 }} >
|
|
203
202
|
<Text allowFontScaling={false} style={{ fontFamily: "ArialBold", textAlign: "center", textAlignVertical: 'center', color: 'white', marginRight: 13, marginLeft: 10 }} >{esp.lang("event/exchange_ticket_result", "total_ticket", listTicket?.qty_ticket)}</Text>
|
|
204
203
|
</View>
|
|
205
|
-
</
|
|
204
|
+
</TouchableOpacity>
|
|
206
205
|
{/* } */}
|
|
207
206
|
</View>
|
|
208
207
|
|
package/event/exit.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// withHooks
|
|
2
|
-
import {
|
|
2
|
+
import { EventTms_homeProperty } from 'esoftplay/cache/event/tms_home/import';
|
|
3
3
|
import { LibCurl } from 'esoftplay/cache/lib/curl/import';
|
|
4
4
|
import { LibLoading } from 'esoftplay/cache/lib/loading/import';
|
|
5
5
|
import { LibNavigation } from 'esoftplay/cache/lib/navigation/import';
|
|
@@ -11,18 +11,18 @@ import React, { useEffect } from 'react';
|
|
|
11
11
|
import { View } from 'react-native';
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
export interface
|
|
14
|
+
export interface EventTms_outArgs {
|
|
15
15
|
|
|
16
16
|
}
|
|
17
|
-
export interface
|
|
17
|
+
export interface EventTms_outProps {
|
|
18
18
|
|
|
19
19
|
}
|
|
20
|
-
export default function m(props:
|
|
20
|
+
export default function m(props: EventTms_outProps): any {
|
|
21
21
|
const { scan_type, url_ticket_update, url_ticket_detail, price_type, gate_type, qr_code, event_id, email, selectGate, typeScanner, event_title, qty, configPriority }: any = LibNavigation.getArgsAll<any>(props)
|
|
22
22
|
|
|
23
23
|
let args = {
|
|
24
24
|
selectGate: selectGate,
|
|
25
|
-
fromPage: '
|
|
25
|
+
fromPage: 'event/tms_home',
|
|
26
26
|
event_id: event_id,
|
|
27
27
|
event_title: event_title,
|
|
28
28
|
typeScanner: typeScanner,
|
|
@@ -39,7 +39,7 @@ export default function m(props: EventExitProps): any {
|
|
|
39
39
|
}, [])
|
|
40
40
|
|
|
41
41
|
function loadData() {
|
|
42
|
-
|
|
42
|
+
EventTms_homeProperty.addCounterOutScan(1, "0")
|
|
43
43
|
|
|
44
44
|
let post = {
|
|
45
45
|
event_id: event_id,
|
|
@@ -74,12 +74,12 @@ export default function m(props: EventExitProps): any {
|
|
|
74
74
|
scanned_out: LibUtils.moment().format('YYYY-MM-DD HH:mm:ss'),
|
|
75
75
|
}
|
|
76
76
|
let urlOut = "event_tms_out_confirm"
|
|
77
|
-
LibNavigation.replace('event/
|
|
77
|
+
LibNavigation.replace('event/tms_out_success', { data: finalData, ...args, url: urlOut, post: postOut })
|
|
78
78
|
} else {
|
|
79
|
-
LibNavigation.replace('event/
|
|
79
|
+
LibNavigation.replace('event/tms_out_list', { data: finalData, ...args })
|
|
80
80
|
}
|
|
81
81
|
}, (error) => {
|
|
82
|
-
LibNavigation.replace('event/
|
|
82
|
+
LibNavigation.replace('event/tms_out_failed', { msgError: error, ...args, postGetData: post })
|
|
83
83
|
}, 1)
|
|
84
84
|
}
|
|
85
85
|
|
package/event/exit_failed.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// withHooks
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { EventTms_homeProperty } from 'esoftplay/cache/event/tms_home/import';
|
|
5
5
|
import { LibCurl } from 'esoftplay/cache/lib/curl/import';
|
|
6
6
|
import { LibDialog } from 'esoftplay/cache/lib/dialog/import';
|
|
7
7
|
import { LibNavigation } from 'esoftplay/cache/lib/navigation/import';
|
|
@@ -15,23 +15,23 @@ import React, { useEffect } from 'react';
|
|
|
15
15
|
import { Pressable, ScrollView, Text, View } from 'react-native';
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
export interface
|
|
18
|
+
export interface EventTms_out_failedArgs {
|
|
19
19
|
|
|
20
20
|
}
|
|
21
|
-
export interface
|
|
21
|
+
export interface EventTms_out_failedProps {
|
|
22
22
|
|
|
23
23
|
}
|
|
24
|
-
export default function m(props:
|
|
24
|
+
export default function m(props: EventTms_out_failedProps): any {
|
|
25
25
|
const { scan_type, msgError, postGetData, url_ticket_update, url_ticket_detail, price_type, gate_type, event_id, selectGate, typeScanner, event_title, configPriority }: any = LibNavigation.getArgsAll<any>(props)
|
|
26
26
|
|
|
27
27
|
useEffect(() => {
|
|
28
|
-
|
|
28
|
+
EventTms_homeProperty.addCounterOutScanFailed(1, "0")
|
|
29
29
|
}, [])
|
|
30
30
|
|
|
31
31
|
function getBack() {
|
|
32
32
|
LibNavigation.replace('component/scanner', {
|
|
33
33
|
selectGate: selectGate,
|
|
34
|
-
fromPage: '
|
|
34
|
+
fromPage: 'event/tms_home',
|
|
35
35
|
event_id: event_id,
|
|
36
36
|
event_title: event_title,
|
|
37
37
|
typeScanner: typeScanner,
|
|
@@ -87,10 +87,10 @@ export default function m(props: EventExit_failedProps): any {
|
|
|
87
87
|
msgError?.result?.length > 0 &&
|
|
88
88
|
<View style={{ marginTop: 15, flexDirection: 'row', justifyContent: 'space-between', backgroundColor: '#37c2d0', borderTopLeftRadius: 10, borderTopRightRadius: 10 }}>
|
|
89
89
|
<View style={{ flex: 1, justifyContent: 'center', borderRightWidth: 1, borderColor: LibStyle.colorBgGrey, paddingVertical: 5, padding: 5 }}>
|
|
90
|
-
<Text allowFontScaling={false} style={{ fontWeight: 'bold', textAlign: 'center', fontSize: 14 }}>{esp.lang("event/
|
|
90
|
+
<Text allowFontScaling={false} style={{ fontWeight: 'bold', textAlign: 'center', fontSize: 14 }}>{esp.lang("event/tms_out_failed", "type")}</Text>
|
|
91
91
|
</View>
|
|
92
92
|
<View style={{ flex: 1, justifyContent: 'center', paddingVertical: 5 }}>
|
|
93
|
-
<Text allowFontScaling={false} style={{ fontWeight: 'bold', textAlign: 'center', fontSize: 14 }}>{esp.lang("event/
|
|
93
|
+
<Text allowFontScaling={false} style={{ fontWeight: 'bold', textAlign: 'center', fontSize: 14 }}>{esp.lang("event/tms_out_failed", "time")}</Text>
|
|
94
94
|
</View>
|
|
95
95
|
</View>
|
|
96
96
|
}
|
|
@@ -116,15 +116,15 @@ export default function m(props: EventExit_failedProps): any {
|
|
|
116
116
|
<View style={{ flexDirection: 'row', width: LibStyle.width - 40, marginVertical: 10, justifyContent: 'space-between' }}>
|
|
117
117
|
<Pressable onPress={() => {
|
|
118
118
|
|
|
119
|
-
LibDialog.warningConfirm(esp.lang("event/
|
|
119
|
+
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"), () => {
|
|
120
120
|
sendTelegram()
|
|
121
|
-
}, esp.lang("event/
|
|
121
|
+
}, esp.lang("event/tms_in_failed", "warn_no"), () => { })
|
|
122
122
|
|
|
123
123
|
}} 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) }}>
|
|
124
|
-
<Text allowFontScaling={false} style={{ textAlign: 'center', fontSize: 14, fontWeight: 'bold', color: "#fff" }}>{esp.lang("event/
|
|
124
|
+
<Text allowFontScaling={false} style={{ textAlign: 'center', fontSize: 14, fontWeight: 'bold', color: "#fff" }}>{esp.lang("event/tms_out_failed", "report_error")}</Text>
|
|
125
125
|
</Pressable>
|
|
126
126
|
<Pressable onPress={getBack} style={{ width: (LibStyle.width - 45) * 0.5, height: 43, borderRadius: 5, backgroundColor: LibStyle.colorGreen, justifyContent: 'center', alignContent: 'center', alignItems: 'center', ...LibStyle.elevation(10) }}>
|
|
127
|
-
<Text allowFontScaling={false} style={{ fontSize: 14, fontWeight: 'bold', color: "#fff" }}>{esp.lang("event/
|
|
127
|
+
<Text allowFontScaling={false} style={{ fontSize: 14, fontWeight: 'bold', color: "#fff" }}>{esp.lang("event/tms_out_failed", "back")}</Text>
|
|
128
128
|
</Pressable>
|
|
129
129
|
|
|
130
130
|
</View>
|
package/event/exit_list.tsx
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
// withHooks
|
|
2
2
|
|
|
3
3
|
import { applyStyle } from 'esoftplay';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { EventButton } from 'esoftplay/cache/event/button/import';
|
|
5
|
+
import { EventHeader } from 'esoftplay/cache/event/header/import';
|
|
6
6
|
import { LibIcon } from 'esoftplay/cache/lib/icon/import';
|
|
7
7
|
import { LibNavigation } from 'esoftplay/cache/lib/navigation/import';
|
|
8
8
|
import { LibObject } from 'esoftplay/cache/lib/object/import';
|
|
9
9
|
import { LibStyle } from 'esoftplay/cache/lib/style/import';
|
|
10
10
|
import { LibToastProperty } from 'esoftplay/cache/lib/toast/import';
|
|
11
11
|
import { LibUtils } from 'esoftplay/cache/lib/utils/import';
|
|
12
|
-
import {
|
|
12
|
+
import { EventOrder_itemProperty } from 'esoftplay/cache/event/order_item/import';
|
|
13
13
|
import { UserClass } from 'esoftplay/cache/user/class/import';
|
|
14
14
|
import esp from 'esoftplay/esp';
|
|
15
15
|
import useSafeState from 'esoftplay/state';
|
|
@@ -17,13 +17,13 @@ import React from 'react';
|
|
|
17
17
|
import { Platform, Pressable, ScrollView, Text, TouchableOpacity, View } from 'react-native';
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
export interface
|
|
20
|
+
export interface EventTms_out_listArgs {
|
|
21
21
|
|
|
22
22
|
}
|
|
23
|
-
export interface
|
|
23
|
+
export interface EventTms_out_listProps {
|
|
24
24
|
|
|
25
25
|
}
|
|
26
|
-
export default function m(props:
|
|
26
|
+
export default function m(props: EventTms_out_listProps): any {
|
|
27
27
|
const { data, scan_type, url_ticket_update, url_ticket_detail, price_type, gate_type, event_id, selectGate, typeScanner, event_title, configPriority }: any = LibNavigation.getArgsAll<any>(props)
|
|
28
28
|
const [result, setResult] = useSafeState<any>(data)
|
|
29
29
|
const [useAll, setUseAll] = useSafeState<boolean>(true)
|
|
@@ -35,15 +35,15 @@ export default function m(props: EventExit_listProps): any {
|
|
|
35
35
|
setResult(LibObject.set(result, item?.checked == 0 ? 1 : 0)('list', i, 'checked'))
|
|
36
36
|
setUseAll(false)
|
|
37
37
|
}} key={i} style={{ margin: 10, marginBottom: 10, marginTop: 5, padding: 10, borderRadius: 10, backgroundColor: LibStyle.colorPrimary, flexDirection: 'row', alignContent: 'center', alignItems: 'center', justifyContent: 'space-between' }}>
|
|
38
|
-
<Text allowFontScaling={false} numberOfLines={2} ellipsizeMode='tail' style={{ fontSize: 20, fontWeight: 'bold', flexWrap: 'wrap', color:
|
|
39
|
-
<LibIcon.Ionicons name={item?.checked == 1 ? 'checkmark-circle' : 'radio-button-off-outline'} size={26} color={
|
|
38
|
+
<Text allowFontScaling={false} numberOfLines={2} ellipsizeMode='tail' style={{ fontSize: 20, fontWeight: 'bold', flexWrap: 'wrap', color: EventOrder_itemProperty.textColor(item?.color), marginRight: 10 }}>{item?.price_name}</Text>
|
|
39
|
+
<LibIcon.Ionicons name={item?.checked == 1 ? 'checkmark-circle' : 'radio-button-off-outline'} size={26} color={EventOrder_itemProperty.textColor(item?.color)} />
|
|
40
40
|
</Pressable>
|
|
41
41
|
)
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
let args = {
|
|
45
45
|
selectGate: selectGate,
|
|
46
|
-
fromPage: '
|
|
46
|
+
fromPage: 'event/tms_home',
|
|
47
47
|
event_id: event_id,
|
|
48
48
|
event_title: event_title,
|
|
49
49
|
typeScanner: typeScanner,
|
|
@@ -59,7 +59,7 @@ export default function m(props: EventExit_listProps): any {
|
|
|
59
59
|
function quit(): void {
|
|
60
60
|
let a = result?.list?.filter((item: any) => item.checked == 1).map((it: any) => it.id)
|
|
61
61
|
if (a.length == 0) {
|
|
62
|
-
LibToastProperty.show(esp.lang("event/
|
|
62
|
+
LibToastProperty.show(esp.lang("event/tms_out_list", "select_ticket"))
|
|
63
63
|
return
|
|
64
64
|
} else {
|
|
65
65
|
let url = "event_tms_out_confirm"
|
|
@@ -72,13 +72,13 @@ export default function m(props: EventExit_listProps): any {
|
|
|
72
72
|
scanned_out: LibUtils.moment().format('YYYY-MM-DD HH:mm:ss'),
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
LibNavigation.replace('event/
|
|
75
|
+
LibNavigation.replace('event/tms_out_success', { ...args, url, post })
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
return (
|
|
80
80
|
<View style={{ flex: 1, backgroundColor: '#fff' }}>
|
|
81
|
-
<
|
|
81
|
+
<EventHeader title={esp.lang("event/tms_out_list", "header_title")} subtitle={esp.lang("event/tms_out_list", "exit_gate", data?.event_name)} />
|
|
82
82
|
<ScrollView style={{ marginTop: 20 }}>
|
|
83
83
|
{
|
|
84
84
|
result?.list?.map(renderItem)
|
|
@@ -98,13 +98,13 @@ export default function m(props: EventExit_listProps): any {
|
|
|
98
98
|
setResult(b)
|
|
99
99
|
setUseAll(useAll ? false : true)
|
|
100
100
|
}} style={applyStyle({ paddingHorizontal: 15, borderWidth: 1, borderColor: 'rgba(0, 0, 0, 0)', height: 35, borderRadius: 16, backgroundColor: useAll ? LibStyle.colorRed : LibStyle.colorGreen, flexDirection: 'row', alignItems: 'center', alignContent: 'center', justifyContent: 'center' })} >
|
|
101
|
-
<Text allowFontScaling={false} style={applyStyle({ fontFamily: "ArialBold", fontSize: 14, textAlign: "center", textAlignVertical: 'center', color: '#fff', marginRight: 15 })} >{useAll ? esp.lang("event/
|
|
101
|
+
<Text allowFontScaling={false} style={applyStyle({ fontFamily: "ArialBold", fontSize: 14, textAlign: "center", textAlignVertical: 'center', color: '#fff', marginRight: 15 })} >{useAll ? esp.lang("event/tms_in_list", "cancel_use") : esp.lang("event/tms_in_list", "use_all")}</Text>
|
|
102
102
|
<LibIcon.Ionicons size={18} color="#fff" name={useAll ? "close" : "checkmark-done"} />
|
|
103
103
|
</TouchableOpacity>
|
|
104
104
|
</View>
|
|
105
105
|
|
|
106
|
-
<
|
|
107
|
-
label={esp.lang("event/
|
|
106
|
+
<EventButton
|
|
107
|
+
label={esp.lang("event/tms_out_list", "exit")}
|
|
108
108
|
backgroundColor={LibStyle.colorRed}
|
|
109
109
|
onPress={() => {
|
|
110
110
|
quit()
|