@phonghq/go-chat 1.0.42 → 1.0.44

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 (114) hide show
  1. package/dist/assets/icons/IconPlan.vue.d.ts +13 -1
  2. package/dist/assets/icons/call/IconPhoneCancel.vue.d.ts +13 -1
  3. package/dist/assets/icons/customer-detail/IconPhone.vue.d.ts +13 -1
  4. package/dist/chat/App.vue.d.ts +13 -2
  5. package/dist/chat/page/home/ChatList.vue.d.ts +10 -0
  6. package/dist/chat/page/home/ChatMessageItem.vue.d.ts +1 -0
  7. package/dist/chat/page/home/ChatMessageItem2.vue.d.ts +19 -0
  8. package/dist/chat/page/home/Home.vue.d.ts +2 -0
  9. package/dist/chat/page/home/InputChat.vue.d.ts +2 -0
  10. package/dist/components/chat/call/Calling.vue.d.ts +4 -2
  11. package/dist/components/chat/common/tabs/TabBase.vue.d.ts +18 -0
  12. package/dist/components/common/drawer/DrawerBaseCustom.vue.d.ts +1 -1
  13. package/dist/components/ui/select/Select.vue.d.ts +20 -0
  14. package/dist/components/ui/select/SelectContent.vue.d.ts +24 -0
  15. package/dist/components/ui/select/SelectGroup.vue.d.ts +10 -0
  16. package/dist/components/ui/select/SelectItem.vue.d.ts +18 -0
  17. package/dist/components/ui/select/SelectItemText.vue.d.ts +10 -0
  18. package/dist/components/ui/select/SelectLabel.vue.d.ts +14 -0
  19. package/dist/components/ui/select/SelectScrollDownButton.vue.d.ts +14 -0
  20. package/dist/components/ui/select/SelectScrollUpButton.vue.d.ts +14 -0
  21. package/dist/components/ui/select/SelectSeparator.vue.d.ts +7 -0
  22. package/dist/components/ui/select/SelectTrigger.vue.d.ts +17 -0
  23. package/dist/components/ui/select/SelectValue.vue.d.ts +10 -0
  24. package/dist/components/ui/select/index.d.ts +11 -0
  25. package/dist/components/ui/tabs/Tabs.vue.d.ts +20 -0
  26. package/dist/components/ui/tabs/TabsContent.vue.d.ts +14 -0
  27. package/dist/components/ui/tabs/TabsList.vue.d.ts +14 -0
  28. package/dist/components/ui/tabs/TabsTrigger.vue.d.ts +14 -0
  29. package/dist/components/ui/tabs/index.d.ts +4 -0
  30. package/dist/composable/useDigibot.d.ts +1 -1
  31. package/dist/composable/useInitData.d.ts +5 -2
  32. package/dist/composable/useListConversations.d.ts +4 -1
  33. package/dist/composable/useListentEvent.d.ts +5 -0
  34. package/dist/composable/usePlivo.d.ts +1 -0
  35. package/dist/constant/color.d.ts +2 -2
  36. package/dist/go-chat.es.js +14663 -14004
  37. package/dist/go-chat.umd.js +15 -15
  38. package/dist/style.css +1 -1
  39. package/dist/test/assets/icons/IconPlan.vue.js +23 -3
  40. package/dist/test/assets/icons/IconUser.vue.js +25 -0
  41. package/dist/test/assets/icons/call/IconPhone.vue.js +6 -19
  42. package/dist/test/assets/icons/call/IconPhoneCancel.vue.js +32 -21
  43. package/dist/test/assets/icons/customer-detail/IconPhone.vue.js +23 -3
  44. package/dist/test/chat/App.vue.js +303 -282
  45. package/dist/test/chat/page/customer-check-in/CustomerCheckIn.vue.js +3 -1
  46. package/dist/test/chat/page/customer-detail/CustomerDetail.vue.js +4 -4
  47. package/dist/test/chat/page/home/ChatList.vue.js +113 -43
  48. package/dist/test/chat/page/home/ChatMessage.vue.js +10 -1
  49. package/dist/test/chat/page/home/ChatMessageItem.vue.js +75 -83
  50. package/dist/test/chat/page/home/ChatMessageItem2.vue.js +351 -0
  51. package/dist/test/chat/page/home/Home.vue.js +29 -9
  52. package/dist/test/chat/page/home/HomeHeader.vue.js +8 -4
  53. package/dist/test/chat/page/home/InputChat.vue.js +58 -37
  54. package/dist/test/components/chat/call/Calling.vue.js +117 -71
  55. package/dist/test/components/chat/common/tab/TabBase.vue.js +1 -0
  56. package/dist/test/components/chat/common/tabs/TabBase.vue.js +92 -0
  57. package/dist/test/components/chat/customer/Avatar.vue.js +23 -4
  58. package/dist/test/components/chat/layout/mobile/Footer.vue.js +6 -1
  59. package/dist/test/components/common/drawer/DrawerBaseCustom.vue.js +1 -0
  60. package/dist/test/components/common/select/SelectBase.vue.js +139 -0
  61. package/dist/test/components/ui/select/Select.vue.js +49 -0
  62. package/dist/test/components/ui/select/SelectContent.vue.js +98 -0
  63. package/dist/test/components/ui/select/SelectGroup.vue.js +37 -0
  64. package/dist/test/components/ui/select/SelectItem.vue.js +86 -0
  65. package/dist/test/components/ui/select/SelectItemText.vue.js +37 -0
  66. package/dist/test/components/ui/select/SelectLabel.vue.js +40 -0
  67. package/dist/test/components/ui/select/SelectScrollDownButton.vue.js +58 -0
  68. package/dist/test/components/ui/select/SelectScrollUpButton.vue.js +58 -0
  69. package/dist/test/components/ui/select/SelectSeparator.vue.js +39 -0
  70. package/dist/test/components/ui/select/SelectTrigger.vue.js +76 -0
  71. package/dist/test/components/ui/select/SelectValue.vue.js +37 -0
  72. package/dist/test/components/ui/select/index.js +11 -0
  73. package/dist/test/components/ui/tabs/Tabs.vue.js +54 -0
  74. package/dist/test/components/ui/tabs/TabsContent.vue.js +44 -0
  75. package/dist/test/components/ui/tabs/TabsList.vue.js +44 -0
  76. package/dist/test/components/ui/tabs/TabsTrigger.vue.js +45 -0
  77. package/dist/test/components/ui/tabs/index.js +4 -0
  78. package/dist/test/composable/useDigibot.js +3 -3
  79. package/dist/test/composable/useInitData.js +23 -14
  80. package/dist/test/composable/useListConversations.js +51 -33
  81. package/dist/test/composable/useListentEvent.js +45 -0
  82. package/dist/test/composable/usePlivo.js +6 -1
  83. package/dist/test/constant/color.js +4 -2
  84. package/dist/test/plugins/axios-gci.js +1 -1
  85. package/dist/test/utils/chat/auth.js +1 -1
  86. package/dist/test/utils/chat/cache.js +63 -0
  87. package/dist/test/utils/chat/call.js +2 -3
  88. package/dist/test/utils/chat/conversation.js +9 -2
  89. package/dist/test/utils/chat/page-error.js +25 -0
  90. package/dist/test/utils/chat/user.js +7 -2
  91. package/dist/test/utils/string-helper.js +13 -0
  92. package/dist/test/views/NotTenantPhone.vue.js +99 -0
  93. package/dist/types/chat/global.d.ts +6 -5
  94. package/dist/types/conversation.d.ts +2 -0
  95. package/dist/utils/chat/auth.d.ts +1 -1
  96. package/dist/utils/chat/cache.d.ts +7 -0
  97. package/dist/utils/chat/conversation.d.ts +2 -0
  98. package/dist/utils/chat/page-error.d.ts +4 -0
  99. package/dist/utils/chat/user.d.ts +3 -0
  100. package/dist/utils/string-helper.d.ts +1 -0
  101. package/dist/views/NotTenantPhone.vue.d.ts +9 -0
  102. package/package.json +3 -2
  103. package/dist/components/layout/Blank.vue.d.ts +0 -9
  104. package/dist/components/layout/Default.vue.d.ts +0 -9
  105. package/dist/composable/useError.d.ts +0 -4
  106. package/dist/composable/useModalConfirm.d.ts +0 -5
  107. package/dist/test/components/ListenEvent.vue.js +0 -45
  108. package/dist/test/components/layout/Blank.vue.js +0 -19
  109. package/dist/test/components/layout/Default.vue.js +0 -21
  110. package/dist/test/components/modal/Confirm.vue.js +0 -164
  111. package/dist/test/composable/useError.js +0 -10
  112. package/dist/test/composable/useModalConfirm.js +0 -39
  113. /package/dist/{components/ListenEvent.vue.d.ts → assets/icons/IconUser.vue.d.ts} +0 -0
  114. /package/dist/components/{modal/Confirm.vue.d.ts → common/select/SelectBase.vue.d.ts} +0 -0
