@movvjs/svelte-schedule-view 0.2.4 → 0.2.6-beta-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/.svelte-kit/__package__/i18n/locales/en.json +3 -1
  2. package/.svelte-kit/__package__/i18n/locales/ko.json +3 -1
  3. package/.svelte-kit/__package__/i18n/locales/vi.json +3 -1
  4. package/.svelte-kit/__package__/i18n/locales/zh-cn.json +3 -1
  5. package/.svelte-kit/__package__/i18n/locales/zh-tw.json +3 -1
  6. package/.svelte-kit/__package__/schedule-view/BookingInfo.svelte +49 -14
  7. package/.svelte-kit/__package__/schedule-view/PlaceSearch.svelte +21 -2
  8. package/.svelte-kit/__package__/schedule-view/api/common/index.d.ts +5 -1
  9. package/.svelte-kit/__package__/schedule-view/api/common/index.js +17 -3
  10. package/.svelte-kit/__package__/schedule-view/assets/scss/indie_booking.scss +58 -1
  11. package/.svelte-kit/__package__/schedule-view/components/flight-search/FlightSearch.svelte +193 -120
  12. package/.svelte-kit/__package__/schedule-view/components/flight-search/FlightSearch.svelte.d.ts +10 -2
  13. package/.svelte-kit/__package__/schedule-view/stores/booking.d.ts +2 -0
  14. package/.svelte-kit/__package__/schedule-view/stores/booking.js +2 -0
  15. package/.svelte-kit/__package__/schedule-view/types/flight.d.ts +1 -1
  16. package/.svelte-kit/ambient.d.ts +4 -0
  17. package/.svelte-kit/generated/server/internal.js +1 -1
  18. package/dist/i18n/locales/en.json +3 -1
  19. package/dist/i18n/locales/ko.json +3 -1
  20. package/dist/i18n/locales/vi.json +3 -1
  21. package/dist/i18n/locales/zh-cn.json +3 -1
  22. package/dist/i18n/locales/zh-tw.json +3 -1
  23. package/dist/schedule-view/BookingInfo.svelte +49 -14
  24. package/dist/schedule-view/PlaceSearch.svelte +21 -2
  25. package/dist/schedule-view/api/common/index.d.ts +5 -1
  26. package/dist/schedule-view/api/common/index.js +17 -3
  27. package/dist/schedule-view/assets/scss/indie_booking.scss +58 -1
  28. package/dist/schedule-view/components/flight-search/FlightSearch.svelte +193 -120
  29. package/dist/schedule-view/components/flight-search/FlightSearch.svelte.d.ts +10 -2
  30. package/dist/schedule-view/stores/booking.d.ts +2 -0
  31. package/dist/schedule-view/stores/booking.js +2 -0
  32. package/dist/schedule-view/types/flight.d.ts +1 -1
  33. package/package.json +3 -1
  34. package/src/lib/i18n/locales/en.json +3 -1
  35. package/src/lib/i18n/locales/ko.json +3 -1
  36. package/src/lib/i18n/locales/vi.json +3 -1
  37. package/src/lib/i18n/locales/zh-cn.json +3 -1
  38. package/src/lib/i18n/locales/zh-tw.json +3 -1
  39. package/src/lib/schedule-view/BookingInfo.svelte +51 -15
  40. package/src/lib/schedule-view/PlaceSearch.svelte +24 -1
  41. package/src/lib/schedule-view/api/common/index.ts +21 -3
  42. package/src/lib/schedule-view/assets/scss/indie_booking.scss +58 -1
  43. package/src/lib/schedule-view/components/flight-search/FlightSearch.svelte +208 -126
  44. package/src/lib/schedule-view/stores/booking.ts +6 -0
  45. package/src/lib/schedule-view/types/flight.ts +1 -1
  46. package/yarn.lock +334 -6
@@ -3,12 +3,12 @@ import { padStart, range } from "lodash-es";
3
3
  import { fade } from "svelte/transition";
4
4
  import { t } from "../../../i18n";
5
5
  import { dayjs } from "../../../dayjs";
6
- import { BookingAPI } from "../../api";
6
+ import { BookingAPI, CommonAPI } from "../../api";
7
7
  import { alert } from "../notifications";
8
8
  let on = false;
9
9
  let type = "AUTO";
10
10
  let dateTime;
