@phonghq/go-chat 1.0.22 → 1.0.24

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 (41) hide show
  1. package/README.md +1 -1
  2. package/dist/assets/icons/IconSetting.vue.d.ts +2 -0
  3. package/dist/chat/App.vue.d.ts +2 -0
  4. package/dist/chat/page/home/ChatList.vue.d.ts +1 -1
  5. package/dist/chat/page/home/ChatMessageItem.vue.d.ts +11 -0
  6. package/dist/chat/page/home/Home.vue.d.ts +3 -0
  7. package/dist/components/chat/call/Calling.vue.d.ts +2 -0
  8. package/dist/components/chat/common/switch/SwitchBase.vue.d.ts +14 -0
  9. package/dist/components/chat/common/tab/TabBase.vue.d.ts +30 -0
  10. package/dist/composable/useListConversations.d.ts +46 -0
  11. package/dist/constant/color.d.ts +2 -2
  12. package/dist/go-chat.es.js +28483 -28311
  13. package/dist/go-chat.umd.js +13 -13
  14. package/dist/style.css +1 -1
  15. package/dist/test/assets/icons/IconSetting.vue.js +33 -0
  16. package/dist/test/chat/App.vue.js +105 -77
  17. package/dist/test/chat/page/home/ChatList.vue.js +226 -124
  18. package/dist/test/chat/page/home/ChatMessage.vue.js +19 -164
  19. package/dist/test/chat/page/home/ChatMessageItem.vue.js +321 -0
  20. package/dist/test/chat/page/home/Home.vue.js +14 -8
  21. package/dist/test/chat/page/home/HomeHeader.vue.js +18 -12
  22. package/dist/test/chat/page/home/InputChat.vue.js +62 -33
  23. package/dist/test/components/chat/call/Calling.vue.js +19 -22
  24. package/dist/test/components/chat/common/switch/SwitchBase.vue.js +70 -0
  25. package/dist/test/components/chat/common/tab/TabBase.vue.js +85 -0
  26. package/dist/test/components/chat/select/SelectBase.vue.js +15 -17
  27. package/dist/test/composable/useInitData.js +7 -4
  28. package/dist/test/composable/useListConversations.js +122 -0
  29. package/dist/test/composable/usePlivo.js +9 -3
  30. package/dist/test/constant/color.js +4 -2
  31. package/dist/test/types/chat/call.js +2 -1
  32. package/dist/test/utils/chat/auth.js +14 -0
  33. package/dist/test/utils/chat/phone-string.js +1 -1
  34. package/dist/types/chat/auth.d.ts +2 -0
  35. package/dist/types/chat/call.d.ts +1 -0
  36. package/dist/types/chat/global.d.ts +2 -1
  37. package/dist/types/conversation.d.ts +1 -0
  38. package/dist/types/message.d.ts +5 -0
  39. package/dist/utils/chat/auth.d.ts +5 -0
  40. package/dist/utils/chat/phone-string.d.ts +1 -1
  41. package/package.json +1 -1
@@ -12,7 +12,7 @@ import Error from '../chat/page/error/Error.vue';
12
12
  import { currentPage, routerPush } from '../utils/chat/chat-router';
13
13
  import BaseSpin from '../components/chat/common/spin/BaseSpin.vue';
14
14
  import Calling from '../components/chat/call/Calling.vue';
15
- import { logout } from '../utils/chat/auth';
15
+ import { dataProfile, logout } from '../utils/chat/auth';
16
16
  import MobileFooter from '../components/chat/layout/mobile/Footer.vue';
17
17
  import '../style/index.scss';
18
18
  import { useDebounce } from '../utils/debounce';