@@ -13,15 +13,14 @@ 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
15
  import { dataProfile, logout } from '../utils/chat/auth';
16
- import MobileFooter from '../components/chat/layout/mobile/Footer.vue';
17
16
  import '../style/index.scss';
18
- import { useDebounce } from '../utils/debounce';
19
17
  import { defineRootColor } from '../constant/color';
20
18
  import IconCloseCircle from '../assets/icons/IconCloseCircle.vue';
21
19
  import Setting from '../chat/page/setting/Setting.vue';
22
20
  import SettingSuccess from '../chat/page/setting/SettingSuccess.vue';
23
- import { goChatError } from '../composable/useError';
24
- import NotTenantPhone from '@/views/NotTenantPhone.vue';
21
+ import NotTenantPhone from '../views/NotTenantPhone.vue';
22
+ import { phoneNumberFormat } from '../utils/string-helper';
23
+ import { responsiveObserver, useListenEvent } from '../composable/useListentEvent';
25
24
  const routerConfig = [
26
25
  { id: PAGE.HOME, backFunc: null, backTitle: '' },
27
26
  {
@@ -54,7 +53,10 @@ const routerMobileConfig = computed(() => [
54
53
  : () => {
55
54
  logout();
56
55
  },
57
- backTitle: 'ChatBiz'
56
+ backTitle: 'Go Chat',
57
+ subTitle: dataProfile.value?.user_type == 'tenant'
58
+ ? phoneNumberFormat(dataProfile.value?.tenant_phone ?? '')
59
+ : ''
58
60
  },
59
61
  {
60
62
  id: PAGE.HOME,
@@ -91,17 +93,16 @@ const props = withDefaults(defineProps(), {
91
93
  });
92
94
  const emit = defineEmits();
93
95
  const { initPage } = useInitData();
96
+ const { getResponsiveObserver } = useListenEvent();
94
97
  onMounted(() => {
98
+ console.log('222222222222222222');
99
+ getResponsiveObserver();
95
100
  if (props.isLib) {
96
101
  defineRootColor();
102
+ handleInitPage();
97
103
  }
98
- getResponsiveObserver();
99
- window.addEventListener('resize', getResponsiveObserverDebounce);
100
- handleInitPage();
101
- });
102
- onUnmounted(() => {
103
- window.removeEventListener('resize', getResponsiveObserverDebounce);
104
104
  });
105
+ onUnmounted(() => { });
105
106
  const currentPageConfig = computed(() => {
106
107
  if (responsiveRender.value === 'mobile') {
107
108
  return routerMobileConfig.value.find((e) => e.id == currentPage.value);
@@ -115,8 +116,12 @@ const unreadCount = computed(() => {
115
116
  return ((chatListRef.value?.listConversationsAll?.reduce((total, cur) => total + (cur?.unread_count ?? 0), 0) ?? 0) +
116
117
  (chatListRef.value?.listConversationsUnknown?.reduce((total, cur) => total + (cur?.unread_count ?? 0), 0) ?? 0));
117
118
  });
119
+ const currentConversation = computed(() => {
120
+ return (chatListRef.value?.listConversationsAll.find((e) => e.receiver_id == receiverId.value) ??
121
+ chatListRef.value?.listConversationsUnknown.find((e) => e.receiver_id == receiverId.value) ??
122
+ null);
123
+ });
118
124
  const callStatus = computed(() => callingRef.value?.callStatus ?? null);
119
- const responsiveObserver = ref('tablet');
120
125
  const appChatRef = ref();
121
126
  const callingRef = ref(null);
122
127
  const receiverId = ref(null);
@@ -124,8 +129,6 @@ const customerDetailRef = ref(null);
124
129
  const homeComponentRef = ref(null);
125
130
  const chatListRef = ref(null);
126
131
  const drawerVisibleRef = ref(null);
127
- const mediaPermissionError = ref('');
128
- const mediaPermissionState = ref('granted');
129
132
  const selectReceiver = async (data) => {
130
133
  if (receiverId.value != data?.receiver_id || responsiveRender.value === 'mobile') {
131
134
  if (currentPage.value != PAGE.HOME) {
@@ -138,32 +141,36 @@ const selectReceiver = async (data) => {
138
141
  }
139
142
  };
140
143
  const handleCall = (user) => {
141
- callingRef.value?.startCall(user);
142
- };
143
- const getResponsiveObserver = () => {
144
- if (!appChatRef.value)
144
+ if (dataProfile.value?.user_type != 'tenant')
145
145
  return;
146
- const width = appChatRef.value?.offsetWidth ?? 0;
147
- if (width >= 640) {
148
- if (responsiveObserver.value != 'tablet') {
149
- responsiveObserver.value = 'tablet';
150
- }
146
+ if (callingRef.value) {
147
+ callingRef.value?.startCall(user);
151
148
  }
152
149
  else {
153
- if (responsiveObserver.value != 'mobile') {
154
- if (currentPage.value == PAGE.HOME) {
155
- currentPage.value = PAGE.CHAT_LIST;
156
- }
157
- responsiveObserver.value = 'mobile';
158
- }
150
+ emit('call', user);
159
151
  }
160
152
  };
161
- const getResponsiveObserverDebounce = useDebounce(() => {
162
- getResponsiveObserver();
163
- }, 50);
153
+ // const getResponsiveObserver = () => {
154
+ // if (!appChatRef.value) return
155
+ // const width = appChatRef.value?.offsetWidth ?? 0
156
+ // if (width >= 640) {
157
+ // if (responsiveObserver.value != 'tablet') {
158
+ // responsiveObserver.value = 'tablet'
159
+ // }
160
+ // } else {
161
+ // if (responsiveObserver.value != 'mobile') {
162
+ // if (currentPage.value == PAGE.HOME) {
163
+ // currentPage.value = PAGE.CHAT_LIST
164
+ // }
165
+ // responsiveObserver.value = 'mobile'
166
+ // }
167
+ // }
168
+ // }
169
+ // const getResponsiveObserverDebounce = useDebounce(() => {
170
+ // getResponsiveObserver()
171
+ // }, 50)
164
172
  const handleInitPage = async () => {
165
- await initPage({ props: props, response: responsiveRender.value });
166
- routerPush(PAGE.NOT_TENANT_PHONE);
173
+ const init_data = await initPage({ props: props, responsive: responsiveRender.value });
167
174
  if (!dataProfile.value?.tenant_phone && dataProfile.value?.user_type == 'tenant') {
168
175
  emit('error:noPhoneTenant');
169
176
  routerPush(PAGE.NOT_TENANT_PHONE);
@@ -174,56 +181,39 @@ const handleInitPage = async () => {
174
181
  // routerPush(PAGE.REGISTER_TENANT)
175
182
  // }
176
183
  }
184
+ // if (init_data?.conversation_id) {
185
+ // chatListRef.value?.initData({
186
+ // conversation_id: init_data?.conversation_id,
187
+ // is_unknown: init_data?.is_unknown || '0'
188
+ // })
189
+ // } else chatListRef.value?.initData()
177
190
  };
178
- const handleEndCall = (data, type) => {
179
- setTimeout(() => {
180
- if (data?.phone && homeComponentRef.value?.infoUser?.phone == data?.phone) {
181
- homeComponentRef.value?.handleGetMessage({ resetList: true });
182
- }
183
- // publicTopicConversationUpdate({
184
- // infoUser: homeComponentRef.value?.infoUser ?? null,
185
- // isCall: type
186
- // })
187
- }, 2000);
188
- };
191
+ // const handleEndCall = (data: IResUser | null, type: string) => {
192
+ // setTimeout(() => {
193
+ // if (data?.phone && homeComponentRef.value?.infoUser?.phone == data?.phone) {
194
+ // // homeComponentRef.value?.handleGetMessage({ resetList: true })
195
+ // }
196
+ // // publicTopicConversationUpdate({
197
+ // // infoUser: homeComponentRef.value?.infoUser ?? null,
198
+ // // isCall: type
199
+ // // })
200
+ // }, 2000)
201
+ // }
189
202
  const openSettings = () => {
190
203
  drawerVisibleRef.value?.open();
191
204
  };
192
205
  const handleReadMessage = () => {
193
206
  chatListRef.value?.handleReadMessage();
194
207
  };
195
- const handleMedialPermissionError = async () => {
196
- if (navigator.permissions && navigator.permissions.query) {
197
- try {
198
- const result = await navigator.permissions.query({ name: 'microphone' });
199
- if (result.state == 'prompt') {
200
- goChatError.value =
201
- 'Microphone access is needed. Please allow microphone permission to continue.';
202
- }
203
- else if (result.state == 'denied') {
204
- goChatError.value =
205
- 'You have denied microphone access. Please enable microphone permission in your browser to continue the call.';
206
- }
207
- mediaPermissionState.value = result.state;
208
- }
209
- catch (err) {
210
- console.log(err);
211
- }
212
- }
213
- };
214
- const askMedialPermission = async () => {
215
- try {
216
- await navigator.mediaDevices.getUserMedia({ audio: true });
217
- window.location.reload();
218
- }
219
- catch (e) {
220
- console.log(e);
208
+ const handleExposeInit = (init_data) => {
209
+ if (init_data?.conversation_id) {
210
+ chatListRef.value?.initData({
211
+ conversation_id: init_data?.conversation_id,
212
+ is_unknown: init_data?.is_unknown || '0'
213
+ });
221
214
  }
222
- handleMedialPermissionError();
223
- };
224
- const reload = () => {
225
- ;
226
- window.location.reload();
215
+ else
216
+ chatListRef.value?.initData();
227
217
  };
228
218
  let __VLS_exposed;
229
219
  defineExpose({
@@ -243,7 +233,8 @@ defineExpose({
243
233
  await callingRef.value?.answer();
244
234
  },
245
235
  endCall: () => callingRef.value?.endCall(),
246
- openSettings
236
+ openSettings,
237
+ initData: (data) => handleExposeInit(data),
247
238
  });
248
239
  debugger; /* PartiallyEnd: #3632/scriptSetup.vue */
249
240
  const __VLS_defaults = {
@@ -260,14 +251,13 @@ let __VLS_elements;
260
251
  let __VLS_components;
261
252
  let __VLS_directives;
262
253
  __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
263
- ...{ class: "go-chat-main max-w-full p-0 overscroll-x-none" },
264
- ...{ class: ({ 'md:p-8': !__VLS_ctx.isLib }) },
254
+ ...{ class: "go-chat-main max-w-full" },
265
255
  id: "appChatMain",
266
256
  ref: "appChatRef",
267
257
  });
268
258
  /** @type {typeof __VLS_ctx.appChatRef} */ ;
269
259
  // @ts-ignore
270
- [isLib, appChatRef,];
260
+ [appChatRef,];
271
261
  if (!__VLS_ctx.isRouterReady) {
272
262
  // @ts-ignore
273
263
  [isRouterReady,];
@@ -307,7 +297,7 @@ else if (__VLS_ctx.currentPage == __VLS_ctx.PAGE.REGISTER_SUCCESS) {
307
297
  const __VLS_12 = __VLS_asFunctionalComponent(SettingSuccess, new SettingSuccess({}));
308
298
  const __VLS_13 = __VLS_12({}, ...__VLS_functionalComponentArgsRest(__VLS_12));
309
299
  }
310
- if (__VLS_ctx.currentPage == __VLS_ctx.PAGE.NOT_TENANT_PHONE) {
300
+ else if (__VLS_ctx.currentPage == __VLS_ctx.PAGE.NOT_TENANT_PHONE) {
311
301
  // @ts-ignore
312
302
  [currentPage, PAGE,];
313
303
  /** @type {[typeof NotTenantPhone, ]} */ ;
@@ -324,6 +314,14 @@ if (__VLS_ctx.currentPage == __VLS_ctx.PAGE.NOT_TENANT_PHONE) {
324
314
  let __VLS_20;
325
315
  const __VLS_21 = ({ tryAgain: {} },
326
316
  { onTryAgain: (...[$event]) => {
317
+ if (!!(!__VLS_ctx.isRouterReady))
318
+ return;
319
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.TENANT_ERROR))
320
+ return;
321
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.REGISTER_TENANT))
322
+ return;
323
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.REGISTER_SUCCESS))
324
+ return;
327
325
  if (!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.NOT_TENANT_PHONE))
328
326
  return;
329
327
  __VLS_ctx.handleInitPage();
@@ -334,87 +332,52 @@ if (__VLS_ctx.currentPage == __VLS_ctx.PAGE.NOT_TENANT_PHONE) {
334
332
  }
335
333
  else {
336
334
  __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
337
- ...{ class: "w-full h-full flex flex-col overflow-hidden relative" },
335
+ ...{ class: "grow h-full overflow-hidden flex flex-col" },
336
+ });
337
+ __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
338
+ ...{ class: "w-full grow flex overflow-hidden relative" },
338
339
  });
339
- if (__VLS_ctx.goChatError) {
340
+ if (__VLS_ctx.isLib) {
340
341
  // @ts-ignore
341
- [goChatError,];
342
- __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
343
- ...{ class: "shrink-0 w-full bg-chat-error text-white text-sm px-4 py-2 flex items-center justify-between gap-2" },
344
- });
345
- __VLS_asFunctionalElement(__VLS_elements.p, __VLS_elements.p)({});
346
- (__VLS_ctx.goChatError);
342
+ [isLib,];
343
+ /** @type {[typeof Calling, ]} */ ;
347
344
  // @ts-ignore
348
- [goChatError,];
349
- if (__VLS_ctx.mediaPermissionState == 'prompt') {
350
- // @ts-ignore
351
- [mediaPermissionState,];
352
- __VLS_asFunctionalElement(__VLS_elements.button, __VLS_elements.button)({
353
- ...{ onClick: (__VLS_ctx.askMedialPermission) },
354
- ...{ class: "bg-white min-h-10 text-chat-haze-600 font-bold w-[250px] rounded-lg" },
355
- });
356
- // @ts-ignore
357
- [askMedialPermission,];
358
- }
359
- else if (__VLS_ctx.mediaPermissionState == 'denied') {
360
- // @ts-ignore
361
- [mediaPermissionState,];
362
- __VLS_asFunctionalElement(__VLS_elements.span, __VLS_elements.span)({});
363
- }
364
- else {
365
- __VLS_asFunctionalElement(__VLS_elements.button, __VLS_elements.button)({
366
- ...{ onClick: (...[$event]) => {
367
- if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.NOT_TENANT_PHONE))
368
- return;
369
- if (!(__VLS_ctx.goChatError))
370
- return;
371
- if (!!(__VLS_ctx.mediaPermissionState == 'prompt'))
372
- return;
373
- if (!!(__VLS_ctx.mediaPermissionState == 'denied'))
374
- return;
375
- __VLS_ctx.reload();
376
- // @ts-ignore
377
- [reload,];
378
- } },
379
- ...{ class: "bg-white min-h-10 text-chat-haze-600 font-bold text-base w-[200px] rounded-lg" },
380
- });
381
- }
345
+ const __VLS_23 = __VLS_asFunctionalComponent(Calling, new Calling({
346
+ ...{ 'onUserCalling': {} },
347
+ ref: "callingRef",
348
+ responsive: (__VLS_ctx.responsiveRender),
349
+ }));
350
+ const __VLS_24 = __VLS_23({
351
+ ...{ 'onUserCalling': {} },
352
+ ref: "callingRef",
353
+ responsive: (__VLS_ctx.responsiveRender),
354
+ }, ...__VLS_functionalComponentArgsRest(__VLS_23));
355
+ let __VLS_26;
356
+ let __VLS_27;
357
+ const __VLS_28 = ({ userCalling: {} },
358
+ { onUserCalling: (...[$event]) => {
359
+ if (!!(!__VLS_ctx.isRouterReady))
360
+ return;
361
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.TENANT_ERROR))
362
+ return;
363
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.REGISTER_TENANT))
364
+ return;
365
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.REGISTER_SUCCESS))
366
+ return;
367
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.NOT_TENANT_PHONE))
368
+ return;
369
+ if (!(__VLS_ctx.isLib))
370
+ return;
371
+ __VLS_ctx.emit('userCalling', $event);
372
+ // @ts-ignore
373
+ [responsiveRender, emit,];
374
+ } });
375
+ /** @type {typeof __VLS_ctx.callingRef} */ ;
376
+ var __VLS_29 = {};
377
+ // @ts-ignore
378
+ [callingRef,];
379
+ var __VLS_25;
382
380
  }
