esoftplay-event 0.0.1-c → 0.0.1-e
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/config.json +1 -1
- package/event/artist.tsx +3 -6
- package/event/detail.tsx +0 -44
- package/event/order.tsx +2 -1
- package/event/order_detail.tsx +2 -4
- package/event/order_detail_upgrade_payment.tsx +13 -7
- package/event/order_detail_waiting.tsx +21 -9
- package/event/order_share_to.tsx +2 -2
- package/event/scan_item.tsx +2 -2
- package/event/seat_map_new.tsx +313 -0
- package/event/test.tsx +240 -155
- package/event/ticket_list.tsx +8 -5
- package/event/ticket_list2.tsx +1 -1
- package/event/tms_check_ticket_result.tsx +5 -5
- package/event/tms_in_failed.tsx +1 -1
- package/id.json +5 -4
- package/package.json +1 -1
- package/event/entrance.tsx +0 -215
- package/event/entrance_again.tsx +0 -199
- package/event/entrance_failed.tsx +0 -190
- package/event/entrance_idcard.tsx +0 -199
- package/event/entrance_list.tsx +0 -264
- package/event/entrance_list_item.tsx +0 -88
- package/event/entrance_log.tsx +0 -130
- package/event/entrance_success.tsx +0 -153
- package/event/entrance_warning.tsx +0 -91
- package/event/exit.tsx +0 -91
- package/event/exit_failed.tsx +0 -135
- package/event/exit_list.tsx +0 -118
- package/event/exit_log.tsx +0 -130
- package/event/exit_success.tsx +0 -143
- package/event/exit_temporary.tsx +0 -226
- package/event/hall_in.tsx +0 -148
- package/event/hall_in_failed.tsx +0 -270
- package/event/hall_in_list.tsx +0 -222
- package/event/hall_in_log.tsx +0 -134
- package/event/hall_in_success.tsx +0 -132
- package/event/hall_out.tsx +0 -143
- package/event/hall_out_failed.tsx +0 -133
- package/event/hall_out_list.tsx +0 -215
- package/event/hall_out_log.tsx +0 -133
- package/event/hall_out_success.tsx +0 -130
- package/event/log.tsx +0 -433
- package/event/seat_map_test.tsx +0 -401
package/event/test.tsx
CHANGED
|
@@ -1,155 +1,240 @@
|
|
|
1
|
-
//
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
//
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
//
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
//
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
//
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
1
|
+
// withHooks
|
|
2
|
+
import { Canvas, Group, RoundedRect, Text, useFont } from '@shopify/react-native-skia';
|
|
3
|
+
import { EventButton } from 'esoftplay/cache/event/button/import';
|
|
4
|
+
import { EventHeader } from 'esoftplay/cache/event/header/import';
|
|
5
|
+
import { LibCurl } from 'esoftplay/cache/lib/curl/import';
|
|
6
|
+
import { LibIcon } from 'esoftplay/cache/lib/icon/import';
|
|
7
|
+
import { LibStyle } from 'esoftplay/cache/lib/style/import';
|
|
8
|
+
import { LibTextstyle } from 'esoftplay/cache/lib/textstyle/import';
|
|
9
|
+
import { UseMap } from 'esoftplay/cache/use/map/import';
|
|
10
|
+
import esp from 'esoftplay/esp';
|
|
11
|
+
import useLazyState from 'esoftplay/lazy';
|
|
12
|
+
import useSafeState from 'esoftplay/state';
|
|
13
|
+
import React, { useCallback, useEffect, useState } from 'react';
|
|
14
|
+
import { Dimensions, Pressable, ScrollView, View } from 'react-native';
|
|
15
|
+
import { TapGestureHandler, TapGestureHandlerStateChangeEvent } from 'react-native-gesture-handler';
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
export interface EventSeat_map_matrixArgs {
|
|
19
|
+
|
|
20
|
+
}
|
|
21
|
+
export interface EventSeat_map_matrixProps {
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
export default function m(props: any): any {
|
|
25
|
+
const deviceWidth = Dimensions.get('window').width;
|
|
26
|
+
const [selectedIdx, setSelectedIdx] = useState<number | null>(null);
|
|
27
|
+
const [scale, setScale] = useState(1);
|
|
28
|
+
const [boundingBox, setBoundingBox] = useSafeState({ "x1": 1, "x2": 2, "y1": 1, "y2": 2 })
|
|
29
|
+
const [data, setData, getData] = useSafeState<[number, number, string, number][]>([])
|
|
30
|
+
const initialBoxSize = 30;
|
|
31
|
+
const contentWidth = (boundingBox.x2 - (boundingBox.x1 - 1.1)) * initialBoxSize
|
|
32
|
+
const [stage, setStage] = useLazyState('')
|
|
33
|
+
|
|
34
|
+
// Scale boxSize so that contentWidth fits deviceWidth
|
|
35
|
+
const scaleToFit = deviceWidth / contentWidth;
|
|
36
|
+
const boxSize = initialBoxSize * scaleToFit;
|
|
37
|
+
|
|
38
|
+
// Recalculate xs, ys, width, height with scaled boxSize
|
|
39
|
+
const xsScaled = data.map(([x]) => isNaN(x) ? 0 : (boxSize) + (x * boxSize));
|
|
40
|
+
const ysScaled = data.map(([_, y]) => isNaN(y) ? 0 : (boxSize) + (y * boxSize));
|
|
41
|
+
|
|
42
|
+
const width = Math.max(deviceWidth, xsScaled.length && xsScaled.every(v => !isNaN(v)) ? Math.max(...xsScaled) + boxSize : boxSize * 2);
|
|
43
|
+
const height = ysScaled.length && ysScaled.every(v => !isNaN(v)) ? Math.max(...ysScaled) + boxSize : boxSize * 2;
|
|
44
|
+
|
|
45
|
+
const size: any = {
|
|
46
|
+
1: useFont(esp.assets('fonts/MonoSpace.ttf'), boxSize * 0.3),
|
|
47
|
+
2: useFont(esp.assets('fonts/MonoSpace.ttf'), boxSize * 0.3),
|
|
48
|
+
3: useFont(esp.assets('fonts/MonoSpace.ttf'), boxSize * 0.25),
|
|
49
|
+
4: useFont(esp.assets('fonts/MonoSpace.ttf'), boxSize * 0.2),
|
|
50
|
+
5: useFont(esp.assets('fonts/MonoSpace.ttf'), boxSize * 0.2),
|
|
51
|
+
6: useFont(esp.assets('fonts/MonoSpace.ttf'), boxSize * 0.15),
|
|
52
|
+
}
|
|
53
|
+
const handleTap = useCallback((event: TapGestureHandlerStateChangeEvent) => {
|
|
54
|
+
if (event.nativeEvent.state !== 5) return;
|
|
55
|
+
// Adjust tap coordinates for scale
|
|
56
|
+
const x = event.nativeEvent.x / scale;
|
|
57
|
+
const y = event.nativeEvent.y / scale;
|
|
58
|
+
for (let i = 0; i < data.length; i++) {
|
|
59
|
+
const [sx, sy, seatName, status] = data[i];
|
|
60
|
+
const xSize = (boxSize / 2) + (sx * boxSize);
|
|
61
|
+
const ySize = (boxSize / 2) + (sy * boxSize);
|
|
62
|
+
|
|
63
|
+
if (x >= xSize && x <= xSize + boxSize && y >= ySize && y <= ySize + boxSize) {
|
|
64
|
+
if (status == 0) {
|
|
65
|
+
setSelectedIdx(i);
|
|
66
|
+
} /* else {
|
|
67
|
+
setSelectedIdx(null);
|
|
68
|
+
} */
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
}
|
|
73
|
+
}, [data, boxSize, scale]);
|
|
74
|
+
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
new LibCurl("v3/event_seat", {
|
|
77
|
+
event_id: 398,
|
|
78
|
+
price_id: 1922,
|
|
79
|
+
ondate: "0000-00-00"
|
|
80
|
+
}, (res, msg) => {
|
|
81
|
+
setBoundingBox(res.metadata.bounding_box)
|
|
82
|
+
setData(res.layout.split(';').map((item: any) => item.split(',')).map(([x, y, seatName, status]: any) => [Number(x), Number(y), seatName, Number(status)]))
|
|
83
|
+
})
|
|
84
|
+
|
|
85
|
+
loadDataSeatmapBooked()
|
|
86
|
+
|
|
87
|
+
}, [])
|
|
88
|
+
|
|
89
|
+
function updateIndexByRes(data: any, res: any) {
|
|
90
|
+
const resArr = res.split(",").map((item: any) => item.trim()); // biar aman dari spasi
|
|
91
|
+
return data.map((row: any) => {
|
|
92
|
+
if (resArr.includes(row[2])) {
|
|
93
|
+
return [row[0], row[1], row[2], 3];
|
|
94
|
+
}
|
|
95
|
+
return row;
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
function loadDataSeatmapBooked() {
|
|
100
|
+
new LibCurl("v3/event_seat_booked", {
|
|
101
|
+
event_id: 398,
|
|
102
|
+
price_id: 1922,
|
|
103
|
+
ondate: "0000-00-00"
|
|
104
|
+
}, (res, msg) => {
|
|
105
|
+
let updated = updateIndexByRes(getData(), res)
|
|
106
|
+
setData(updated)
|
|
107
|
+
// esp.log({ updated, res });
|
|
108
|
+
}, (err) => {
|
|
109
|
+
esp.log({ err });
|
|
110
|
+
})
|
|
111
|
+
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
return (
|
|
115
|
+
<View key={scale} style={{ flex: 1, backgroundColor: LibStyle.colorBgGrey }} >
|
|
116
|
+
<EventHeader title={esp.lang("event/seat_map", "header_title")} />
|
|
117
|
+
<View style={{ flex: 1 }}>
|
|
118
|
+
<View style={{ marginBottom: 5, }}>
|
|
119
|
+
<ScrollView style={{ padding: 10, paddingLeft: 0, }} horizontal>
|
|
120
|
+
<UseMap
|
|
121
|
+
data={getLegends()}
|
|
122
|
+
renderItem={(item) => (
|
|
123
|
+
<View style={{ flexDirection: 'row', alignItems: 'center', marginLeft: 15, marginRight: 5 }} >
|
|
124
|
+
<View style={{ height: 20, width: 20, borderRadius: 2, borderWidth: 0.5, backgroundColor: item[0], marginRight: 8 }} />
|
|
125
|
+
<LibTextstyle textStyle='caption1' text={item[1]} />
|
|
126
|
+
</View>
|
|
127
|
+
)}
|
|
128
|
+
/>
|
|
129
|
+
</ScrollView>
|
|
130
|
+
</View>
|
|
131
|
+
<View style={{ height: 40, marginLeft: 20, marginRight: 20, backgroundColor: LibStyle.colorPrimary, marginBottom: 10, borderRadius: 2, justifyContent: 'center', alignItems: 'center' }} >
|
|
132
|
+
<LibTextstyle textStyle='body' style={{ color: 'white', fontWeight: 'bold' }} >{stage || esp.lang("event/seat_map", "front")}</LibTextstyle>
|
|
133
|
+
</View>
|
|
134
|
+
|
|
135
|
+
<ScrollView horizontal >
|
|
136
|
+
<ScrollView >
|
|
137
|
+
<TapGestureHandler onHandlerStateChange={handleTap}>
|
|
138
|
+
<View>
|
|
139
|
+
<Canvas
|
|
140
|
+
style={{
|
|
141
|
+
width: width * scale,
|
|
142
|
+
height: height * scale,
|
|
143
|
+
padding: 10,
|
|
144
|
+
backgroundColor: LibStyle.colorBgGrey,
|
|
145
|
+
|
|
146
|
+
}}>
|
|
147
|
+
{
|
|
148
|
+
data.map(([x, y, name, status], i) => {
|
|
149
|
+
const color = selectedIdx == i ? "#8EF67B" : getColorByStatus(status)
|
|
150
|
+
const xSize = (boxSize / 2) + (x * boxSize)
|
|
151
|
+
const ySize = (boxSize / 2) + (y * boxSize)
|
|
152
|
+
return (
|
|
153
|
+
<Group key={i}>
|
|
154
|
+
<RoundedRect
|
|
155
|
+
x={xSize - 1}
|
|
156
|
+
r={(boxSize + 2) * 0.1}
|
|
157
|
+
y={ySize - 1}
|
|
158
|
+
width={boxSize + 2}
|
|
159
|
+
transform={[{ scale }]}
|
|
160
|
+
height={boxSize + 2}
|
|
161
|
+
color={"#999"} />
|
|
162
|
+
<RoundedRect
|
|
163
|
+
x={xSize}
|
|
164
|
+
r={boxSize * 0.1}
|
|
165
|
+
y={ySize}
|
|
166
|
+
width={boxSize}
|
|
167
|
+
transform={[{ scale }]}
|
|
168
|
+
height={boxSize}
|
|
169
|
+
color={color} />
|
|
170
|
+
{name && size[name.length] && (
|
|
171
|
+
<Text
|
|
172
|
+
x={(xSize) + boxSize * (5 - name.length) * 0.1}
|
|
173
|
+
y={(ySize) + boxSize * 0.60}
|
|
174
|
+
color={"#020202"}
|
|
175
|
+
text={name}
|
|
176
|
+
transform={[{ scale }]}
|
|
177
|
+
font={size[name.length]} />
|
|
178
|
+
)}
|
|
179
|
+
</Group>
|
|
180
|
+
)
|
|
181
|
+
})
|
|
182
|
+
}
|
|
183
|
+
</Canvas>
|
|
184
|
+
</View>
|
|
185
|
+
</TapGestureHandler>
|
|
186
|
+
</ScrollView>
|
|
187
|
+
</ScrollView>
|
|
188
|
+
<View style={{ flexDirection: 'row', marginHorizontal: 12, height: 40, borderColor: '#060606', borderWidth: 1, borderRadius: 5, alignItems: 'center' }} >
|
|
189
|
+
<Pressable onPress={() => setScale((x) => x - 0.3)} style={{ height: 40, width: 40, alignItems: 'center', justifyContent: 'center' }} >
|
|
190
|
+
<LibIcon.SimpleLineIcons name='magnifier-remove' />
|
|
191
|
+
</Pressable>
|
|
192
|
+
<Pressable onPress={() => setScale((x) => x + 0.3)} style={{ height: 40, width: 40, alignItems: 'center', justifyContent: 'center' }} >
|
|
193
|
+
<LibIcon.SimpleLineIcons name='magnifier-add' />
|
|
194
|
+
</Pressable>
|
|
195
|
+
<View style={{ height: 40, width: 1, backgroundColor: '#060606', marginRight: 12 }} />
|
|
196
|
+
{/* <Text style={{}} >{esp.lang("event/seat_map", "selected", String(data.filter((x) => x == -1).length), qty)}</Text> */}
|
|
197
|
+
<LibTextstyle textStyle='callout'>{"Kursi terpilih"}</LibTextstyle>
|
|
198
|
+
</View>
|
|
199
|
+
<EventButton
|
|
200
|
+
backgroundColor={LibStyle.colorPrimary}
|
|
201
|
+
testID={"save_btn"}
|
|
202
|
+
style={{ margin: 7 }}
|
|
203
|
+
label={esp.lang("event/seat_map", "save")}
|
|
204
|
+
onPress={() => { }}
|
|
205
|
+
/>
|
|
206
|
+
</View>
|
|
207
|
+
</View>
|
|
208
|
+
)
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
function getLegends() {
|
|
212
|
+
const colors: any = [
|
|
213
|
+
["#fff", esp.lang("event/seat_map", "available"), 0],
|
|
214
|
+
["#8EF67B", esp.lang("event/seat_map", "chosen"), "-1"],
|
|
215
|
+
["#2EBBE8", esp.lang("event/seat_map", "reserved"), 3],
|
|
216
|
+
["#6C432C", esp.lang("event/seat_map", "chosen_by"), 7],
|
|
217
|
+
["#f1f2f3", esp.lang("event/seat_map", "way"), 5],
|
|
218
|
+
["#9FA1A4", esp.lang("event/seat_map", "not_sold"), 1],
|
|
219
|
+
["#6B71E6", esp.lang("event/seat_map", "seat_hold"), 2],
|
|
220
|
+
["#FF4866", esp.lang("event/seat_map", "wall"), 6],
|
|
221
|
+
["#FFA601", esp.lang("event/seat_map", "other_type"), 4],
|
|
222
|
+
["purple", esp.lang("event/seat_map", "stage"), 8]
|
|
223
|
+
]
|
|
224
|
+
return colors
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
function getColorByStatus(statuses: number) {
|
|
228
|
+
const colors: any = {
|
|
229
|
+
8: 'purple',
|
|
230
|
+
0: '#fff',
|
|
231
|
+
1: "#9FA1A4",
|
|
232
|
+
2: "#6B71E6",
|
|
233
|
+
3: "#2EBBE8",
|
|
234
|
+
4: "#FFA601",
|
|
235
|
+
5: "#fff",
|
|
236
|
+
6: "#FF4866",
|
|
237
|
+
7: "#6C432C"
|
|
238
|
+
}
|
|
239
|
+
return colors[statuses]
|
|
240
|
+
}
|
package/event/ticket_list.tsx
CHANGED
|
@@ -303,14 +303,17 @@ export default function m(props: EventTicket_listProps): any {
|
|
|
303
303
|
if (selectedTicket?.config && selectedTicket?.config?.seat_autopick == 1) {
|
|
304
304
|
checkAddition(dataPost)
|
|
305
305
|
} else {
|
|
306
|
-
LibNavigation.navigateForResult('event/seat_map', {
|
|
306
|
+
LibNavigation.navigateForResult(esp.isDebug("") ? 'event/seat_map_new' : 'event/seat_map', {
|
|
307
307
|
url: 'event_seat',
|
|
308
308
|
dataTicket: dataPost,
|
|
309
309
|
}).then((value) => {
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
310
|
+
if (esp.isDebug("")) {
|
|
311
|
+
dataPost.seat_label = value.seat_label
|
|
312
|
+
} else {
|
|
313
|
+
dataPost.row_id = value.row_id
|
|
314
|
+
dataPost.column_id = value.column_id
|
|
315
|
+
dataPost.seat_name = value.seat_name
|
|
316
|
+
}
|
|
314
317
|
checkAddition(dataPost)
|
|
315
318
|
})
|
|
316
319
|
}
|
package/event/ticket_list2.tsx
CHANGED
|
@@ -160,7 +160,7 @@ export default function m(props: EventTicket_list2Props): any {
|
|
|
160
160
|
const [ticketSeat, resetTicketSeat] = taskSeat((item: any) => new Promise((next) => {
|
|
161
161
|
if (item.use_seat == 1) {
|
|
162
162
|
if (item.adjacent_seats == 0) {
|
|
163
|
-
LibNavigation.navigateForResult('event/seat_map', {
|
|
163
|
+
LibNavigation.navigateForResult(esp.isDebug("") ? 'event/seat_map_new' : 'event/seat_map', {
|
|
164
164
|
url: 'event_seat',
|
|
165
165
|
dataTicket: {
|
|
166
166
|
...dataEvent,
|
|
@@ -78,7 +78,7 @@ export default function m(props: EventTms_check_ticket_resultProps): any {
|
|
|
78
78
|
item.tms_name != "" &&
|
|
79
79
|
<Text allowFontScaling={false} style={{ paddingHorizontal: 5, fontSize: 14 }}>{item.tms_name}</Text>
|
|
80
80
|
}
|
|
81
|
-
<Text allowFontScaling={false} style={{ paddingHorizontal: 5, fontSize: 14 }}>{item?.scanned_in != "0000-00-00 00:00:00" ? LibUtils.moment(item.scanned_in).serverFormat("DD MMM HH:mm:ss ") : esp.lang("event/tms_check_ticket_result", "not_scan_in")}</Text>
|
|
81
|
+
<Text allowFontScaling={false} style={{ paddingHorizontal: 5, fontSize: 14 }}>{item?.scanned_in != "0000-00-00 00:00:00" ? (LibUtils.moment(item.scanned_in).serverFormat("DD MMM HH:mm:ss ", item.timezone) + item.hasOwnProperty("timezone_locale") ? item?.timezone_locale : "") : esp.lang("event/tms_check_ticket_result", "not_scan_in")}</Text>
|
|
82
82
|
|
|
83
83
|
</View>
|
|
84
84
|
)
|
|
@@ -91,7 +91,7 @@ export default function m(props: EventTms_check_ticket_resultProps): any {
|
|
|
91
91
|
item.tms_name_out != null && item.tms_name_out != "" &&
|
|
92
92
|
<Text allowFontScaling={false} style={{ paddingHorizontal: 5, fontSize: 14 }}>{item.tms_name_out}</Text>
|
|
93
93
|
}
|
|
94
|
-
<Text allowFontScaling={false} style={{ paddingHorizontal: 5, fontSize: 14 }}>{item?.scanned_out != "0000-00-00 00:00:00" ? LibUtils.moment(item.scanned_out).serverFormat("DD MMM HH:mm:ss ") : esp.lang("event/tms_check_ticket_result", "not_scan_out")}</Text>
|
|
94
|
+
<Text allowFontScaling={false} style={{ paddingHorizontal: 5, fontSize: 14 }}>{item?.scanned_out != "0000-00-00 00:00:00" ? (LibUtils.moment(item.scanned_out).serverFormat("DD MMM HH:mm:ss ", item.timezone) + item.hasOwnProperty("timezone_locale") ? item?.timezone_locale : "") : esp.lang("event/tms_check_ticket_result", "not_scan_out")}</Text>
|
|
95
95
|
</View>
|
|
96
96
|
)
|
|
97
97
|
}
|
|
@@ -99,7 +99,7 @@ export default function m(props: EventTms_check_ticket_resultProps): any {
|
|
|
99
99
|
function renderTempOut(item: any, i: number) {
|
|
100
100
|
return (
|
|
101
101
|
<View key={i} style={{ borderRadius: 5, margin: 2, padding: 5, backgroundColor: i % 2 ? '#fff' : LibStyle.colorGrey, borderBottomWidth: 1, borderBottomColor: LibStyle.colorBgGrey }}>
|
|
102
|
-
<Text allowFontScaling={false} style={{ paddingHorizontal: 5, fontSize: 14 }}>{item.hasOwnProperty("scanned_out_temporary") && item?.scanned_out_temporary != "0000-00-00 00:00:00" ? LibUtils.moment(item.scanned_out_temporary).serverFormat("DD MMM HH:mm:ss ")
|
|
102
|
+
<Text allowFontScaling={false} style={{ paddingHorizontal: 5, fontSize: 14 }}>{item.hasOwnProperty("scanned_out_temporary") && item?.scanned_out_temporary != "0000-00-00 00:00:00" ? (LibUtils.moment(item.scanned_out_temporary).serverFormat("DD MMM HH:mm:ss ", item.timezone) + item.hasOwnProperty("timezone_locale") ? item?.timezone_locale : "") : esp.lang("event/tms_check_ticket_result", "notyet_scan_temp_out")}</Text>
|
|
103
103
|
</View>
|
|
104
104
|
)
|
|
105
105
|
}
|
|
@@ -119,7 +119,7 @@ export default function m(props: EventTms_check_ticket_resultProps): any {
|
|
|
119
119
|
item.tms_name != "" &&
|
|
120
120
|
<Text allowFontScaling={false} style={{ paddingHorizontal: 5, fontSize: 14 }}>{item.tms_name}</Text>
|
|
121
121
|
}
|
|
122
|
-
<Text allowFontScaling={false} style={{ paddingHorizontal: 5, fontSize: 14 }}>{item?.scanned_in != "0000-00-00 00:00:00" ? LibUtils.moment(item.scanned_in).serverFormat("DD MMM HH:mm:ss ") : esp.lang("event/tms_check_ticket_result", "not_scan_in")}</Text>
|
|
122
|
+
<Text allowFontScaling={false} style={{ paddingHorizontal: 5, fontSize: 14 }}>{item?.scanned_in != "0000-00-00 00:00:00" ? (LibUtils.moment(item.scanned_in).serverFormat("DD MMM HH:mm:ss ", item.timezone) + item.hasOwnProperty("timezone_locale") ? item?.timezone_locale : "") : esp.lang("event/tms_check_ticket_result", "not_scan_in")}</Text>
|
|
123
123
|
|
|
124
124
|
</View>
|
|
125
125
|
)
|
|
@@ -132,7 +132,7 @@ export default function m(props: EventTms_check_ticket_resultProps): any {
|
|
|
132
132
|
item.tms_name_out != "" &&
|
|
133
133
|
<Text allowFontScaling={false} style={{ paddingHorizontal: 5, fontSize: 14 }}>{item.tms_name_out}</Text>
|
|
134
134
|
}
|
|
135
|
-
<Text allowFontScaling={false} style={{ paddingHorizontal: 5, fontSize: 14 }}>{item?.scanned_out != "0000-00-00 00:00:00" ? LibUtils.moment(item.scanned_out).serverFormat("DD MMM HH:mm:ss ") : esp.lang("event/tms_check_ticket_result", "not_scan_out")}</Text>
|
|
135
|
+
<Text allowFontScaling={false} style={{ paddingHorizontal: 5, fontSize: 14 }}>{item?.scanned_out != "0000-00-00 00:00:00" ? (LibUtils.moment(item.scanned_out).serverFormat("DD MMM HH:mm:ss ", item.timezone) + item.hasOwnProperty("timezone_locale") ? item?.timezone_locale : "") : esp.lang("event/tms_check_ticket_result", "not_scan_out")}</Text>
|
|
136
136
|
|
|
137
137
|
</View>
|
|
138
138
|
)
|
package/event/tms_in_failed.tsx
CHANGED
|
@@ -145,7 +145,7 @@ export default function m(props: EventTms_in_failedProps): any {
|
|
|
145
145
|
<View style={{ flex: 1.2, justifyContent: 'center', paddingVertical: 5 }}>
|
|
146
146
|
{
|
|
147
147
|
item.scanned != "0000-00-00 00:00:00" &&
|
|
148
|
-
<Text allowFontScaling={false} style={{ textAlign: 'center', fontSize: 12 }}>{LibUtils.moment(item.scanned).localeFormat("DD MMM H:mm:ss ")}</Text>
|
|
148
|
+
<Text allowFontScaling={false} style={{ textAlign: 'center', fontSize: 12 }}>{LibUtils.moment(item.scanned).localeFormat("DD MMM H:mm:ss ") + item.timezone_locale != "" ? item.timezone_locale : ""}</Text>
|
|
149
149
|
}
|
|
150
150
|
</View>
|
|
151
151
|
<View style={{ flex: 2, justifyContent: 'center', borderLeftWidth: 1, borderColor: LibStyle.colorBgGrey, paddingVertical: 5 }}>
|
package/id.json
CHANGED
|
@@ -957,7 +957,7 @@
|
|
|
957
957
|
"leave_review": "Leave a Review",
|
|
958
958
|
"load_err": "Oops",
|
|
959
959
|
"location_empty": "Lokasi belum dipilih",
|
|
960
|
-
"not_allowed_ss": "Harap hindari membuat screenshot atau foto tiket. Tunjukkan tiket asli di aplikasi
|
|
960
|
+
"not_allowed_ss": "Harap hindari membuat screenshot atau foto tiket. Tunjukkan tiket asli di aplikasi %s saat masuk ke area event. Terima kasih!",
|
|
961
961
|
"not_now": "Nanti Saja",
|
|
962
962
|
"order_detail": "Order Detail",
|
|
963
963
|
"payment_instruction": "Petunjuk Pembayaran",
|
|
@@ -976,7 +976,7 @@
|
|
|
976
976
|
"select_domicile": "Pilih Domisili",
|
|
977
977
|
"select_gender": "Pilih Jenis Kelamin",
|
|
978
978
|
"send_to_email": "Kirim tiket ke email",
|
|
979
|
-
"share_msg": "Pastikan temanmu sudah mendownload dan mendaftar di
|
|
979
|
+
"share_msg": "Pastikan temanmu sudah mendownload dan mendaftar di %s",
|
|
980
980
|
"share_no": "Batal",
|
|
981
981
|
"share_ok": "Lanjutkan",
|
|
982
982
|
"share_ticket": "Bagikan Tiket ke Temanmu",
|
|
@@ -1135,7 +1135,7 @@
|
|
|
1135
1135
|
"btn_yes_alert_cant_share_ticket_to_myself": "Ok",
|
|
1136
1136
|
"btn_yes_alert_share_ticket": "Ya",
|
|
1137
1137
|
"click_here": "Klik disini",
|
|
1138
|
-
"in_member_bbo_page": "Yang terdapat pada halaman member
|
|
1138
|
+
"in_member_bbo_page": "Yang terdapat pada halaman member %s",
|
|
1139
1139
|
"load_error": "Oops!",
|
|
1140
1140
|
"msg_alert_cant_share_ticket_to_myself": "Anda tidak bisa membagikan tiket ke akun Anda sendiri",
|
|
1141
1141
|
"msg_alert_share_ticket": "Bagikan Tiket ini ?",
|
|
@@ -1149,7 +1149,7 @@
|
|
|
1149
1149
|
"title_alert_fault": "Kesalahan",
|
|
1150
1150
|
"title_alert_share_ticket": "Konfirmasi",
|
|
1151
1151
|
"title_curl_success": "Informasi",
|
|
1152
|
-
"title_share_ticket_to": "Bagikan Tiket ke sesama member
|
|
1152
|
+
"title_share_ticket_to": "Bagikan Tiket ke sesama member %s"
|
|
1153
1153
|
},
|
|
1154
1154
|
"event/order_share_to_detail": {
|
|
1155
1155
|
"back": "Kembali",
|
|
@@ -1428,6 +1428,7 @@
|
|
|
1428
1428
|
"message": "Apakan anda yakin ingin mereset tiket ini ?",
|
|
1429
1429
|
"not_scan_in": "Belum di scan masuk",
|
|
1430
1430
|
"not_scan_out": "Belum di scan keluar",
|
|
1431
|
+
"notyet_scan_temp_out": "Belum pernah scan keluar sementara",
|
|
1431
1432
|
"qr_info": "Informasi",
|
|
1432
1433
|
"qr_msg": "Kode QR belum pernah dipindai",
|
|
1433
1434
|
"reset": "RESET",
|