@@ -100,7 +100,7 @@ const currentPageConfig = computed(() => {
100
100
  const responsiveRender = computed(() => {
101
101
  return props.response == 'mobile' ? props.response : responsiveObserver.value;
102
102
  });
103
- const list = computed(() => chatListRef.value?.listConversations ?? []);
103
+ const list = computed(() => chatListRef.value?.listConversationsAll ?? []);
104
104
  const unreadCount = computed(() => list.value?.reduce((total, cur) => total + (cur?.unread_count ?? 0), 0) ?? 0);
105
105
  const callStatus = computed(() => callingRef.value?.callStatus ?? null);
106
106
  const responsiveObserver = ref('tablet');
@@ -111,6 +111,7 @@ const customerDetailRef = ref(null);
111
111
  const homeComponentRef = ref(null);
112
112
  const chatListRef = ref(null);
113
113
  const selectReceiver = async (data) => {
114
+ console.log(data, 'datadata');
114
115
  if (receiverId.value != data?.receiver_id || responsiveRender.value === 'mobile') {
115
116
  if (currentPage.value != PAGE.HOME) {
116
117
  routerPush(PAGE.HOME);
@@ -144,7 +145,20 @@ const getResponsiveObserver = useDebounce(() => {
144
145
  }
145
146
  }
146
147
  }, 50);
147
- initPage({ props: props, response: props.response });
148
+ const handleInitPage = async () => {
149
+ await initPage({ props: props, response: props.response });
150
+ if (!dataProfile.value?.phone) {
151
+ emit('error:noPhoneTenant');
152
+ }
153
+ };
154
+ const handleEndCall = (data) => {
155
+ setTimeout(() => {
156
+ if (data?.id && data?.id == receiverId.value) {
157
+ homeComponentRef.value?.handleGetMessage({ resetList: true });
158
+ }
159
+ }, 3000);
160
+ };
161
+ handleInitPage();
148
162
  let __VLS_exposed;
149
163
  defineExpose({
150
164
  get unreadCount() {
@@ -153,6 +167,9 @@ defineExpose({
153
167
  get callStatus() {
154
168
  return callStatus.value;
155
169
  },
170
+ get callLabel() {
171
+ return callingRef.value?.label ?? '';
172
+ },
156
173
  getUserRemote: () => {
157
174
  return callingRef.value?.userRemoter ?? null;
158
175
  },
@@ -213,11 +230,13 @@ else if (__VLS_ctx.responsiveRender == 'mobile') {
213
230
  // @ts-ignore
214
231
  const __VLS_8 = __VLS_asFunctionalComponent(Calling, new Calling({
215
232
  ...{ 'onUserCalling': {} },
233
+ ...{ 'onEndCall': {} },
216
234
  ref: "callingRef",
217
235
  responsive: (__VLS_ctx.responsiveRender),
218
236
  }));
219
237
  const __VLS_9 = __VLS_8({
220
238
  ...{ 'onUserCalling': {} },
239
+ ...{ 'onEndCall': {} },
221
240
  ref: "callingRef",
222
241
  responsive: (__VLS_ctx.responsiveRender),
223
242
  }, ...__VLS_functionalComponentArgsRest(__VLS_8));
@@ -235,10 +254,12 @@ else if (__VLS_ctx.responsiveRender == 'mobile') {
235
254
  // @ts-ignore
236
255
  [responsiveRender, emit,];
237
256
  } });
257
+ const __VLS_14 = ({ endCall: {} },
258
+ { onEndCall: (__VLS_ctx.handleEndCall) });
238
259
  /** @type {typeof __VLS_ctx.callingRef} */ ;
239
- var __VLS_14 = {};
260
+ var __VLS_15 = {};
240
261
  // @ts-ignore
241
- [callingRef,];
262
+ [handleEndCall, callingRef,];
242
263
  var __VLS_10;
243
264
  if (__VLS_ctx.currentPageConfig?.backFunc) {
244
265
  // @ts-ignore
@@ -264,8 +285,8 @@ else if (__VLS_ctx.responsiveRender == 'mobile') {
264
285
  });
265
286
  /** @type {[typeof IconArrowLeft, ]} */ ;
266
287
  // @ts-ignore
267
- const __VLS_17 = __VLS_asFunctionalComponent(IconArrowLeft, new IconArrowLeft({}));
268
- const __VLS_18 = __VLS_17({}, ...__VLS_functionalComponentArgsRest(__VLS_17));
288
+ const __VLS_18 = __VLS_asFunctionalComponent(IconArrowLeft, new IconArrowLeft({}));
289
+ const __VLS_19 = __VLS_18({}, ...__VLS_functionalComponentArgsRest(__VLS_18));
269
290
  __VLS_asFunctionalElement(__VLS_elements.span, __VLS_elements.span)({
270
291
  ...{ class: "text-xl font-semibold text-chat-haze-900 ml-3" },
271
292
  });
@@ -278,114 +299,114 @@ else if (__VLS_ctx.responsiveRender == 'mobile') {
278
299
  });
279
300
  /** @type {[typeof ChatList, ]} */ ;
280
301
  // @ts-ignore
281
- const __VLS_21 = __VLS_asFunctionalComponent(ChatList, new ChatList({
302
+ const __VLS_22 = __VLS_asFunctionalComponent(ChatList, new ChatList({
282
303
  ...{ 'onSelectReceiver': {} },
283
304
  ref: "chatListRef",
284
305
  ...{ class: "w-full max-w-[500px] !bg-[#F9FAFC]" },
285
306
  responsive: (__VLS_ctx.responsiveRender),
286
307
  receiverId: (__VLS_ctx.receiverId),
287
308
  }));
288
- const __VLS_22 = __VLS_21({
309
+ const __VLS_23 = __VLS_22({
289
310
  ...{ 'onSelectReceiver': {} },
290
311
  ref: "chatListRef",
291
312
  ...{ class: "w-full max-w-[500px] !bg-[#F9FAFC]" },
292
313
  responsive: (__VLS_ctx.responsiveRender),
293
314
  receiverId: (__VLS_ctx.receiverId),
294
- }, ...__VLS_functionalComponentArgsRest(__VLS_21));
295
- let __VLS_24;
315
+ }, ...__VLS_functionalComponentArgsRest(__VLS_22));
296
316
  let __VLS_25;
297
- const __VLS_26 = ({ selectReceiver: {} },
317
+ let __VLS_26;
318
+ const __VLS_27 = ({ selectReceiver: {} },
298
319
  { onSelectReceiver: (__VLS_ctx.selectReceiver) });
299
320
  __VLS_asFunctionalDirective(__VLS_directives.vShow)(null, { ...__VLS_directiveBindingRestFields, value: (__VLS_ctx.currentPage == __VLS_ctx.PAGE.CHAT_LIST) }, null, null);
300
321
  /** @type {typeof __VLS_ctx.chatListRef} */ ;
301
- var __VLS_27 = {};
322
+ var __VLS_28 = {};
302
323
  // @ts-ignore
303
324
  [currentPage, PAGE, responsiveRender, receiverId, selectReceiver, chatListRef,];
304
- var __VLS_23;
325
+ var __VLS_24;
305
326
  /** @type {[typeof HomeComponent, ]} */ ;
306
327
  // @ts-ignore
307
- const __VLS_30 = __VLS_asFunctionalComponent(HomeComponent, new HomeComponent({
328
+ const __VLS_31 = __VLS_asFunctionalComponent(HomeComponent, new HomeComponent({
308
329
  ...{ 'onCall': {} },
309
330
  ref: "homeComponentRef",
310
331
  receiverId: (__VLS_ctx.receiverId),
311
332
  ...{ class: "h-full pt-4" },
312
333
  responsive: (__VLS_ctx.responsiveRender),
313
334
  }));
314
- const __VLS_31 = __VLS_30({
335
+ const __VLS_32 = __VLS_31({
315
336
  ...{ 'onCall': {} },
316
337
  ref: "homeComponentRef",
317
338
  receiverId: (__VLS_ctx.receiverId),
318
339
  ...{ class: "h-full pt-4" },
319
340
  responsive: (__VLS_ctx.responsiveRender),
320
- }, ...__VLS_functionalComponentArgsRest(__VLS_30));
321
- let __VLS_33;
341
+ }, ...__VLS_functionalComponentArgsRest(__VLS_31));
322
342
  let __VLS_34;
323
- const __VLS_35 = ({ call: {} },
343
+ let __VLS_35;
344
+ const __VLS_36 = ({ call: {} },
324
345
  { onCall: (__VLS_ctx.handleCall) });
325
346
  __VLS_asFunctionalDirective(__VLS_directives.vShow)(null, { ...__VLS_directiveBindingRestFields, value: (__VLS_ctx.currentPage == __VLS_ctx.PAGE.HOME) }, null, null);
326
347
  /** @type {typeof __VLS_ctx.homeComponentRef} */ ;
327
- var __VLS_36 = {};
348
+ var __VLS_37 = {};
328
349
  // @ts-ignore
329
350
  [currentPage, PAGE, responsiveRender, receiverId, handleCall, homeComponentRef,];
330
- var __VLS_32;
351
+ var __VLS_33;
331
352
  if (__VLS_ctx.currentPage == __VLS_ctx.PAGE.CUSTOMER_DETAIL) {
332
353
  // @ts-ignore
333
354
  [currentPage, PAGE,];
334
355
  /** @type {[typeof CustomerDetail, ]} */ ;
335
356
  // @ts-ignore
336
- const __VLS_39 = __VLS_asFunctionalComponent(CustomerDetail, new CustomerDetail({
357
+ const __VLS_40 = __VLS_asFunctionalComponent(CustomerDetail, new CustomerDetail({
337
358
  ref: "customerDetailRef",
338
359
  receiverId: (__VLS_ctx.receiverId),
339
- ...{ class: "h-full" },
360
+ ...{ class: "w-full h-full" },
340
361
  responsive: (__VLS_ctx.responsiveRender),
341
362
  }));
342
- const __VLS_40 = __VLS_39({
363
+ const __VLS_41 = __VLS_40({
343
364
  ref: "customerDetailRef",
344
365
  receiverId: (__VLS_ctx.receiverId),
345
- ...{ class: "h-full" },
366
+ ...{ class: "w-full h-full" },
346
367
  responsive: (__VLS_ctx.responsiveRender),
347
- }, ...__VLS_functionalComponentArgsRest(__VLS_39));
368
+ }, ...__VLS_functionalComponentArgsRest(__VLS_40));
348
369
  /** @type {typeof __VLS_ctx.customerDetailRef} */ ;
349
- var __VLS_42 = {};
370
+ var __VLS_43 = {};
350
371
  // @ts-ignore
351
372
  [responsiveRender, receiverId, customerDetailRef,];
352
- var __VLS_41;
373
+ var __VLS_42;
353
374
  }
354
375
  if (__VLS_ctx.currentPage == __VLS_ctx.PAGE.CUSTOMER_CHECK_IN) {
355
376
  // @ts-ignore
356
377
  [currentPage, PAGE,];
357
378
  /** @type {[typeof CustomerCheckIn, ]} */ ;
358
379
  // @ts-ignore
359
- const __VLS_45 = __VLS_asFunctionalComponent(CustomerCheckIn, new CustomerCheckIn({
360
- ...{ class: "h-full" },
380
+ const __VLS_46 = __VLS_asFunctionalComponent(CustomerCheckIn, new CustomerCheckIn({
381
+ ...{ class: "w-full h-full" },
361
382
  }));
362
- const __VLS_46 = __VLS_45({
363
- ...{ class: "h-full" },
364
- }, ...__VLS_functionalComponentArgsRest(__VLS_45));
383
+ const __VLS_47 = __VLS_46({
384
+ ...{ class: "w-full h-full" },
385
+ }, ...__VLS_functionalComponentArgsRest(__VLS_46));
365
386
  }
366
387
  if (__VLS_ctx.currentPage == __VLS_ctx.PAGE.CUSTOMER_APPOINTMENT) {
367
388
  // @ts-ignore
368
389
  [currentPage, PAGE,];
369
390
  /** @type {[typeof CustomerAppointment, ]} */ ;
370
391
  // @ts-ignore
371
- const __VLS_49 = __VLS_asFunctionalComponent(CustomerAppointment, new CustomerAppointment({
372
- ...{ class: "h-full" },
392
+ const __VLS_50 = __VLS_asFunctionalComponent(CustomerAppointment, new CustomerAppointment({
393
+ ...{ class: "w-full h-full" },
373
394
  }));
374
- const __VLS_50 = __VLS_49({
375
- ...{ class: "h-full" },
376
- }, ...__VLS_functionalComponentArgsRest(__VLS_49));
395
+ const __VLS_51 = __VLS_50({
396
+ ...{ class: "w-full h-full" },
397
+ }, ...__VLS_functionalComponentArgsRest(__VLS_50));
377
398
  }
378
399
  if (__VLS_ctx.currentPage != __VLS_ctx.PAGE.HOME) {
379
400
  // @ts-ignore
380
401
  [currentPage, PAGE,];
381
402
  /** @type {[typeof MobileFooter, ]} */ ;
382
403
  // @ts-ignore
383
- const __VLS_53 = __VLS_asFunctionalComponent(MobileFooter, new MobileFooter({
404
+ const __VLS_54 = __VLS_asFunctionalComponent(MobileFooter, new MobileFooter({
384
405
  ...{ class: "shrink-0" },
385
406
  }));
386
- const __VLS_54 = __VLS_53({
407
+ const __VLS_55 = __VLS_54({
387
408
  ...{ class: "shrink-0" },
388
- }, ...__VLS_functionalComponentArgsRest(__VLS_53));
409
+ }, ...__VLS_functionalComponentArgsRest(__VLS_54));
389
410
  }
390
411
  }
391
412
  else {
@@ -394,29 +415,29 @@ else {
394
415
  });
395
416
  /** @type {[typeof ChatList, ]} */ ;
396
417
  // @ts-ignore
397
- const __VLS_57 = __VLS_asFunctionalComponent(ChatList, new ChatList({
418
+ const __VLS_58 = __VLS_asFunctionalComponent(ChatList, new ChatList({
398
419
  ...{ 'onSelectReceiver': {} },
399
420
  ref: "chatListRef",
400
421
  ...{ class: "w-[38%] max-w-[500px] min-w-[450px]" },
401
422
  responsive: (__VLS_ctx.responsiveRender),
402
423
  receiverId: (__VLS_ctx.receiverId),
403
424
  }));
404
- const __VLS_58 = __VLS_57({
425
+ const __VLS_59 = __VLS_58({
405
426
  ...{ 'onSelectReceiver': {} },
406
427
  ref: "chatListRef",
407
428
  ...{ class: "w-[38%] max-w-[500px] min-w-[450px]" },
408
429
  responsive: (__VLS_ctx.responsiveRender),
409
430
  receiverId: (__VLS_ctx.receiverId),
410
- }, ...__VLS_functionalComponentArgsRest(__VLS_57));
411
- let __VLS_60;
431
+ }, ...__VLS_functionalComponentArgsRest(__VLS_58));
412
432
  let __VLS_61;
413
- const __VLS_62 = ({ selectReceiver: {} },
433
+ let __VLS_62;
434
+ const __VLS_63 = ({ selectReceiver: {} },
414
435
  { onSelectReceiver: (__VLS_ctx.selectReceiver) });
415
436
  /** @type {typeof __VLS_ctx.chatListRef} */ ;
416
- var __VLS_63 = {};
437
+ var __VLS_64 = {};
417
438
  // @ts-ignore
418
439
  [responsiveRender, receiverId, selectReceiver, chatListRef,];
419
- var __VLS_59;
440
+ var __VLS_60;
420
441
  __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
421
442
  ...{ class: "chat-box-white grow flex flex-col h-full pt-6 overflow-hidden" },
422
443
  });
@@ -444,8 +465,8 @@ else {
444
465
  });
445
466
  /** @type {[typeof IconArrowLeft, ]} */ ;
446
467
  // @ts-ignore
447
- const __VLS_66 = __VLS_asFunctionalComponent(IconArrowLeft, new IconArrowLeft({}));
448
- const __VLS_67 = __VLS_66({}, ...__VLS_functionalComponentArgsRest(__VLS_66));
468
+ const __VLS_67 = __VLS_asFunctionalComponent(IconArrowLeft, new IconArrowLeft({}));
469
+ const __VLS_68 = __VLS_67({}, ...__VLS_functionalComponentArgsRest(__VLS_67));
449
470
  __VLS_asFunctionalElement(__VLS_elements.span, __VLS_elements.span)({
450
471
  ...{ class: "text-xl font-semibold text-chat-haze-900 ml-3" },
451
472
  });
@@ -458,92 +479,94 @@ else {
458
479
  });
459
480
  /** @type {[typeof HomeComponent, ]} */ ;
460
481
  // @ts-ignore
461
- const __VLS_70 = __VLS_asFunctionalComponent(HomeComponent, new HomeComponent({
482
+ const __VLS_71 = __VLS_asFunctionalComponent(HomeComponent, new HomeComponent({
462
483
  ...{ 'onCall': {} },
463
484
  ref: "homeComponentRef",
464
485
  receiverId: (__VLS_ctx.receiverId),
465
486
  ...{ class: "h-full" },
466
487
  responsive: (__VLS_ctx.responsiveRender),
467
488
  }));
468
- const __VLS_71 = __VLS_70({
489
+ const __VLS_72 = __VLS_71({
469
490
  ...{ 'onCall': {} },
470
491
  ref: "homeComponentRef",
471
492
  receiverId: (__VLS_ctx.receiverId),
472
493
  ...{ class: "h-full" },
473
494
  responsive: (__VLS_ctx.responsiveRender),
474
- }, ...__VLS_functionalComponentArgsRest(__VLS_70));
475
- let __VLS_73;
495
+ }, ...__VLS_functionalComponentArgsRest(__VLS_71));
476
496
  let __VLS_74;
477
- const __VLS_75 = ({ call: {} },
497
+ let __VLS_75;
498
+ const __VLS_76 = ({ call: {} },
478
499
  { onCall: (__VLS_ctx.handleCall) });
479
500
  __VLS_asFunctionalDirective(__VLS_directives.vShow)(null, { ...__VLS_directiveBindingRestFields, value: (__VLS_ctx.currentPage == __VLS_ctx.PAGE.HOME) }, null, null);
480
501
  /** @type {typeof __VLS_ctx.homeComponentRef} */ ;
481
- var __VLS_76 = {};
502
+ var __VLS_77 = {};
482
503
  // @ts-ignore
483
504
  [currentPage, PAGE, responsiveRender, receiverId, handleCall, homeComponentRef,];
484
- var __VLS_72;
505
+ var __VLS_73;
485
506
  if (__VLS_ctx.currentPage == __VLS_ctx.PAGE.CUSTOMER_DETAIL) {
486
507
  // @ts-ignore
487
508
  [currentPage, PAGE,];
488
509
  /** @type {[typeof CustomerDetail, ]} */ ;
489
510
  // @ts-ignore
490
- const __VLS_79 = __VLS_asFunctionalComponent(CustomerDetail, new CustomerDetail({
511
+ const __VLS_80 = __VLS_asFunctionalComponent(CustomerDetail, new CustomerDetail({
491
512
  ref: "customerDetailRef",
492
513
  receiverId: (__VLS_ctx.receiverId),
493
514
  ...{ class: "h-full" },
494
515
  responsive: (__VLS_ctx.responsiveRender),
495
516
  }));
496
- const __VLS_80 = __VLS_79({
517
+ const __VLS_81 = __VLS_80({
497
518
  ref: "customerDetailRef",
498
519
  receiverId: (__VLS_ctx.receiverId),
499
520
  ...{ class: "h-full" },
500
521
  responsive: (__VLS_ctx.responsiveRender),
501
- }, ...__VLS_functionalComponentArgsRest(__VLS_79));
522
+ }, ...__VLS_functionalComponentArgsRest(__VLS_80));
502
523
  /** @type {typeof __VLS_ctx.customerDetailRef} */ ;
503
- var __VLS_82 = {};
524
+ var __VLS_83 = {};
504
525
  // @ts-ignore
505
526
  [responsiveRender, receiverId, customerDetailRef,];
506
- var __VLS_81;
527
+ var __VLS_82;
507
528
  }
508
529
  if (__VLS_ctx.currentPage == __VLS_ctx.PAGE.CUSTOMER_CHECK_IN) {
509
530
  // @ts-ignore
510
531
  [currentPage, PAGE,];
511
532
  /** @type {[typeof CustomerCheckIn, ]} */ ;
512
533
  // @ts-ignore
513
- const __VLS_85 = __VLS_asFunctionalComponent(CustomerCheckIn, new CustomerCheckIn({
534
+ const __VLS_86 = __VLS_asFunctionalComponent(CustomerCheckIn, new CustomerCheckIn({
514
535
  ...{ class: "h-full" },
515
536
  }));
516
- const __VLS_86 = __VLS_85({
537
+ const __VLS_87 = __VLS_86({
517
538
  ...{ class: "h-full" },
518
- }, ...__VLS_functionalComponentArgsRest(__VLS_85));
539
+ }, ...__VLS_functionalComponentArgsRest(__VLS_86));
519
540
  }
520
541
  if (__VLS_ctx.currentPage == __VLS_ctx.PAGE.CUSTOMER_APPOINTMENT) {
521
542
  // @ts-ignore
522
543
  [currentPage, PAGE,];
523
544
  /** @type {[typeof CustomerAppointment, ]} */ ;
524
545
  // @ts-ignore
525
- const __VLS_89 = __VLS_asFunctionalComponent(CustomerAppointment, new CustomerAppointment({
546
+ const __VLS_90 = __VLS_asFunctionalComponent(CustomerAppointment, new CustomerAppointment({
526
547
  ...{ class: "h-full" },
527
548
  }));
528
- const __VLS_90 = __VLS_89({
549
+ const __VLS_91 = __VLS_90({
529
550
  ...{ class: "h-full" },
530
- }, ...__VLS_functionalComponentArgsRest(__VLS_89));
551
+ }, ...__VLS_functionalComponentArgsRest(__VLS_90));
531
552
  }
532
553
  /** @type {[typeof Calling, ]} */ ;
533
554
  // @ts-ignore
534
- const __VLS_93 = __VLS_asFunctionalComponent(Calling, new Calling({
555
+ const __VLS_94 = __VLS_asFunctionalComponent(Calling, new Calling({
535
556
  ...{ 'onUserCalling': {} },
557
+ ...{ 'onEndCall': {} },
536
558
  ref: "callingRef",
537
559
  responsive: (__VLS_ctx.responsiveRender),
538
560
  }));
539
- const __VLS_94 = __VLS_93({
561
+ const __VLS_95 = __VLS_94({
540
562
  ...{ 'onUserCalling': {} },
563
+ ...{ 'onEndCall': {} },
541
564
  ref: "callingRef",
542
565
  responsive: (__VLS_ctx.responsiveRender),
543
- }, ...__VLS_functionalComponentArgsRest(__VLS_93));
544
- let __VLS_96;
566
+ }, ...__VLS_functionalComponentArgsRest(__VLS_94));
545
567
  let __VLS_97;
546
- const __VLS_98 = ({ userCalling: {} },
568
+ let __VLS_98;
569
+ const __VLS_99 = ({ userCalling: {} },
547
570
  { onUserCalling: (...[$event]) => {
548
571
  if (!!(!__VLS_ctx.isRouterReady))
549
572
  return;
@@ -555,11 +578,13 @@ else {
555
578
  // @ts-ignore
556
579
  [responsiveRender, emit,];
557
580
  } });
581
+ const __VLS_100 = ({ endCall: {} },
582
+ { onEndCall: (__VLS_ctx.handleEndCall) });
558
583
  /** @type {typeof __VLS_ctx.callingRef} */ ;
559
- var __VLS_99 = {};
584
+ var __VLS_101 = {};
560
585
  // @ts-ignore
561
- [callingRef,];
562
- var __VLS_95;
586
+ [handleEndCall, callingRef,];
587
+ var __VLS_96;
563
588
  }
564
589
  /** @type {__VLS_StyleScopedClasses['go-chat-main']} */ ;
565
590
  /** @type {__VLS_StyleScopedClasses['max-w-full']} */ ;
@@ -594,8 +619,11 @@ else {
594
619
  /** @type {__VLS_StyleScopedClasses['!bg-[#F9FAFC]']} */ ;
595
620
  /** @type {__VLS_StyleScopedClasses['h-full']} */ ;
596
621
  /** @type {__VLS_StyleScopedClasses['pt-4']} */ ;
622
+ /** @type {__VLS_StyleScopedClasses['w-full']} */ ;
597
623
  /** @type {__VLS_StyleScopedClasses['h-full']} */ ;
624
+ /** @type {__VLS_StyleScopedClasses['w-full']} */ ;
598
625
  /** @type {__VLS_StyleScopedClasses['h-full']} */ ;
626
+ /** @type {__VLS_StyleScopedClasses['w-full']} */ ;
599
627
  /** @type {__VLS_StyleScopedClasses['h-full']} */ ;
600
628
  /** @type {__VLS_StyleScopedClasses['shrink-0']} */ ;
601
629
  /** @type {__VLS_StyleScopedClasses['flex']} */ ;
@@ -627,7 +655,7 @@ else {
627
655
  /** @type {__VLS_StyleScopedClasses['h-full']} */ ;
628
656
  /** @type {__VLS_StyleScopedClasses['h-full']} */ ;
629
657
  // @ts-ignore
630
- var __VLS_15 = __VLS_14, __VLS_28 = __VLS_27, __VLS_37 = __VLS_36, __VLS_43 = __VLS_42, __VLS_64 = __VLS_63, __VLS_77 = __VLS_76, __VLS_83 = __VLS_82, __VLS_100 = __VLS_99;
658
+ var __VLS_16 = __VLS_15, __VLS_29 = __VLS_28, __VLS_38 = __VLS_37, __VLS_44 = __VLS_43, __VLS_65 = __VLS_64, __VLS_78 = __VLS_77, __VLS_84 = __VLS_83, __VLS_102 = __VLS_101;
631
659
  const __VLS_export = (await import('vue')).defineComponent({
632
660
  setup: () => (__VLS_exposed),
633
661
  __typeEmits: {},