383
- /** @type {[typeof Calling, ]} */ ;
384
- // @ts-ignore
385
- const __VLS_23 = __VLS_asFunctionalComponent(Calling, new Calling({
386
- ...{ 'onUserCalling': {} },
387
- ...{ 'onEndCall': {} },
388
- ...{ 'onError:mediaPermissionFail': {} },
389
- ref: "callingRef",
390
- responsive: (__VLS_ctx.responsiveRender),
391
- }));
392
- const __VLS_24 = __VLS_23({
393
- ...{ 'onUserCalling': {} },
394
- ...{ 'onEndCall': {} },
395
- ...{ 'onError:mediaPermissionFail': {} },
396
- ref: "callingRef",
397
- responsive: (__VLS_ctx.responsiveRender),
398
- }, ...__VLS_functionalComponentArgsRest(__VLS_23));
399
- let __VLS_26;
400
- let __VLS_27;
401
- const __VLS_28 = ({ userCalling: {} },
402
- { onUserCalling: (...[$event]) => {
403
- if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.NOT_TENANT_PHONE))
404
- return;
405
- __VLS_ctx.emit('userCalling', $event);
406
- // @ts-ignore
407
- [responsiveRender, emit,];
408
- } });
409
- const __VLS_29 = ({ endCall: {} },
410
- { onEndCall: (__VLS_ctx.handleEndCall) });
411
- const __VLS_30 = ({ 'error:mediaPermissionFail': {} },
412
- { 'onError:mediaPermissionFail': (__VLS_ctx.handleMedialPermissionError) });
413
- /** @type {typeof __VLS_ctx.callingRef} */ ;
414
- var __VLS_31 = {};
415
- // @ts-ignore
416
- [handleEndCall, handleMedialPermissionError, callingRef,];
417
- var __VLS_25;
418
381
  if (__VLS_ctx.responsiveRender == 'mobile') {
419
382
  // @ts-ignore
420
383
  [responsiveRender,];
@@ -432,6 +395,14 @@ else {
432
395
  [currentPageConfig, currentPageConfig,];
433
396
  __VLS_asFunctionalElement(__VLS_elements.button, __VLS_elements.button)({
434
397
  ...{ onClick: (...[$event]) => {
398
+ if (!!(!__VLS_ctx.isRouterReady))
399
+ return;
400
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.TENANT_ERROR))
401
+ return;
402
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.REGISTER_TENANT))
403
+ return;
404
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.REGISTER_SUCCESS))
405
+ return;
435
406
  if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.NOT_TENANT_PHONE))