11
- let iata;
11
+ let airport = { iata: null, code: null };
12
12
  let loading = false;
13
13
  let resolveFn;
14
14
  let arrivalDate;
@@ -29,15 +29,22 @@ let manualInput = "";
29
29
  let estimateDate;
30
30
  let hour = 0;
31
31
  let minute = 0;
32
+ let terminals = [];
33
+ let arrivalTerminal;
32
34
  export async function open(options) {
33
35
  return new Promise(async (resolve, reject) => {
34
36
  if (!options?.dateTime) {
35
37
  reject(new Error($t("flight.pleaseSelectDate")));
36
38
  return;
37
39
  }
40
+ if (!options?.airport?.iata && !options?.airport?.code) {
41
+ reject(new Error($t("flight.pleaseSelectAnAirport")));
42
+ return;
43
+ }
38
44
  resolveFn = resolve;
39
45
  dateTime = options.dateTime;
40
- iata = options.iata;
46
+ airport.iata = options.airport?.iata;
47
+ airport.code = options.airport?.code;
41
48
  manualInput = "";
42
49
  estimateDate = dayjs(dateTime);
43
50
  hour = estimateDate.hour();
@@ -45,15 +52,28 @@ export async function open(options) {
45
52
  flights = [];
46
53
  page = 1;
47
54
  arrivalDate = dayjs(dateTime).minute(0);
48
- if (iata) {
49
- type = "AUTO";
50
- fetchFlights();
55
+ terminals = [];
56
+ arrivalTerminal = null;
57
+ if (options.terminalOnly) {
58
+ changeType("TERMINAL");
51
59
  } else {
52
- type = "MANUAL";
60
+ if (airport.iata) {
61
+ changeType("AUTO");
62
+ } else {
63
+ changeType("MANUAL");
64
+ }
53
65
  }
54
66
  on = true;
55
67
  });
56
68
  }
69
+ function changeType(value) {
70
+ type = value;
71
+ if (type === "TERMINAL" || type === "MANUAL") {
72
+ fetchTerminals();
73
+ } else if (type === "AUTO") {
74
+ fetchFlights();
75
+ }
76
+ }
57
77
  function close() {
58
78
  on = false;
59
79
  }
@@ -61,7 +81,7 @@ async function fetchFlights() {
61
81
  loading = true;
62
82
  try {
63
83
  flights = await BookingAPI.searchFlights({
64
- iata,
84
+ iata: airport.iata,
65
85
  ymd: arrivalDate.format("YYYY-MM-DD"),
66
86
  time: arrivalDate.hour()
67
87
  });
@@ -72,6 +92,17 @@ async function fetchFlights() {
72
92
  loading = false;
73
93
  }
74
94
  }
95
+ async function fetchTerminals() {
96
+ try {
97
+ loading = true;
98
+ terminals = await CommonAPI.getPoiTerminals(airport.code);
99
+ } catch (e) {
100
+ alert.open({ text: e.message });
101
+ terminals = [];
102
+ } finally {
103
+ loading = false;
104
+ }
105
+ }
75
106
  async function subtractHour() {
76
107
  arrivalDate = arrivalDate.subtract(1, "hour");
77
108
  fetchFlights();
@@ -106,12 +137,26 @@ function save() {
106
137
  return;
107
138
  }
108
139
  const manualFlight = {
109
- iata,
140
+ iata: airport.iata ?? null,
110
141
  ymd: estimateDate.format("YYYY-MM-DD HH:mm:ss"),
111
142
  name: manualInput,
112
- selectType: "MANUAL"
143
+ selectType: "MANUAL",
144
+ arrivalTerminal
113
145
  };
114
146
  resolveFn(manualFlight);
147
+ } else if (type === "TERMINAL") {
148
+ if (!arrivalTerminal) {
149
+ alert.open({ text: $t("flight.selectTerminal") });
150
+ return;
151
+ }
152
+ const terminalFlight = {
153
+ iata: airport.iata ?? null,
154
+ ymd: estimateDate.format("YYYY-MM-DD HH:mm:ss"),
155
+ name: null,
156
+ selectType: "MANUAL",
157
+ arrivalTerminal
158
+ };
159
+ resolveFn(terminalFlight);
115
160
  }
116
161
  close();
117
162
  }
@@ -128,132 +173,160 @@ function save() {
128
173
  </div>
129
174
 
130
175
  <div class="contents pdMg">
131
- <div class="indie_tab_square_01_wrapper">
132
- <ul class="indie_tab_square_01">
133
- {#if iata}
134
- <li class:on={type === 'AUTO'}><a href={null} on:click={() => (type = 'AUTO')}>{$t('flight.selectFlightNo')}</a></li>
135
- {/if}
136
- <li class:on={type === 'MANUAL'}><a href={null} on:click={() => (type = 'MANUAL')}>{$t('flight.editManually')}</a></li>
137
- </ul>
138
- </div>
139
-
140
- {#if type === 'AUTO'}
141
- <div class="indie_flight_name_top_infos">
142
- <div class="infos">
143
- <p class="sbj">{$t('flight.arrivalDate')}</p>
144
- <p class="date">
145
- <span>{dayjs(arrivalDate).format('ll')}</span>
146
- <span>{dayjs(arrivalDate).format('HH:mm')}~{dayjs(arrivalDate).add(1, 'hour').format('HH:mm')}</span>
147
- </p>
148
- </div>
149
- <div class="btns">
150
- <button type="button" class="indie_btn_squre only prev" on:click={() => subtractHour()}>이전</button>
151
- <button type="button" class="indie_btn_squre only next" on:click={() => addHour()}>다음</button>
152
- </div>
153
- </div>
154
-
176
+ {#if type === 'TERMINAL'}
155
177
  {#if loading}
156
178
  <div class="indie_loading_common_box">
157
179
  <div class="indie_loader" />
158
180
  </div>
159
- {:else if !loading && flights.length === 0}
160
- <div class="indie_search_none_common_box">
161
- <p>{$t('flight.noFlightsWereFound')}</p>
162
- </div>
163
181
  {:else}
164
- <div bind:this={contentsEl$} class="indie_tab_squre_01_cont" in:fade={{ duration: 100, delay: 100 }}>
165
- <!-- 항공편 선택 -->
166
- <ul class="indie_flight_name_select_list">
167
- {#each flightsByPaging as item (item.name)}
168
- <li in:fade={{ duration: 100, delay: 100 }}>
169
- <div class="check">
170
- <input
171
- bind:group={flight}
172
- value={item}
173
- type="radio"
174
- class="indie_radio_box xs flight_b"
175
- name="f_choice"
176
- id="ch_{item.name}" />
177
- <label for="ch_{item.name}">
178
- <p class="flight">{item.name}</p>
179
- <div class="flight_time_box">
180
- <dl class="start">
181
- <dt>{item.departureAirport}</dt>
182
- <dd>
183
- <!-- TODO: 검색일 이전날짜인 경우 표현 -->
184
- {#if dayjs(item.departure).isBefore(arrivalDate, 'day')}
185
- <b>D-{arrivalDate.diff(dayjs(item.departure).format('YYYY-MM-DD'), 'd')}</b>
186
- {/if}
187
- {dayjs(item.departure).format('HH:mm')}
188
- </dd>
189
- </dl>
182
+ <select bind:value={arrivalTerminal} class="indie_select_nor w100">
183
+ <option value={null}>{$t('flight.selectTerminal')}</option>
184
+ {#each terminals as terminal}
185
+ <option value={terminal}>{terminal}</option>
186
+ {/each}
187
+ </select>
188
+ {/if}
189
+ {:else}
190
+ <div class="indie_tab_square_01_wrapper">
191
+ <ul class="indie_tab_square_01">
192
+ {#if !!airport.iata}
193
+ <li class:on={type === 'AUTO'}><a href={null} on:click={() => changeType('AUTO')}>{$t('flight.selectFlightNo')}</a></li>
194
+ {/if}
195
+ <li class:on={type === 'MANUAL'}><a href={null} on:click={() => changeType('MANUAL')}>{$t('flight.editManually')}</a></li>
196
+ </ul>
197
+ </div>
190
198
 
191
- <dl class="end">
192
- <dt>{item.arrivalAirport}</dt>
193
- <dd>{dayjs(item.arrive).format('HH:mm')}</dd>
194
- </dl>
195
- </div>
196
- </label>
197
- </div>
198
- </li>
199
- {/each}
200
- </ul>
199
+ {#if type === 'AUTO'}
200
+ <div class="indie_flight_name_top_infos">
201
+ <div class="infos">
202
+ <p class="sbj">{$t('flight.arrivalDate')}</p>
203
+ <p class="date">
204
+ <span>{dayjs(arrivalDate).format('ll')}</span>
205
+ <span>{dayjs(arrivalDate).format('HH:mm')}~{dayjs(arrivalDate).add(1, 'hour').format('HH:mm')}</span>
206
+ </p>
207
+ </div>
208
+ <div class="btns">
209
+ <button type="button" class="indie_btn_squre only prev" on:click={() => subtractHour()}>이전</button>
210
+ <button type="button" class="indie_btn_squre only next" on:click={() => addHour()}>다음</button>
211
+ </div>
201
212
  </div>
202
213
 
203
- <div class="indie_flight_paing_box" in:fade={{ duration: 100, delay: 100 }}>
204
- <div class="indie_paging_b">
205
- <button
206
- type="button"
207
- class="pg_left"
208
- style:visibility={page > 1 ? 'visible' : 'hidden'}
209
- on:click={() => (page = page > 1 ? page - 1 : page)}>이전</button>
210
- <input readonly type="text" class="txt_paging" value={page} />
211
- <span>/</span>
212
- <span class="last">{totalPage}</span>
213
- <button
214
- type="button"
215
- class="pg_right"
216
- style:visibility={page < totalPage ? 'visible' : 'hidden'}
217
- on:click={() => (page = page < totalPage ? page + 1 : page)}>
218
- 다음
219
- </button>
214
+ {#if loading}
215
+ <div class="indie_loading_common_box">
216
+ <div class="indie_loader" />
217
+ </div>
218
+ {:else if !loading && flights.length === 0}
219
+ <div class="indie_search_none_common_box">
220
+ <p>{$t('flight.noFlightsWereFound')}</p>
221
+ </div>
222
+ {:else}
223
+ <div bind:this={contentsEl$} class="indie_tab_squre_01_cont" in:fade={{ duration: 100, delay: 100 }}>
224
+ <!-- 항공편 선택 -->
225
+ <ul class="indie_flight_name_select_list">
226
+ {#each flightsByPaging as item (item.name)}
227
+ <li in:fade={{ duration: 100, delay: 100 }}>
228
+ <div class="check">
229
+ <input
230
+ bind:group={flight}
231
+ value={item}
232
+ type="radio"
233
+ class="indie_radio_box xs flight_b"
234
+ name="f_choice"
235
+ id="ch_{item.name}" />
236
+ <label for="ch_{item.name}">
237
+ <p class="flight">{item.name}</p>
238
+ <div class="flight_time_box">
239
+ <dl class="start">
240
+ <dt>{item.departureAirport}</dt>
241
+ <dd>
242
+ <!-- TODO: 검색일 이전날짜인 경우 표현 -->
243
+ {#if dayjs(item.departure).isBefore(arrivalDate, 'day')}
244
+ <b>D-{arrivalDate.diff(dayjs(item.departure).format('YYYY-MM-DD'), 'd')}</b>
245
+ {/if}
246
+ {dayjs(item.departure).format('HH:mm')}
247
+ </dd>
248
+ </dl>
249
+
250
+ <dl class="end">
251
+ <dt>{item.arrivalAirport}</dt>
252
+ <dd>{dayjs(item.arrive).format('HH:mm')}</dd>
253
+ </dl>
254
+ </div>
255
+ </label>
256
+ </div>
257
+ </li>
258
+ {/each}
259
+ </ul>
220
260
  </div>
221
- </div>
222
- {/if}
223
- {:else if type === 'MANUAL'}
224
- <div class="indie_tab_squre_01_cont">
225
- <!-- 항공편 직접입력 -->
226
- <input bind:value={manualInput} maxlength="15" type="text" class="indie_text_nor lg w100 mgt10" placeholder={$t('flight.flightNo')} />
227
261
 
228
- <div class="indie_flight_direct_input">
229
- <p class="tit">{$t('flight.estimatedTimeOfArrival')}</p>
262
+ <div class="indie_flight_paing_box" in:fade={{ duration: 100, delay: 100 }}>
263
+ <div class="indie_paging_b">
264
+ <button
265
+ type="button"
266
+ class="pg_left"
267
+ style:visibility={page > 1 ? 'visible' : 'hidden'}
268
+ on:click={() => (page = page > 1 ? page - 1 : page)}>이전</button>
269
+ <input readonly type="text" class="txt_paging" value={page} />
270
+ <span>/</span>
271
+ <span class="last">{totalPage}</span>
272
+ <button
273
+ type="button"
274
+ class="pg_right"
275
+ style:visibility={page < totalPage ? 'visible' : 'hidden'}
276
+ on:click={() => (page = page < totalPage ? page + 1 : page)}>
277
+ 다음
278
+ </button>
279
+ </div>
280
+ </div>
281
+ {/if}
282
+ {:else if type === 'MANUAL'}
283
+ <div class="indie_tab_squre_01_cont">
284
+ <!-- 항공편 직접입력 -->
285
+ <input bind:value={manualInput} maxlength="15" type="text" class="indie_text_nor w100 mgt10" placeholder={$t('flight.flightNo')} />
230
286
 
231
- <div class="gather_box">
232
- <div class="da_select_box">
233
- <button type="button" class="indie_btn_squre only prev" on:click={() => subtractDay()}>이전</button>
234
- <p class="date">{dayjs(estimateDate).format('YYYY.MM.DD')}</p>
235
- <button type="button" class="indie_btn_squre only next" on:click={() => addDay()}>다음</button>
287
+ {#if loading}
288
+ <div class="indie_loading_common_box">
289
+ <div class="indie_loader" />
236
290
  </div>
237
- <div class="indie_time_select_box triangle lg">
238
- <select bind:value={hour} on:change={() => onChangeEstimateTime()}>
239
- {#each range(0, 24, 1) as h}
240
- <option value={h}>{padStart(`${h}`, 2, '0')}</option>
241
- {/each}
242
- </select>
243
- <span>:</span>
244
- <select bind:value={minute} on:change={() => onChangeEstimateTime()}>
245
- {#each range(0, 60, 1) as m}
246
- <option value={m}>{padStart(`${m}`, 2, '0')}</option>
247
- {/each}
248
- </select>
291
+ {:else}
292
+ <select bind:value={arrivalTerminal} class="indie_select_nor w100 mgt5">
293
+ <option value={null}>{$t('flight.selectTerminal')}</option>
294
+ {#each terminals as terminal}
295
+ <option value={terminal}>{terminal}</option>
296
+ {/each}
297
+ </select>
298
+ {/if}
299
+
300
+ <div class="indie_flight_direct_input">
301
+ <p class="tit">{$t('flight.estimatedTimeOfArrival')}</p>
302
+
303
+ <div class="gather_box">
304
+ <div class="da_select_box">
305
+ <button type="button" class="indie_btn_squre only prev" on:click={() => subtractDay()}>이전</button>
306
+ <p class="date">{dayjs(estimateDate).format('YYYY.MM.DD')}</p>
307
+ <button type="button" class="indie_btn_squre only next" on:click={() => addDay()}>다음</button>
308
+ </div>
309
+ <div class="indie_time_select_box triangle lg">
310
+ <select bind:value={hour} on:change={() => onChangeEstimateTime()}>
311
+ {#each range(0, 24, 1) as h}
312
+ <option value={h}>{padStart(`${h}`, 2, '0')}</option>
313
+ {/each}
314
+ </select>
315
+ <span>:</span>
316
+ <select bind:value={minute} on:change={() => onChangeEstimateTime()}>
317
+ {#each range(0, 60, 1) as m}
318
+ <option value={m}>{padStart(`${m}`, 2, '0')}</option>
319
+ {/each}
320
+ </select>
321
+ </div>
249
322
  </div>
250
- </div>
251
323
 
252
- <div class="indie_exclamation_mark_box sm black">
253
- <p class="normal">{$t('flight.directly')}</p>
324
+ <div class="indie_exclamation_mark_box sm black">
325
+ <p class="normal">{$t('flight.directly')}</p>
326
+ </div>
254
327
  </div>
255
328
  </div>
256
- </div>
329
+ {/if}
257
330
  {/if}
258
331
  </div>
259
332
 
@@ -4,7 +4,11 @@ declare const __propDef: {
4
4
  props: {
5
5
  open?: (options: {
6
6
  dateTime: string;
7
- iata: string;
7
+ airport: {
8
+ iata: string;
9
+ code: string;
10
+ };
11
+ terminalOnly: boolean;
8
12
  }) => Promise<Flight>;
9
13
  };
10
14
  events: {
@@ -18,7 +22,11 @@ export type FlightSearchSlots = typeof __propDef.slots;
18
22
  export default class FlightSearch extends SvelteComponent<FlightSearchProps, FlightSearchEvents, FlightSearchSlots> {
19
23
  get open(): (options: {
20
24
  dateTime: string;
21
- iata: string;
25
+ airport: {
26
+ iata: string;
27
+ code: string;
28
+ };
29
+ terminalOnly: boolean;
22
30
  }) => Promise<Flight>;
23
31
  }
24
32
  export {};
@@ -53,6 +53,7 @@ export declare const originalBooking: {
53
53
  selectedPrice: import("svelte/store").Writable<SearchPriceV2>;
54
54
  isModifiable: import("svelte/store").Readable<boolean>;
55
55
  priceDifference: import("svelte/store").Readable<number>;
56
+ isFlightService: import("svelte/store").Readable<boolean>;
56
57
  hour: {
57
58
  subscribe: (this: void, run: import("svelte/store").Subscriber<number>, invalidate?: import("svelte/store").Invalidator<number>) => import("svelte/store").Unsubscriber;
58
59
  set(hour: number): void;
@@ -138,6 +139,7 @@ export declare const copiedBooking: {
138
139
  selectedPrice: import("svelte/store").Writable<SearchPriceV2>;
139
140
  isModifiable: import("svelte/store").Readable<boolean>;
140
141
  priceDifference: import("svelte/store").Readable<number>;
142
+ isFlightService: import("svelte/store").Readable<boolean>;
141
143
  hour: {
142
144
  subscribe: (this: void, run: import("svelte/store").Subscriber<number>, invalidate?: import("svelte/store").Invalidator<number>) => import("svelte/store").Unsubscriber;
143
145
  set(hour: number): void;
@@ -70,6 +70,7 @@ function createBookingStore(bookingDTO) {
70
70
  const isBabySeatServiceAvailable = derived(availableExtraServices, $availableExtraServices => $availableExtraServices.some(extra => extra.type === ExtraServiceType.baby));
71
71
  // 피켓 서비스 가능 여부
72
72
  const isPicketServiceAvailable = derived(availableExtraServices, $availableExtraServices => $availableExtraServices.some(extra => extra.type === ExtraServiceType.picket));
73
+ const isFlightService = derived(booking, $booking => $booking?.serviceType === BookingServiceType.pickup || $booking?.serviceType === BookingServiceType.sending);
73
74
  // 금액 정보
74
75
  const price = derived(booking, $booking => {
75
76
  const beforePrice = isNumber($booking?.price) ? $booking.price : null;
@@ -303,6 +304,7 @@ function createBookingStore(bookingDTO) {
303
304
  selectedPrice,
304
305
  isModifiable,
305
306
  priceDifference,
307
+ isFlightService,
306
308
  // subscribe & set
307
309
  hour,
308
310
  minute,
@@ -6,6 +6,7 @@ interface BaseFlight {
6
6
  name: string;
7
7
  iata: string;
8
8
  selectType: 'AUTO' | 'MANUAL';
9
+ arrivalTerminal?: string;
9
10
  }
10
11
  export interface FlightAuto extends BaseFlight {
11
12
  selectType: 'AUTO';
@@ -16,7 +17,6 @@ export interface FlightAuto extends BaseFlight {
16
17
  arrivalAirport: string;
17
18
  departureAirport: string;
18
19
  delay: boolean;
19
- arrivalTerminal: string;
20
20
  }
21
21
  export interface FlightManual extends BaseFlight {
22
22
  selectType: 'MANUAL';
@@ -118,6 +118,8 @@ declare module '$env/static/private' {
118
118
  export const npm_package_devDependencies__types_lodash_es: string;
119
119
  export const npm_config_node_gyp: string;
120
120
  export const XPC_SERVICE_NAME: string;
121
+ export const npm_package_dependencies__turf_helpers: string;
122
+ export const npm_package_dependencies__turf_center: string;
121
123
  export const npm_package_devDependencies__sveltejs_adapter_auto: string;
122
124
  export const npm_package_version: string;
123
125
  export const VSCODE_INJECTION: string;
@@ -285,6 +287,8 @@ declare module '$env/dynamic/private' {
285
287
  npm_package_devDependencies__types_lodash_es: string;
286
288
  npm_config_node_gyp: string;
287
289
  XPC_SERVICE_NAME: string;
290
+ npm_package_dependencies__turf_helpers: string;
291
+ npm_package_dependencies__turf_center: string;
288
292
  npm_package_devDependencies__sveltejs_adapter_auto: string;
289
293
  npm_package_version: string;
290
294
  VSCODE_INJECTION: string;
@@ -21,7 +21,7 @@ export const options = {
21
21
  app: ({ head, body, assets, nonce, env }) => "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\" />\n\t\t<link rel=\"icon\" href=\"" + assets + "/favicon.png\" />\n\t\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n\t\t<meta name=\"referrer\" content=\"no-referrer\" />\n\t\t" + head + "\n\t</head>\n\t<body data-sveltekit-preload-data=\"hover\">\n\t\t<div>" + body + "</div>\n\t</body>\n</html>\n",
22
22
  error: ({ status, message }) => "<!doctype html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\" />\n\t\t<title>" + message + "</title>\n\n\t\t<style>\n\t\t\tbody {\n\t\t\t\t--bg: white;\n\t\t\t\t--fg: #222;\n\t\t\t\t--divider: #ccc;\n\t\t\t\tbackground: var(--bg);\n\t\t\t\tcolor: var(--fg);\n\t\t\t\tfont-family:\n\t\t\t\t\tsystem-ui,\n\t\t\t\t\t-apple-system,\n\t\t\t\t\tBlinkMacSystemFont,\n\t\t\t\t\t'Segoe UI',\n\t\t\t\t\tRoboto,\n\t\t\t\t\tOxygen,\n\t\t\t\t\tUbuntu,\n\t\t\t\t\tCantarell,\n\t\t\t\t\t'Open Sans',\n\t\t\t\t\t'Helvetica Neue',\n\t\t\t\t\tsans-serif;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t.error {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tmax-width: 32rem;\n\t\t\t\tmargin: 0 1rem;\n\t\t\t}\n\n\t\t\t.status {\n\t\t\t\tfont-weight: 200;\n\t\t\t\tfont-size: 3rem;\n\t\t\t\tline-height: 1;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: -0.05rem;\n\t\t\t}\n\n\t\t\t.message {\n\t\t\t\tborder-left: 1px solid var(--divider);\n\t\t\t\tpadding: 0 0 0 1rem;\n\t\t\t\tmargin: 0 0 0 1rem;\n\t\t\t\tmin-height: 2.5rem;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t}\n\n\t\t\t.message h1 {\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 1em;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t@media (prefers-color-scheme: dark) {\n\t\t\t\tbody {\n\t\t\t\t\t--bg: #222;\n\t\t\t\t\t--fg: #ddd;\n\t\t\t\t\t--divider: #666;\n\t\t\t\t}\n\t\t\t}\n\t\t</style>\n\t</head>\n\t<body>\n\t\t<div class=\"error\">\n\t\t\t<span class=\"status\">" + status + "</span>\n\t\t\t<div class=\"message\">\n\t\t\t\t<h1>" + message + "</h1>\n\t\t\t</div>\n\t\t</div>\n\t</body>\n</html>\n"
23
23
  },
24
- version_hash: "173ovcu"
24
+ version_hash: "wtuul9"
25
25
  };
26
26
 
27
27
  export async function get_hooks() {
@@ -20,7 +20,7 @@
20
20
  "file": "File",
21
21
  "fileUpload": "Upload file",
22
22
  "firstName": "First name",
23
- "flight": "Flight",
23
+ "flight": "Flight Info",
24
24
  "guestName": "Guest Name",
25
25
  "hours": "{hour} hour(s)",
26
26
  "lastName": "Last name",
@@ -80,8 +80,10 @@
80
80
  "noFlightsWereFound": "No flights were found.",
81
81
  "pleaseEnterFlightNo": "Please enter flight No.",
82
82
  "pleaseSelectAFlightNo": "Please select a flight No.",
83
+ "pleaseSelectAnAirport": "Please select an airport.",
83
84
  "pleaseSelectDate": "Please select a date.",
84
85
  "selectFlightNo": "Select Flight No.",
86
+ "selectTerminal": "Please select a terminal.",
85
87
  "terminal": "Terminal {number}"
86
88
  },
87
89
  "placeholder": {
@@ -20,7 +20,7 @@
20
20
  "file": "파일",
21
21
  "fileUpload": "파일 업로드",
22
22
  "firstName": "이름",
23
- "flight": "항공편",
23
+ "flight": "항공편 정보",
24
24
  "guestName": "사용자명",
25
25
  "hours": "{hour} 시간",
26
26
  "lastName": "성",
@@ -67,8 +67,10 @@
67
67
  "noFlightsWereFound": "항공편을 찾을 수 없습니다.",
68
68
  "pleaseEnterFlightNo": "항공편명을 입력해주세요.",
69
69
  "pleaseSelectAFlightNo": "항공편명을 선택해주세요.",
70
+ "pleaseSelectAnAirport": "공항을 선택해주세요.",
70
71
  "pleaseSelectDate": "날짜를 선택해주세요.",
71
72
  "selectFlightNo": "항공편명 선택",
73
+ "selectTerminal": "터미널을 선택해주세요.",
72
74
  "terminal": "터미널 {number}"
73
75
  },
74
76
  "placeholder": {
@@ -20,7 +20,7 @@
20
20
  "file": "Tệp",
21
21
  "fileUpload": "Cập nhật dử liệu",
22
22
  "firstName": "Tên đầu tiên",
23
- "flight": " chuyến bay",
23
+ "flight": "Thông tin chuyến bay",
24
24
  "guestName": "Tên khách",
25
25
  "hours": "{hour} giờ",
26
26
  "lastName": "Họ",
@@ -67,8 +67,10 @@
67
67
  "noFlightsWereFound": "Không tìm thấy chuyến bay.",
68
68
  "pleaseEnterFlightNo": "Vui lòng nhập số chuyến bay",
69
69
  "pleaseSelectAFlightNo": "Vui lòng chọn số chuyến bay",
70
+ "pleaseSelectAnAirport": "Vui lòng chọn một sân bay.",
70
71
  "pleaseSelectDate": "Vui lòng chọn một ngày.",
71
72
  "selectFlightNo": "Chọn số chuyến bay",
73
+ "selectTerminal": "Vui lòng chọn một thiết bị đầu cuối.",
72
74
  "terminal": "Nhà ga số 2"
73
75
  },
74
76
  "placeholder": {
@@ -20,7 +20,7 @@
20
20
  "file": "档案",
21
21
  "fileUpload": "上传文件",
22
22
  "firstName": "名",
23
- "flight": "航班号",
23
+ "flight": "航班信息",
24
24
  "guestName": "乘客姓名",
25
25
  "hours": "{hour} 小时",
26
26
  "lastName": "姓",
@@ -67,8 +67,10 @@
67
67
  "noFlightsWereFound": "未找到航班。",
68
68
  "pleaseEnterFlightNo": "请输入航班号",
69
69
  "pleaseSelectAFlightNo": "请选择航班号",
70
+ "pleaseSelectAnAirport": "请选择一个机场。",
70
71
  "pleaseSelectDate": "请选择日期。",
71
72
  "selectFlightNo": "选择航班号",
73
+ "selectTerminal": "请选择一个终端。",
72
74
  "terminal": "第{number}航站楼"
73
75
  },
74
76
  "placeholder": {
@@ -20,7 +20,7 @@
20
20
  "file": "檔案",
21
21
  "fileUpload": "上傳文件",
22
22
  "firstName": "名",
23
- "flight": "航班號",
23
+ "flight": "航班資訊",
24
24
  "guestName": "乘客姓名",
25
25
  "hours": "{hour} 小時",
26
26
  "lastName": "姓",
@@ -67,8 +67,10 @@
67
67
  "noFlightsWereFound": "未找到航班。",
68
68
  "pleaseEnterFlightNo": "請輸入航班號碼",
69
69
  "pleaseSelectAFlightNo": "請選擇航班號碼",
70
+ "pleaseSelectAnAirport": "請選擇機場。",
70
71
  "pleaseSelectDate": "請選擇日期。",
71
72
  "selectFlightNo": "選擇航班號碼",
73
+ "selectTerminal": "請選擇一個終端。",
72
74
  "terminal": "第{number}航廈"
73
75
  },
74
76
  "placeholder": {