436
407
  return;
437
408
  if (!(__VLS_ctx.responsiveRender == 'mobile'))
@@ -446,14 +417,39 @@ else {
446
417
  });
447
418
  /** @type {[typeof IconArrowLeft, ]} */ ;
448
419
  // @ts-ignore
449
- const __VLS_34 = __VLS_asFunctionalComponent(IconArrowLeft, new IconArrowLeft({}));
450
- const __VLS_35 = __VLS_34({}, ...__VLS_functionalComponentArgsRest(__VLS_34));
451
- __VLS_asFunctionalElement(__VLS_elements.span, __VLS_elements.span)({
452
- ...{ class: "text-xl font-semibold text-chat-haze-900 ml-3" },
420
+ const __VLS_32 = __VLS_asFunctionalComponent(IconArrowLeft, new IconArrowLeft({}));
421
+ const __VLS_33 = __VLS_32({}, ...__VLS_functionalComponentArgsRest(__VLS_32));
422
+ __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
423
+ ...{ class: "ml-3" },
424
+ });
425
+ __VLS_asFunctionalElement(__VLS_elements.p, __VLS_elements.p)({
426
+ ...{ class: "text-xl font-semibold text-left text-chat-haze-900" },
453
427
  });
454
428
  (__VLS_ctx.currentPageConfig.backTitle ?? '');
455
429
  // @ts-ignore
456
430
  [currentPageConfig,];
431
+ __VLS_asFunctionalElement(__VLS_elements.p, __VLS_elements.p)({
432
+ ...{ class: "text-sm font-medium text-chat-haze-900" },
433
+ });
434
+ (__VLS_ctx.currentPageConfig.subTitle ?? '');
435
+ // @ts-ignore
436
+ [currentPageConfig,];
437
+ }
438
+ else if (__VLS_ctx.dataProfile?.user_type == 'tenant') {
439
+ // @ts-ignore
440
+ [dataProfile,];
441
+ __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
442
+ ...{ class: "flex gap-2" },
443
+ });
444
+ __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
445
+ ...{ class: "text-chat-haze-700" },
446
+ });
447
+ __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
448
+ ...{ class: "font-medium text-gray-700" },
449
+ });
450
+ (__VLS_ctx.phoneNumberFormat(__VLS_ctx.dataProfile?.tenant_phone ?? '') ?? '');
451
+ // @ts-ignore
452
+ [dataProfile, phoneNumberFormat,];
457
453
  }
458
454
  else {
459
455
  __VLS_asFunctionalElement(__VLS_elements.span, __VLS_elements.span)({});
@@ -461,6 +457,14 @@ else {
461
457
  if (props.isLib) {
462
458
  __VLS_asFunctionalElement(__VLS_elements.button, __VLS_elements.button)({
463
459
  ...{ onClick: (...[$event]) => {
460
+ if (!!(!__VLS_ctx.isRouterReady))
461
+ return;
462
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.TENANT_ERROR))
463
+ return;
464
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.REGISTER_TENANT))
465
+ return;
466
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.REGISTER_SUCCESS))
467
+ return;
464
468
  if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.NOT_TENANT_PHONE))
465
469
  return;
466
470
  if (!(__VLS_ctx.responsiveRender == 'mobile'))
@@ -475,180 +479,206 @@ else {
475
479
  });
476
480
  /** @type {[typeof IconCloseCircle, ]} */ ;
477
481
  // @ts-ignore
478
- const __VLS_38 = __VLS_asFunctionalComponent(IconCloseCircle, new IconCloseCircle({}));
479
- const __VLS_39 = __VLS_38({}, ...__VLS_functionalComponentArgsRest(__VLS_38));
482
+ const __VLS_36 = __VLS_asFunctionalComponent(IconCloseCircle, new IconCloseCircle({}));
483
+ const __VLS_37 = __VLS_36({}, ...__VLS_functionalComponentArgsRest(__VLS_36));
480
484
  }
481
485
  __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
482
486
  ...{ class: "grow overflow-hidden" },
483
487
  });
484
488
  /** @type {[typeof ChatList, ]} */ ;
485
489
  // @ts-ignore
486
- const __VLS_42 = __VLS_asFunctionalComponent(ChatList, new ChatList({
490
+ const __VLS_40 = __VLS_asFunctionalComponent(ChatList, new ChatList({
487
491
  ...{ 'onSelectReceiver': {} },
488
492
  ref: "chatListRef",
489
493
  ...{ class: "w-full max-w-[500px] !bg-[#F9FAFC]" },
490
494
  responsive: (__VLS_ctx.responsiveRender),
491
495
  receiverId: (__VLS_ctx.receiverId),
492
496
  }));
493
- const __VLS_43 = __VLS_42({
497
+ const __VLS_41 = __VLS_40({
494
498
  ...{ 'onSelectReceiver': {} },
495
499
  ref: "chatListRef",
496
500
  ...{ class: "w-full max-w-[500px] !bg-[#F9FAFC]" },
497
501
  responsive: (__VLS_ctx.responsiveRender),
498
502
  receiverId: (__VLS_ctx.receiverId),
499
- }, ...__VLS_functionalComponentArgsRest(__VLS_42));
500
- let __VLS_45;
501
- let __VLS_46;
502
- const __VLS_47 = ({ selectReceiver: {} },
503
+ }, ...__VLS_functionalComponentArgsRest(__VLS_40));
504
+ let __VLS_43;
505
+ let __VLS_44;
506
+ const __VLS_45 = ({ selectReceiver: {} },
503
507
  { onSelectReceiver: (__VLS_ctx.selectReceiver) });
504
508
  __VLS_asFunctionalDirective(__VLS_directives.vShow)(null, { ...__VLS_directiveBindingRestFields, value: (__VLS_ctx.currentPage == __VLS_ctx.PAGE.CHAT_LIST) }, null, null);
505
509
  /** @type {typeof __VLS_ctx.chatListRef} */ ;
506
- var __VLS_48 = {};
510
+ var __VLS_46 = {};
507
511
  // @ts-ignore
508
512
  [currentPage, PAGE, responsiveRender, receiverId, selectReceiver, chatListRef,];
509
- var __VLS_44;
513
+ var __VLS_42;
510
514
  /** @type {[typeof HomeComponent, ]} */ ;
511
515
  // @ts-ignore
512
- const __VLS_51 = __VLS_asFunctionalComponent(HomeComponent, new HomeComponent({
516
+ const __VLS_49 = __VLS_asFunctionalComponent(HomeComponent, new HomeComponent({
513
517
  ...{ 'onCall': {} },
514
518
  ...{ 'onBack': {} },
515
519
  ...{ 'onInputFocus': {} },
516
520
  ref: "homeComponentRef",
517
521
  receiverId: (__VLS_ctx.receiverId),
518
- ...{ class: "h-full pt-4" },
522
+ ...{ class: "h-full" },
523
+ conversation: (__VLS_ctx.currentConversation),
519
524
  responsive: (__VLS_ctx.responsiveRender),
520
525
  }));
521
- const __VLS_52 = __VLS_51({
526
+ const __VLS_50 = __VLS_49({
522
527
  ...{ 'onCall': {} },
523
528
  ...{ 'onBack': {} },
524
529
  ...{ 'onInputFocus': {} },
525
530
  ref: "homeComponentRef",
526
531
  receiverId: (__VLS_ctx.receiverId),
527
- ...{ class: "h-full pt-4" },
532
+ ...{ class: "h-full" },
533
+ conversation: (__VLS_ctx.currentConversation),
528
534
  responsive: (__VLS_ctx.responsiveRender),
529
- }, ...__VLS_functionalComponentArgsRest(__VLS_51));
530
- let __VLS_54;
531
- let __VLS_55;
532
- const __VLS_56 = ({ call: {} },
535
+ }, ...__VLS_functionalComponentArgsRest(__VLS_49));
536
+ let __VLS_52;
537
+ let __VLS_53;
538
+ const __VLS_54 = ({ call: {} },
533
539
  { onCall: (__VLS_ctx.handleCall) });
534
- const __VLS_57 = ({ back: {} },
540
+ const __VLS_55 = ({ back: {} },
535
541
  { onBack: (...[$event]) => {
542
+ if (!!(!__VLS_ctx.isRouterReady))
543
+ return;
544
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.TENANT_ERROR))
545
+ return;
546
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.REGISTER_TENANT))
547
+ return;
548
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.REGISTER_SUCCESS))
549
+ return;
536
550
  if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.NOT_TENANT_PHONE))
537
551
  return;
538
552
  if (!(__VLS_ctx.responsiveRender == 'mobile'))
539
553
  return;
540
554
  __VLS_ctx.currentPageConfig.backFunc?.();
541
555
  // @ts-ignore
542
- [responsiveRender, currentPageConfig, receiverId, handleCall,];
556
+ [responsiveRender, currentPageConfig, receiverId, currentConversation, handleCall,];
543
557
  } });
544
- const __VLS_58 = ({ inputFocus: {} },
558
+ const __VLS_56 = ({ inputFocus: {} },
545
559
  { onInputFocus: (__VLS_ctx.handleReadMessage) });
546
560
  __VLS_asFunctionalDirective(__VLS_directives.vShow)(null, { ...__VLS_directiveBindingRestFields, value: (__VLS_ctx.currentPage == __VLS_ctx.PAGE.HOME) }, null, null);
547
561
  /** @type {typeof __VLS_ctx.homeComponentRef} */ ;
548
- var __VLS_59 = {};
562
+ var __VLS_57 = {};
549
563
  // @ts-ignore
550
564
  [currentPage, PAGE, handleReadMessage, homeComponentRef,];
551
- var __VLS_53;
565
+ var __VLS_51;
552
566
  if (__VLS_ctx.currentPage == __VLS_ctx.PAGE.CUSTOMER_DETAIL) {
553
567
  // @ts-ignore
554
568
  [currentPage, PAGE,];
555
569
  /** @type {[typeof CustomerDetail, ]} */ ;
556
570
  // @ts-ignore
557
- const __VLS_62 = __VLS_asFunctionalComponent(CustomerDetail, new CustomerDetail({
571
+ const __VLS_60 = __VLS_asFunctionalComponent(CustomerDetail, new CustomerDetail({
558
572
  ref: "customerDetailRef",
559
573
  receiverId: (__VLS_ctx.receiverId),
560
574
  ...{ class: "w-full h-full" },
561
575
  responsive: (__VLS_ctx.responsiveRender),
562
576
  }));
563
- const __VLS_63 = __VLS_62({
577
+ const __VLS_61 = __VLS_60({
564
578
  ref: "customerDetailRef",
565
579
  receiverId: (__VLS_ctx.receiverId),
566
580
  ...{ class: "w-full h-full" },
567
581
  responsive: (__VLS_ctx.responsiveRender),
568
- }, ...__VLS_functionalComponentArgsRest(__VLS_62));
582
+ }, ...__VLS_functionalComponentArgsRest(__VLS_60));
569
583
  /** @type {typeof __VLS_ctx.customerDetailRef} */ ;
570
- var __VLS_65 = {};
584
+ var __VLS_63 = {};
571
585
  // @ts-ignore
572
586
  [responsiveRender, receiverId, customerDetailRef,];
573
- var __VLS_64;
587
+ var __VLS_62;
574
588
  }
575
589
  if (__VLS_ctx.currentPage == __VLS_ctx.PAGE.CUSTOMER_CHECK_IN) {
576
590
  // @ts-ignore
577
591
  [currentPage, PAGE,];
578
592
  /** @type {[typeof CustomerCheckIn, ]} */ ;
579
593
  // @ts-ignore
580
- const __VLS_68 = __VLS_asFunctionalComponent(CustomerCheckIn, new CustomerCheckIn({
594
+ const __VLS_66 = __VLS_asFunctionalComponent(CustomerCheckIn, new CustomerCheckIn({
581
595
  ...{ class: "w-full h-full" },
582
596
  }));
583
- const __VLS_69 = __VLS_68({
597
+ const __VLS_67 = __VLS_66({
584
598
  ...{ class: "w-full h-full" },
585
- }, ...__VLS_functionalComponentArgsRest(__VLS_68));
599
+ }, ...__VLS_functionalComponentArgsRest(__VLS_66));
586
600
  }
587
601
  if (__VLS_ctx.currentPage == __VLS_ctx.PAGE.CUSTOMER_APPOINTMENT) {
588
602
  // @ts-ignore
589
603
  [currentPage, PAGE,];
590
604
  /** @type {[typeof CustomerAppointment, ]} */ ;
591
605
  // @ts-ignore
592
- const __VLS_72 = __VLS_asFunctionalComponent(CustomerAppointment, new CustomerAppointment({
606
+ const __VLS_70 = __VLS_asFunctionalComponent(CustomerAppointment, new CustomerAppointment({
593
607
  ...{ class: "w-full h-full" },
594
608
  }));
595
- const __VLS_73 = __VLS_72({
609
+ const __VLS_71 = __VLS_70({
596
610
  ...{ class: "w-full h-full" },
597
- }, ...__VLS_functionalComponentArgsRest(__VLS_72));
598
- }
599
- if (__VLS_ctx.currentPage != __VLS_ctx.PAGE.HOME) {
600
- // @ts-ignore
601
- [currentPage, PAGE,];
602
- /** @type {[typeof MobileFooter, ]} */ ;
603
- // @ts-ignore
604
- const __VLS_76 = __VLS_asFunctionalComponent(MobileFooter, new MobileFooter({
605
- ...{ class: "shrink-0" },
606
- }));
607
- const __VLS_77 = __VLS_76({
608
- ...{ class: "shrink-0" },
609
- }, ...__VLS_functionalComponentArgsRest(__VLS_76));
611
+ }, ...__VLS_functionalComponentArgsRest(__VLS_70));
610
612
  }
611
613
  }
612
614
  else {
613
615
  __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
614
- ...{ class: "flex gap-4 h-full relative" },
616
+ ...{ class: "flex h-full w-full relative" },
615
617
  });
616
618
  /** @type {[typeof ChatList, ]} */ ;
617
619
  // @ts-ignore
618
- const __VLS_80 = __VLS_asFunctionalComponent(ChatList, new ChatList({
620
+ const __VLS_74 = __VLS_asFunctionalComponent(ChatList, new ChatList({
619
621
  ...{ 'onSelectReceiver': {} },
622
+ ...{ 'onOpenPhoneNumpad': {} },
620
623
  ref: "chatListRef",
621
- ...{ class: "w-[38%] max-w-[500px] min-w-[450px]" },
624
+ ...{ class: "w-[38%] max-w-[500px] min-w-[300px] xl:min-w-[450px] border-r layout-border" },
622
625
  responsive: (__VLS_ctx.responsiveRender),
623
626
  receiverId: (__VLS_ctx.receiverId),
624
627
  }));
625
- const __VLS_81 = __VLS_80({
628
+ const __VLS_75 = __VLS_74({
626
629
  ...{ 'onSelectReceiver': {} },
630
+ ...{ 'onOpenPhoneNumpad': {} },
627
631
  ref: "chatListRef",
628
- ...{ class: "w-[38%] max-w-[500px] min-w-[450px]" },
632
+ ...{ class: "w-[38%] max-w-[500px] min-w-[300px] xl:min-w-[450px] border-r layout-border" },
629
633
  responsive: (__VLS_ctx.responsiveRender),
630
634
  receiverId: (__VLS_ctx.receiverId),
631
- }, ...__VLS_functionalComponentArgsRest(__VLS_80));
632
- let __VLS_83;
633
- let __VLS_84;
634
- const __VLS_85 = ({ selectReceiver: {} },
635
+ }, ...__VLS_functionalComponentArgsRest(__VLS_74));
636
+ let __VLS_77;
637
+ let __VLS_78;
638
+ const __VLS_79 = ({ selectReceiver: {} },
635
639
  { onSelectReceiver: (__VLS_ctx.selectReceiver) });
640
+ const __VLS_80 = ({ openPhoneNumpad: {} },
641
+ { onOpenPhoneNumpad: (...[$event]) => {
642
+ if (!!(!__VLS_ctx.isRouterReady))
643
+ return;
644
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.TENANT_ERROR))
645
+ return;
646
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.REGISTER_TENANT))
647
+ return;
648
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.REGISTER_SUCCESS))
649
+ return;
650
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.NOT_TENANT_PHONE))
651
+ return;
652
+ if (!!(__VLS_ctx.responsiveRender == 'mobile'))
653
+ return;
654
+ __VLS_ctx.emit('openPhoneNumpad');
655
+ // @ts-ignore
656
+ [responsiveRender, emit, receiverId, selectReceiver,];
657
+ } });
636
658
  /** @type {typeof __VLS_ctx.chatListRef} */ ;
637
- var __VLS_86 = {};
659
+ var __VLS_81 = {};
638
660
  // @ts-ignore
639
- [responsiveRender, receiverId, selectReceiver, chatListRef,];
640
- var __VLS_82;
661
+ [chatListRef,];
662
+ var __VLS_76;
641
663
  __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
642
- ...{ class: "chat-box-white grow flex flex-col h-full pt-6 overflow-hidden" },
664
+ ...{ class: "bg-white grow flex flex-col h-full overflow-hidden" },
643
665
  });
644
666
  if (__VLS_ctx.currentPageConfig?.backFunc) {
645
667
  // @ts-ignore
646
668
  [currentPageConfig,];
647
669
  __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
648
- ...{ class: "text-[#141B34] px-6" },
670
+ ...{ class: "text-[#141B34] px-6 mt-4" },
649
671
  });
650
672
  __VLS_asFunctionalElement(__VLS_elements.button, __VLS_elements.button)({
651
673
  ...{ onClick: (...[$event]) => {
674
+ if (!!(!__VLS_ctx.isRouterReady))
675
+ return;
676
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.TENANT_ERROR))
677
+ return;
678
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.REGISTER_TENANT))
679
+ return;
680
+ if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.REGISTER_SUCCESS))
681
+ return;
652
682
  if (!!(__VLS_ctx.currentPage == __VLS_ctx.PAGE.NOT_TENANT_PHONE))
653
683
  return;
654
684
  if (!!(__VLS_ctx.responsiveRender == 'mobile'))
@@ -663,8 +693,8 @@ else {
663
693
  });
664
694
  /** @type {[typeof IconArrowLeft, ]} */ ;
665
695
  // @ts-ignore
666
- const __VLS_89 = __VLS_asFunctionalComponent(IconArrowLeft, new IconArrowLeft({}));
667
- const __VLS_90 = __VLS_89({}, ...__VLS_functionalComponentArgsRest(__VLS_89));
696
+ const __VLS_84 = __VLS_asFunctionalComponent(IconArrowLeft, new IconArrowLeft({}));
697
+ const __VLS_85 = __VLS_84({}, ...__VLS_functionalComponentArgsRest(__VLS_84));
668
698
  __VLS_asFunctionalElement(__VLS_elements.span, __VLS_elements.span)({
669
699
  ...{ class: "text-xl font-semibold text-chat-haze-900 ml-3" },
670
700
  });
@@ -677,122 +707,102 @@ else {
677
707
  });
678
708
  /** @type {[typeof HomeComponent, ]} */ ;
679
709
  // @ts-ignore
680
- const __VLS_93 = __VLS_asFunctionalComponent(HomeComponent, new HomeComponent({
710
+ const __VLS_88 = __VLS_asFunctionalComponent(HomeComponent, new HomeComponent({
681
711
  ...{ 'onCall': {} },
682
712
  ...{ 'onInputFocus': {} },
683
713
  ref: "homeComponentRef",
684
714
  receiverId: (__VLS_ctx.receiverId),
685
715
  ...{ class: "h-full" },
686
716
  responsive: (__VLS_ctx.responsiveRender),
717
+ conversation: (__VLS_ctx.currentConversation),
687
718
  }));
688
- const __VLS_94 = __VLS_93({
719
+ const __VLS_89 = __VLS_88({
689
720
  ...{ 'onCall': {} },
690
721
  ...{ 'onInputFocus': {} },
691
722
  ref: "homeComponentRef",
692
723
  receiverId: (__VLS_ctx.receiverId),
693
724
  ...{ class: "h-full" },
694
725
  responsive: (__VLS_ctx.responsiveRender),
695
- }, ...__VLS_functionalComponentArgsRest(__VLS_93));
696
- let __VLS_96;
697
- let __VLS_97;
698
- const __VLS_98 = ({ call: {} },
726
+ conversation: (__VLS_ctx.currentConversation),
727
+ }, ...__VLS_functionalComponentArgsRest(__VLS_88));
728
+ let __VLS_91;
729
+ let __VLS_92;
730
+ const __VLS_93 = ({ call: {} },
699
731
  { onCall: (__VLS_ctx.handleCall) });
700
- const __VLS_99 = ({ inputFocus: {} },
732
+ const __VLS_94 = ({ inputFocus: {} },
701
733
  { onInputFocus: (__VLS_ctx.handleReadMessage) });
702
734
  __VLS_asFunctionalDirective(__VLS_directives.vShow)(null, { ...__VLS_directiveBindingRestFields, value: (__VLS_ctx.currentPage == __VLS_ctx.PAGE.HOME && __VLS_ctx.receiverId) }, null, null);
703
735
  /** @type {typeof __VLS_ctx.homeComponentRef} */ ;
704
- var __VLS_100 = {};
736
+ var __VLS_95 = {};
705
737
  // @ts-ignore
706
- [currentPage, PAGE, responsiveRender, receiverId, receiverId, handleCall, handleReadMessage, homeComponentRef,];
707
- var __VLS_95;
738
+ [currentPage, PAGE, responsiveRender, receiverId, receiverId, currentConversation, handleCall, handleReadMessage, homeComponentRef,];
739
+ var __VLS_90;
708
740
  if (__VLS_ctx.currentPage == __VLS_ctx.PAGE.CUSTOMER_DETAIL) {
709
741
  // @ts-ignore
710
742
  [currentPage, PAGE,];
711
743
  /** @type {[typeof CustomerDetail, ]} */ ;
712
744
  // @ts-ignore
713
- const __VLS_103 = __VLS_asFunctionalComponent(CustomerDetail, new CustomerDetail({
745
+ const __VLS_98 = __VLS_asFunctionalComponent(CustomerDetail, new CustomerDetail({
714
746
  ref: "customerDetailRef",
715
747
  receiverId: (__VLS_ctx.receiverId),
716
748
  ...{ class: "h-full" },
717
749
  responsive: (__VLS_ctx.responsiveRender),
718
750
  }));
719
- const __VLS_104 = __VLS_103({
751
+ const __VLS_99 = __VLS_98({
720
752
  ref: "customerDetailRef",
721
753
  receiverId: (__VLS_ctx.receiverId),
722
754
  ...{ class: "h-full" },
723
755
  responsive: (__VLS_ctx.responsiveRender),
724
- }, ...__VLS_functionalComponentArgsRest(__VLS_103));
756
+ }, ...__VLS_functionalComponentArgsRest(__VLS_98));
725
757
  /** @type {typeof __VLS_ctx.customerDetailRef} */ ;
726
- var __VLS_106 = {};
758
+ var __VLS_101 = {};
727
759
  // @ts-ignore
728
760
  [responsiveRender, receiverId, customerDetailRef,];
729
- var __VLS_105;
761
+ var __VLS_100;
730
762
  }
731
763
  if (__VLS_ctx.currentPage == __VLS_ctx.PAGE.CUSTOMER_CHECK_IN) {
732
764
  // @ts-ignore
733
765
  [currentPage, PAGE,];
734
766
  /** @type {[typeof CustomerCheckIn, ]} */ ;
735
767
  // @ts-ignore
736
- const __VLS_109 = __VLS_asFunctionalComponent(CustomerCheckIn, new CustomerCheckIn({
768
+ const __VLS_104 = __VLS_asFunctionalComponent(CustomerCheckIn, new CustomerCheckIn({
737
769
  ...{ class: "h-full" },
738
770
  }));
739
- const __VLS_110 = __VLS_109({
771
+ const __VLS_105 = __VLS_104({
740
772
  ...{ class: "h-full" },
741
- }, ...__VLS_functionalComponentArgsRest(__VLS_109));
773
+ }, ...__VLS_functionalComponentArgsRest(__VLS_104));
742
774
  }
743
775
  if (__VLS_ctx.currentPage == __VLS_ctx.PAGE.CUSTOMER_APPOINTMENT) {
744
776
  // @ts-ignore
745
777
  [currentPage, PAGE,];
746
778
  /** @type {[typeof CustomerAppointment, ]} */ ;
747
779
  // @ts-ignore
748
- const __VLS_113 = __VLS_asFunctionalComponent(CustomerAppointment, new CustomerAppointment({
780
+ const __VLS_108 = __VLS_asFunctionalComponent(CustomerAppointment, new CustomerAppointment({
749
781
  ...{ class: "h-full" },
750
782
  }));
751
- const __VLS_114 = __VLS_113({
783
+ const __VLS_109 = __VLS_108({
752
784
  ...{ class: "h-full" },
753
- }, ...__VLS_functionalComponentArgsRest(__VLS_113));
785
+ }, ...__VLS_functionalComponentArgsRest(__VLS_108));
754
786
  }
755
787
  }
788
+ var __VLS_112 = {};
756
789
  }
757
790
  /** @type {__VLS_StyleScopedClasses['go-chat-main']} */ ;
758
791
  /** @type {__VLS_StyleScopedClasses['max-w-full']} */ ;
759
- /** @type {__VLS_StyleScopedClasses['p-0']} */ ;
760
- /** @type {__VLS_StyleScopedClasses['overscroll-x-none']} */ ;
761
- /** @type {__VLS_StyleScopedClasses['md:p-8']} */ ;
762
792
  /** @type {__VLS_StyleScopedClasses['m-auto']} */ ;
763
793
  /** @type {__VLS_StyleScopedClasses['flex-center']} */ ;
764
794
  /** @type {__VLS_StyleScopedClasses['sc-full']} */ ;
765
795
  /** @type {__VLS_StyleScopedClasses['mt-10']} */ ;
766
- /** @type {__VLS_StyleScopedClasses['w-full']} */ ;
796
+ /** @type {__VLS_StyleScopedClasses['grow']} */ ;
767
797
  /** @type {__VLS_StyleScopedClasses['h-full']} */ ;
798
+ /** @type {__VLS_StyleScopedClasses['overflow-hidden']} */ ;
768
799
  /** @type {__VLS_StyleScopedClasses['flex']} */ ;
769
800
  /** @type {__VLS_StyleScopedClasses['flex-col']} */ ;
770
- /** @type {__VLS_StyleScopedClasses['overflow-hidden']} */ ;
771
- /** @type {__VLS_StyleScopedClasses['relative']} */ ;
772
- /** @type {__VLS_StyleScopedClasses['shrink-0']} */ ;
773
801
  /** @type {__VLS_StyleScopedClasses['w-full']} */ ;
774
- /** @type {__VLS_StyleScopedClasses['bg-chat-error']} */ ;
775
- /** @type {__VLS_StyleScopedClasses['text-white']} */ ;
776
- /** @type {__VLS_StyleScopedClasses['text-sm']} */ ;
777
- /** @type {__VLS_StyleScopedClasses['px-4']} */ ;
778
- /** @type {__VLS_StyleScopedClasses['py-2']} */ ;
802
+ /** @type {__VLS_StyleScopedClasses['grow']} */ ;
779
803
  /** @type {__VLS_StyleScopedClasses['flex']} */ ;
780
- /** @type {__VLS_StyleScopedClasses['items-center']} */ ;
781
- /** @type {__VLS_StyleScopedClasses['justify-between']} */ ;
782
- /** @type {__VLS_StyleScopedClasses['gap-2']} */ ;
783
- /** @type {__VLS_StyleScopedClasses['bg-white']} */ ;
784
- /** @type {__VLS_StyleScopedClasses['min-h-10']} */ ;
785
- /** @type {__VLS_StyleScopedClasses['text-chat-haze-600']} */ ;
786
- /** @type {__VLS_StyleScopedClasses['font-bold']} */ ;
787
- /** @type {__VLS_StyleScopedClasses['w-[250px]']} */ ;
788
- /** @type {__VLS_StyleScopedClasses['rounded-lg']} */ ;
789
- /** @type {__VLS_StyleScopedClasses['bg-white']} */ ;
790
- /** @type {__VLS_StyleScopedClasses['min-h-10']} */ ;
791
- /** @type {__VLS_StyleScopedClasses['text-chat-haze-600']} */ ;
792
- /** @type {__VLS_StyleScopedClasses['font-bold']} */ ;
793
- /** @type {__VLS_StyleScopedClasses['text-base']} */ ;
794
- /** @type {__VLS_StyleScopedClasses['w-[200px]']} */ ;
795
- /** @type {__VLS_StyleScopedClasses['rounded-lg']} */ ;
804
+ /** @type {__VLS_StyleScopedClasses['overflow-hidden']} */ ;
805
+ /** @type {__VLS_StyleScopedClasses['relative']} */ ;
796
806
  /** @type {__VLS_StyleScopedClasses['grow']} */ ;
797
807
  /** @type {__VLS_StyleScopedClasses['relative']} */ ;
798
808
  /** @type {__VLS_StyleScopedClasses['flex']} */ ;
@@ -812,10 +822,19 @@ else {
812
822
  /** @type {__VLS_StyleScopedClasses['justify-between']} */ ;
813
823
  /** @type {__VLS_StyleScopedClasses['flex']} */ ;
814
824
  /** @type {__VLS_StyleScopedClasses['items-center']} */ ;
825
+ /** @type {__VLS_StyleScopedClasses['ml-3']} */ ;
815
826
  /** @type {__VLS_StyleScopedClasses['text-xl']} */ ;
816
827
  /** @type {__VLS_StyleScopedClasses['font-semibold']} */ ;
828
+ /** @type {__VLS_StyleScopedClasses['text-left']} */ ;
817
829
  /** @type {__VLS_StyleScopedClasses['text-chat-haze-900']} */ ;
818
- /** @type {__VLS_StyleScopedClasses['ml-3']} */ ;
830
+ /** @type {__VLS_StyleScopedClasses['text-sm']} */ ;
831
+ /** @type {__VLS_StyleScopedClasses['font-medium']} */ ;
832
+ /** @type {__VLS_StyleScopedClasses['text-chat-haze-900']} */ ;
833
+ /** @type {__VLS_StyleScopedClasses['flex']} */ ;
834
+ /** @type {__VLS_StyleScopedClasses['gap-2']} */ ;
835
+ /** @type {__VLS_StyleScopedClasses['text-chat-haze-700']} */ ;
836
+ /** @type {__VLS_StyleScopedClasses['font-medium']} */ ;
837
+ /** @type {__VLS_StyleScopedClasses['text-gray-700']} */ ;
819
838
  /** @type {__VLS_StyleScopedClasses['w-10']} */ ;
820
839
  /** @type {__VLS_StyleScopedClasses['h-10']} */ ;
821
840
  /** @type {__VLS_StyleScopedClasses['grow']} */ ;
@@ -824,30 +843,31 @@ else {
824
843
  /** @type {__VLS_StyleScopedClasses['max-w-[500px]']} */ ;
825
844
  /** @type {__VLS_StyleScopedClasses['!bg-[#F9FAFC]']} */ ;
826
845
  /** @type {__VLS_StyleScopedClasses['h-full']} */ ;
827
- /** @type {__VLS_StyleScopedClasses['pt-4']} */ ;
828
846
  /** @type {__VLS_StyleScopedClasses['w-full']} */ ;
829
847
  /** @type {__VLS_StyleScopedClasses['h-full']} */ ;
830
848
  /** @type {__VLS_StyleScopedClasses['w-full']} */ ;
831
849
  /** @type {__VLS_StyleScopedClasses['h-full']} */ ;
832
850
  /** @type {__VLS_StyleScopedClasses['w-full']} */ ;
833
851
  /** @type {__VLS_StyleScopedClasses['h-full']} */ ;
834
- /** @type {__VLS_StyleScopedClasses['shrink-0']} */ ;
835
852
  /** @type {__VLS_StyleScopedClasses['flex']} */ ;
836
- /** @type {__VLS_StyleScopedClasses['gap-4']} */ ;
837
853
  /** @type {__VLS_StyleScopedClasses['h-full']} */ ;
854
+ /** @type {__VLS_StyleScopedClasses['w-full']} */ ;
838
855
  /** @type {__VLS_StyleScopedClasses['relative']} */ ;
839
856
  /** @type {__VLS_StyleScopedClasses['w-[38%]']} */ ;
840
857
  /** @type {__VLS_StyleScopedClasses['max-w-[500px]']} */ ;
841
- /** @type {__VLS_StyleScopedClasses['min-w-[450px]']} */ ;
842
- /** @type {__VLS_StyleScopedClasses['chat-box-white']} */ ;
858
+ /** @type {__VLS_StyleScopedClasses['min-w-[300px]']} */ ;
859
+ /** @type {__VLS_StyleScopedClasses['xl:min-w-[450px]']} */ ;
860
+ /** @type {__VLS_StyleScopedClasses['border-r']} */ ;
861
+ /** @type {__VLS_StyleScopedClasses['layout-border']} */ ;
862
+ /** @type {__VLS_StyleScopedClasses['bg-white']} */ ;
843
863
  /** @type {__VLS_StyleScopedClasses['grow']} */ ;
844
864
  /** @type {__VLS_StyleScopedClasses['flex']} */ ;
845
865
  /** @type {__VLS_StyleScopedClasses['flex-col']} */ ;
846
866
  /** @type {__VLS_StyleScopedClasses['h-full']} */ ;
847
- /** @type {__VLS_StyleScopedClasses['pt-6']} */ ;
848
867
  /** @type {__VLS_StyleScopedClasses['overflow-hidden']} */ ;
849
868
  /** @type {__VLS_StyleScopedClasses['text-[#141B34]']} */ ;
850
869
  /** @type {__VLS_StyleScopedClasses['px-6']} */ ;
870
+ /** @type {__VLS_StyleScopedClasses['mt-4']} */ ;
851
871
  /** @type {__VLS_StyleScopedClasses['flex']} */ ;
852
872
  /** @type {__VLS_StyleScopedClasses['items-center']} */ ;
853
873
  /** @type {__VLS_StyleScopedClasses['text-xl']} */ ;
@@ -861,11 +881,12 @@ else {
861
881
  /** @type {__VLS_StyleScopedClasses['h-full']} */ ;
862
882
  /** @type {__VLS_StyleScopedClasses['h-full']} */ ;
863
883
  // @ts-ignore
864
- var __VLS_32 = __VLS_31, __VLS_49 = __VLS_48, __VLS_60 = __VLS_59, __VLS_66 = __VLS_65, __VLS_87 = __VLS_86, __VLS_101 = __VLS_100, __VLS_107 = __VLS_106;
865
- const __VLS_export = (await import('vue')).defineComponent({
884
+ var __VLS_30 = __VLS_29, __VLS_47 = __VLS_46, __VLS_58 = __VLS_57, __VLS_64 = __VLS_63, __VLS_82 = __VLS_81, __VLS_96 = __VLS_95, __VLS_102 = __VLS_101, __VLS_113 = __VLS_112;
885
+ const __VLS_base = (await import('vue')).defineComponent({
866
886
  setup: () => (__VLS_exposed),
867
887
  __typeEmits: {},
868
888
  __typeProps: {},
869
889
  props: {},
870
890
  });
891
+ const __VLS_export = {};
871
892
  export default {};