@phonghq/go-chat 1.0.1 → 1.0.2

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 (98) hide show
  1. package/dist/chat/App.vue.d.ts +2 -2
  2. package/dist/chat/App.vue.js +60 -63
  3. package/dist/chat/page/customer-appointment/{CustomerApointment.vue.js → CustomerAppointment.vue.js} +5 -5
  4. package/dist/chat/page/customer-check-in/CollapseCheckIn.vue.js +2 -2
  5. package/dist/chat/page/customer-check-in/CustomerCheckIn.vue.js +4 -4
  6. package/dist/chat/page/customer-detail/CustomerDetail.vue.d.ts +1 -1
  7. package/dist/chat/page/customer-detail/CustomerDetail.vue.js +16 -15
  8. package/dist/chat/page/customer-detail/SubInformation.vue.js +1 -1
  9. package/dist/chat/page/error/Error.vue.js +1 -1
  10. package/dist/chat/page/home/ChatList.vue.d.ts +1 -1
  11. package/dist/chat/page/home/ChatList.vue.js +11 -13
  12. package/dist/chat/page/home/ChatMessage.vue.d.ts +2 -2
  13. package/dist/chat/page/home/ChatMessage.vue.js +4 -4
  14. package/dist/chat/page/home/Home.vue.d.ts +2 -2
  15. package/dist/chat/page/home/Home.vue.js +10 -10
  16. package/dist/chat/page/home/HomeHeader.vue.d.ts +1 -1
  17. package/dist/chat/page/home/HomeHeader.vue.js +6 -6
  18. package/dist/chat/page/home/InputChat.vue.d.ts +1 -1
  19. package/dist/chat/page/home/InputChat.vue.js +13 -11
  20. package/dist/chat/page/home/NewCustomer.vue.d.ts +1 -1
  21. package/dist/chat/page/home/NewCustomer.vue.js +2 -2
  22. package/dist/components/ListenEvent.vue.js +25 -27
  23. package/dist/components/chat/ScrollEvent/ScrollEvent.vue.js +1 -1
  24. package/dist/components/chat/call/Calling.vue.d.ts +1 -1
  25. package/dist/components/chat/call/Calling.vue.js +68 -38
  26. package/dist/components/chat/common/collapse/CollapseBase.vue.js +1 -1
  27. package/dist/components/chat/common/input/InputSearch.vue.d.ts +1 -1
  28. package/dist/components/chat/common/input/InputSearch.vue.js +2 -2
  29. package/dist/components/chat/common/popover/PopoverBase.vue.js +1 -1
  30. package/dist/components/chat/layout/mobile/Footer.vue.js +10 -10
  31. package/dist/components/common/button/ButtonBase.vue.js +2 -2
  32. package/dist/components/common/button/ButtonToggle.vue.js +1 -1
  33. package/dist/components/common/checkbox/CCheckboxNumber.vue.js +1 -1
  34. package/dist/components/common/drawer/DrawerBase.vue.js +1 -1
  35. package/dist/components/common/dropdown/DropdownBase.vue.js +1 -1
  36. package/dist/components/common/input/CInputSearch.vue.js +1 -1
  37. package/dist/components/common/modal/ModalBase.vue.js +2 -2
  38. package/dist/components/common/slider/BaseSlider.vue.js +1 -1
  39. package/dist/components/modal/Confirm.vue.js +3 -3
  40. package/dist/components/ui/button/CButton.vue.js +1 -1
  41. package/dist/components/ui/checkbox/Checkbox.vue.js +1 -1
  42. package/dist/components/ui/dialog/DialogContent.vue.js +1 -1
  43. package/dist/components/ui/dialog/DialogDescription.vue.js +1 -1
  44. package/dist/components/ui/dialog/DialogFooter.vue.js +1 -1
  45. package/dist/components/ui/dialog/DialogHeader.vue.js +1 -1
  46. package/dist/components/ui/dialog/DialogScrollContent.vue.js +1 -1
  47. package/dist/components/ui/dialog/DialogTitle.vue.js +1 -1
  48. package/dist/components/ui/drawer/DrawerContent.vue.js +1 -1
  49. package/dist/components/ui/drawer/DrawerDescription.vue.js +1 -1
  50. package/dist/components/ui/drawer/DrawerFooter.vue.js +1 -1
  51. package/dist/components/ui/drawer/DrawerHeader.vue.js +1 -1
  52. package/dist/components/ui/drawer/DrawerOverlay.vue.js +1 -1
  53. package/dist/components/ui/drawer/DrawerTitle.vue.js +1 -1
  54. package/dist/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue.js +1 -1
  55. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.js +1 -1
  56. package/dist/components/ui/dropdown-menu/DropdownMenuItem.vue.js +1 -1
  57. package/dist/components/ui/dropdown-menu/DropdownMenuLabel.vue.js +1 -1
  58. package/dist/components/ui/dropdown-menu/DropdownMenuRadioItem.vue.js +1 -1
  59. package/dist/components/ui/dropdown-menu/DropdownMenuSeparator.vue.js +1 -1
  60. package/dist/components/ui/dropdown-menu/DropdownMenuShortcut.vue.js +1 -1
  61. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.js +1 -1
  62. package/dist/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue.js +1 -1
  63. package/dist/components/ui/popover/PopoverContent.vue.js +1 -1
  64. package/dist/components/ui/radio-group/RadioGroup.vue.js +1 -1
  65. package/dist/components/ui/radio-group/RadioGroupItem.vue.js +1 -1
  66. package/dist/components/ui/slider/Slider.vue.js +1 -1
  67. package/dist/components/ui/switch/Switch.vue.js +1 -1
  68. package/dist/composable/useCallHelper.d.ts +1 -1
  69. package/dist/composable/useCallHelper.js +4 -16
  70. package/dist/composable/useInitData.d.ts +1 -1
  71. package/dist/composable/useInitData.js +8 -6
  72. package/dist/composable/useModalConfirm.d.ts +1 -1
  73. package/dist/go-chat.es.js +26369 -28399
  74. package/dist/go-chat.umd.js +15 -23
  75. package/dist/plugins/mqtt.d.ts +2 -1
  76. package/dist/plugins/mqtt.js +1 -2
  77. package/dist/plugins/sdk.js +3 -3
  78. package/dist/plugins/websocket.d.ts +4 -1
  79. package/dist/plugins/websocket.js +61 -22
  80. package/dist/style.css +1 -1
  81. package/dist/utils/chat/auth.d.ts +1 -1
  82. package/dist/utils/chat/auth.js +2 -2
  83. package/dist/utils/chat/call.d.ts +4 -0
  84. package/dist/utils/chat/call.js +52 -1
  85. package/dist/utils/chat/chat-router.d.ts +1 -1
  86. package/dist/utils/chat/chat-router.js +1 -1
  87. package/dist/utils/chat/conversation.d.ts +2 -2
  88. package/dist/utils/chat/conversation.js +1 -1
  89. package/dist/utils/chat/message.d.ts +2 -2
  90. package/dist/utils/chat/message.js +1 -1
  91. package/dist/utils/chat/user.d.ts +2 -2
  92. package/dist/utils/chat/user.js +1 -1
  93. package/dist/utils/json.d.ts +2 -0
  94. package/dist/utils/json.js +18 -0
  95. package/package.json +1 -1
  96. package/dist/stores/general.d.ts +0 -48
  97. package/dist/stores/general.js +0 -39
  98. /package/dist/chat/page/customer-appointment/{CustomerApointment.vue.d.ts → CustomerAppointment.vue.d.ts} +0 -0
@@ -1,20 +1,30 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { ref, onMounted, onUnmounted, watch } from 'vue';
3
- import DrawerBase from '@/components/common/drawer/DrawerBase.vue';
4
- import IconPhone from '@/assets/icons/call/IconPhone.vue';
5
- import { dataProfile } from '@/utils/chat/auth.js';
6
- import { addHandleMqttMessage, connectMqtt, removeHandleMqttMessage, subscribeToTopic, unsubscribeFromTopic } from '@/plugins/mqtt.js';
7
- import { TOPIC_DETAIL_CALL } from '@/constant/mqtt.js';
8
- import { useCallHelper } from '@/composable/useCallHelper';
9
- import IconPhoneCancel from '@/assets/icons/call/IconPhoneCancel.vue';
3
+ import DrawerBase from '../../../components/common/drawer/DrawerBase.vue';
4
+ import IconPhone from '../../../assets/icons/call/IconPhone.vue';
5
+ import { dataProfile } from '../../../utils/chat/auth.js';
6
+ import { addHandleMqttMessage, connectMqtt, removeHandleMqttMessage, subscribeToTopic, unsubscribeFromTopic } from '../../../plugins/mqtt.js';
7
+ import { TOPIC_DETAIL_CALL } from '../../../constant/mqtt.js';
8
+ import { useCallHelper } from '../../../composable/useCallHelper';
9
+ import IconPhoneCancel from '../../../assets/icons/call/IconPhoneCancel.vue';
10
+ import { addHandleWebSK, removeHandleWebSK } from '../../../plugins/websocket';
11
+ import { callClient, callOutBound } from '../../../utils/chat/call';
10
12
  const { handleOffer, handleOfferResponse, call, end, endPc, addIceCandidate, sendOfferOk } = useCallHelper();
11
13
  const STATUS = {
12
14
  CONNECTING: 'Connecting...',
13
- CONNECTED: 'Ringing...',
15
+ CALLING: 'calling',
16
+ RINGING: 'ringing',
14
17
  CONNECT_FAILED: 'Connect Error',
15
- CALLING: 'Calling...',
16
- CALL_START: '',
17
- CALL_END: 'Call Ended'
18
+ CALL_START: 'in-progress',
19
+ CALL_END: 'completed'
20
+ };
21
+ const STATUS_LABEL = {
22
+ [STATUS.CONNECTING]: 'Connecting...',
23
+ [STATUS.CALLING]: 'Calling...',
24
+ [STATUS.RINGING]: 'Ringing...',
25
+ [STATUS.CONNECT_FAILED]: 'Connect Error',
26
+ [STATUS.CALL_START]: '',
27
+ [STATUS.CALL_END]: 'Call Ended'
18
28
  };
19
29
  const callStatus = ref(STATUS.CONNECTING);
20
30
  const duration = ref('00:00');
@@ -34,6 +44,7 @@ onUnmounted(() => {
34
44
  if (timeOut)
35
45
  clearTimeout(timeOut);
36
46
  });
47
+ let dataWebSK = null;
37
48
  function startTimer() {
38
49
  let sec = 0;
39
50
  timer = setInterval(() => {
@@ -64,52 +75,71 @@ const startCall = async (data) => {
64
75
  try {
65
76
  callStatus.value = STATUS.CONNECTING;
66
77
  open();
67
- await call(data);
68
- callStatus.value = STATUS.CONNECTED;
78
+ await callOutBound(data);
79
+ // await call(data)
80
+ callStatus.value = STATUS.CALLING;
69
81
  }
70
82
  catch (e) {
71
83
  console.log(e);
72
84
  callStatus.value = STATUS.CONNECT_FAILED;
73
85
  }
74
86
  };
75
- const answer = () => {
87
+ const answer = async () => {
88
+ await callClient(dataWebSK);
76
89
  callStatus.value = STATUS.CALL_START;
77
- sendOfferOk();
90
+ // sendOfferOk()
78
91
  };
79
- const handleMqttMessage = async (topic, message) => {
80
- if (topic == TOPIC_DETAIL_CALL + dataProfile.value?.id) {
81
- console.log(message);
82
- if (message?.type === 'offer') {
83
- const status = await handleOffer(message);
84
- if (status) {
85
- callStatus.value = STATUS.CALLING;
86
- open();
87
- }
88
- }
89
- else if (message?.type === 'offer-response') {
90
- await handleOfferResponse(message);
91
- callStatus.value = STATUS.CALL_START;
92
- }
93
- else if (message?.type === 'candidate') {
94
- addIceCandidate(message);
95
- }
96
- else if (message?.type === 'end-call') {
97
- endPc(message?.link);
98
- callStatus.value = STATUS.CALL_END;
92
+ const handleMqttMessage = async (message) => {
93
+ if (message?.data?.status == STATUS.RINGING) {
94
+ if (message?.data?.to_number == dataProfile.value?.phone) {
95
+ callStatus.value = STATUS.RINGING;
96
+ dataWebSK = {
97
+ from: message.data.from_number,
98
+ to: message.data.to_number
99
+ };
100
+ open();
99
101
  }
100
102
  }
103
+ else if (message?.data?.status == STATUS.CALL_START) {
104
+ callStatus.value = STATUS.CALL_START;
105
+ }
106
+ else if (message?.data?.status == STATUS.CALL_END) {
107
+ endCall();
108
+ }
101
109
  };
110
+ // const handleMqttMessage = async (topic: string, message: any) => {
111
+ // if (topic == TOPIC_DETAIL_CALL + dataProfile.value?.id) {
112
+ // console.log(message)
113
+ // if (message?.type === 'offer') {
114
+ // const status = await handleOffer(message)
115
+ // if (status) {
116
+ // callStatus.value = STATUS.CALLING
117
+ // open()
118
+ // }
119
+ // } else if (message?.type === 'offer-response') {
120
+ // await handleOfferResponse(message)
121
+ // callStatus.value = STATUS.CALL_START
122
+ // } else if (message?.type === 'candidate') {
123
+ // addIceCandidate(message)
124
+ // } else if (message?.type === 'end-call') {
125
+ // endPc(message?.link)
126
+ // callStatus.value = STATUS.CALL_END
127
+ // }
128
+ // }
129
+ // }
102
130
  const __VLS_exposed = { startCall, endCall };
103
131
  defineExpose(__VLS_exposed);
104
132
  watch(dataProfile, async (newValue, oldValue) => {
105
133
  if (oldValue?.id && oldValue?.id != newValue?.id) {
106
134
  unsubscribeFromTopic(TOPIC_DETAIL_CALL + oldValue?.id);
107
135
  removeHandleMqttMessage('call-message');
136
+ removeHandleWebSK('call-message');
108
137
  }
109
138
  if (newValue?.id && oldValue?.id != newValue?.id) {
110
139
  await connectMqtt();
111
140
  subscribeToTopic(TOPIC_DETAIL_CALL + newValue?.id);
112
141
  addHandleMqttMessage('call-message', TOPIC_DETAIL_CALL + newValue?.id, handleMqttMessage);
142
+ addHandleWebSK('call-message', handleMqttMessage);
113
143
  }
114
144
  }, { immediate: true });
115
145
  debugger; /* PartiallyEnd: #3632/scriptSetup.vue */
@@ -157,13 +187,13 @@ const { default: __VLS_3 } = __VLS_2.slots;
157
187
  __VLS_asFunctionalElement(__VLS_elements.p, __VLS_elements.p)({
158
188
  ...{ class: "text-gray-400 mt-1" },
159
189
  });
160
- (__VLS_ctx.callStatus);
190
+ (__VLS_ctx.STATUS_LABEL[__VLS_ctx.callStatus]);
161
191
  // @ts-ignore
162
- [callStatus,];
192
+ [STATUS_LABEL, callStatus,];
163
193
  __VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
164
194
  ...{ class: "flex items-center justify-center gap-8 mt-10" },
165
195
  });
166
- if (__VLS_ctx.callStatus == __VLS_ctx.STATUS.CALLING) {
196
+ if (__VLS_ctx.callStatus == __VLS_ctx.STATUS.RINGING) {
167
197
  // @ts-ignore
168
198
  [callStatus, STATUS,];
169
199
  __VLS_asFunctionalElement(__VLS_elements.button, __VLS_elements.button)({
@@ -1,5 +1,5 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
- import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from '@/components/ui/collapsible';
2
+ import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from '../../../../components/ui/collapsible';
3
3
  const isOpen = defineModel('open');
4
4
  debugger; /* PartiallyEnd: #3632/scriptSetup.vue */
5
5
  const __VLS_modelEmit = defineEmits();
@@ -1,4 +1,4 @@
1
- import type { PAGE_RESPONSE } from '@/types/chat/global';
1
+ import type { PAGE_RESPONSE } from '../../../../types/chat/global';
2
2
  type Props = {
3
3
  modelValue: string;
4
4
  response: PAGE_RESPONSE;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { computed } from 'vue';
3
- import IconSearch from '@/assets/icons/IconSearch.vue';
4
- import { useDebounce } from '@/utils/debounce';
3
+ import IconSearch from '../../../../assets/icons/IconSearch.vue';
4
+ import { useDebounce } from '../../../../utils/debounce';
5
5
  const props = withDefaults(defineProps(), {
6
6
  placeholder: 'Search...'
7
7
  });
@@ -1,5 +1,5 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
- import { Popover, PopoverContent, PopoverTrigger, } from '@/components/ui/popover';
2
+ import { Popover, PopoverContent, PopoverTrigger, } from '../../../../components/ui/popover';
3
3
  const props = withDefaults(defineProps(), {
4
4
  align: "center",
5
5
  sideOffset: 4,
@@ -1,14 +1,14 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
- import ICon1 from '@/assets/images/layout/mobile/chat.png';
3
- import ICon1Active from '@/assets/images/layout/mobile/chat-active.png';
4
- import ICon2 from '@/assets/images/layout/mobile/review.png';
5
- import ICon2Active from '@/assets/images/layout/mobile/review-active.png';
6
- import ICon3 from '@/assets/images/layout/mobile/booking.png';
7
- import ICon3Active from '@/assets/images/layout/mobile/booking-active.png';
8
- import ICon4 from '@/assets/images/layout/mobile/admin.png';
9
- import ICon4Active from '@/assets/images/layout/mobile/admin-active.png';
10
- import { PAGE } from '@/constant/general';
11
- import { currentPage, routerPush } from '@/utils/chat/chat-router';
2
+ import ICon1 from '../../../../assets/images/layout/mobile/chat.png';
3
+ import ICon1Active from '../../../../assets/images/layout/mobile/chat-active.png';
4
+ import ICon2 from '../../../../assets/images/layout/mobile/review.png';
5
+ import ICon2Active from '../../../../assets/images/layout/mobile/review-active.png';
6
+ import ICon3 from '../../../../assets/images/layout/mobile/booking.png';
7
+ import ICon3Active from '../../../../assets/images/layout/mobile/booking-active.png';
8
+ import ICon4 from '../../../../assets/images/layout/mobile/admin.png';
9
+ import ICon4Active from '../../../../assets/images/layout/mobile/admin-active.png';
10
+ import { PAGE } from '../../../../constant/general';
11
+ import { currentPage, routerPush } from '../../../../utils/chat/chat-router';
12
12
  const LAYOUT_CONFIG = [
13
13
  {
14
14
  icon: ICon1,
@@ -1,7 +1,7 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
- import CButton from '@/components/ui/button/CButton.vue';
2
+ import CButton from '../../../components/ui/button/CButton.vue';
3
3
  import { computed } from 'vue';
4
- import CSpin from '@/components/common/spin/CSpin.vue';
4
+ import CSpin from '../../../components/common/spin/CSpin.vue';
5
5
  const props = withDefaults(defineProps(), {
6
6
  size: 'middle',
7
7
  disabled: false,
@@ -1,6 +1,6 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { computed } from 'vue';
3
- import { CSwitch } from '@/components/ui/switch';
3
+ import { CSwitch } from '../../../components/ui/switch';
4
4
  const props = withDefaults(defineProps(), {
5
5
  modelValue: false,
6
6
  size: 'default',
@@ -1,6 +1,6 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { computed } from 'vue';
3
- import { Checkbox } from "@/components/ui/checkbox";
3
+ import { Checkbox } from "../../../components/ui/checkbox";
4
4
  const props = defineProps();
5
5
  const emit = defineEmits();
6
6
  const checked = computed({
@@ -1,6 +1,6 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  // COMPONENT
3
- import { Drawer, DrawerContent, DrawerHeader } from '@/components/ui/drawer';
3
+ import { Drawer, DrawerContent, DrawerHeader } from '../../../components/ui/drawer';
4
4
  const props = withDefaults(defineProps(), {
5
5
  title: 'This is title',
6
6
  placement: 'right',
@@ -1,6 +1,6 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { ref } from 'vue';
3
- import { DropdownMenu, DropdownMenuContent, DropdownMenuTrigger } from '@/components/ui/dropdown-menu';
3
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuTrigger } from '../../../components/ui/dropdown-menu';
4
4
  const props = withDefaults(defineProps(), {
5
5
  placement: 'bottomLeft'
6
6
  });
@@ -1,6 +1,6 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { computed } from 'vue';
3
- import { useDebounce } from '@/utils/debounce';
3
+ import { useDebounce } from '../../../utils/debounce';
4
4
  const props = withDefaults(defineProps(), {
5
5
  placeholder: 'Search...'
6
6
  });
@@ -2,9 +2,9 @@
2
2
  defineOptions({
3
3
  inheritAttrs: false
4
4
  });
5
- import { Dialog, DialogHeader, DialogTitle, DialogScrollContent } from '@/components/ui/dialog';
5
+ import { Dialog, DialogHeader, DialogTitle, DialogScrollContent } from '../../../components/ui/dialog';
6
6
  // COMPONENT
7
- // import BaseTitle from '@/components/common/base/BaseTitle.vue'
7
+ // import BaseTitle from '../../../components/common/base/BaseTitle.vue'
8
8
  import { useAttrs } from 'vue';
9
9
  const props = withDefaults(defineProps(), {
10
10
  title: 'This is title',
@@ -1,6 +1,6 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { computed } from 'vue';
3
- import { CSlider } from "@/components/ui/slider";
3
+ import { CSlider } from "../../../components/ui/slider";
4
4
  const props = withDefaults(defineProps(), {});
5
5
  const emits = defineEmits();
6
6
  const value = computed({
@@ -1,8 +1,8 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { ref, onBeforeUnmount, onMounted } from 'vue';
3
- import ModalBase from '@/components/common/modal/ModalBase.vue';
4
- import ButtonBase from '@/components/common/button/ButtonBase.vue';
5
- import { useModalConfirm } from '@/composable/useModalConfirm';
3
+ import ModalBase from '../../components/common/modal/ModalBase.vue';
4
+ import ButtonBase from '../../components/common/button/ButtonBase.vue';
5
+ import { useModalConfirm } from '../../composable/useModalConfirm';
6
6
  const { setHandleConfirm } = useModalConfirm();
7
7
  const confirmPayload = ref(null);
8
8
  const isVisible = ref(false);
@@ -1,6 +1,6 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { Primitive } from "reka-ui";
3
- import { cn } from "@/lib/utils";
3
+ import { cn } from "../../../lib/utils";
4
4
  import { buttonVariants } from "./c-button";
5
5
  const props = withDefaults(defineProps(), {
6
6
  as: "button",
@@ -2,7 +2,7 @@
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { Check } from "lucide-vue-next";
4
4
  import { CheckboxIndicator, CheckboxRoot, useForwardPropsEmits } from "reka-ui";
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../../lib/utils";
6
6
  const props = defineProps();
7
7
  const emits = defineEmits();
8
8
  const delegatedProps = reactiveOmit(props, "class");
@@ -2,7 +2,7 @@
2
2
  import { computed } from 'vue';
3
3
  import { reactiveOmit } from "@vueuse/core";
4
4
  import { DialogContent, DialogOverlay, DialogPortal, useForwardPropsEmits, } from "reka-ui";
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../../lib/utils";
6
6
  const props = defineProps();
7
7
  const emits = defineEmits();
8
8
  const delegatedProps = reactiveOmit(props, "class");
@@ -1,7 +1,7 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { DialogDescription, useForwardProps } from "reka-ui";
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../../lib/utils";
5
5
  const props = defineProps();
6
6
  const delegatedProps = reactiveOmit(props, "class");
7
7
  const forwardedProps = useForwardProps(delegatedProps);
@@ -1,5 +1,5 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
- import { cn } from "@/lib/utils";
2
+ import { cn } from "../../../lib/utils";
3
3
  const props = defineProps();
4
4
  debugger; /* PartiallyEnd: #3632/scriptSetup.vue */
5
5
  const __VLS_ctx = {
@@ -1,5 +1,5 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
- import { cn } from "@/lib/utils";
2
+ import { cn } from "../../../lib/utils";
3
3
  const props = defineProps();
4
4
  debugger; /* PartiallyEnd: #3632/scriptSetup.vue */
5
5
  const __VLS_ctx = {
@@ -2,7 +2,7 @@
2
2
  import { computed } from 'vue';
3
3
  import { reactiveOmit } from '@vueuse/core';
4
4
  import { DialogContent, DialogOverlay, DialogPortal, useForwardPropsEmits } from 'reka-ui';
5
- import { cn } from '@/lib/utils';
5
+ import { cn } from '../../../lib/utils';
6
6
  defineOptions({ inheritAttrs: false });
7
7
  const props = defineProps();
8
8
  const emits = defineEmits();
@@ -1,7 +1,7 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { DialogTitle, useForwardProps } from "reka-ui";
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../../lib/utils";
5
5
  const props = defineProps();
6
6
  const delegatedProps = reactiveOmit(props, "class");
7
7
  const forwardedProps = useForwardProps(delegatedProps);
@@ -2,7 +2,7 @@
2
2
  import { computed } from 'vue';
3
3
  import { useForwardPropsEmits } from 'reka-ui';
4
4
  import { DrawerContent, DrawerPortal } from 'vaul-vue';
5
- import { cn } from '@/lib/utils';
5
+ import { cn } from '../../../lib/utils';
6
6
  import DrawerOverlay from './DrawerOverlay.vue';
7
7
  const props = defineProps();
8
8
  const emits = defineEmits();
@@ -1,7 +1,7 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { DrawerDescription } from "vaul-vue";
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../../lib/utils";
5
5
  const props = defineProps();
6
6
  const delegatedProps = reactiveOmit(props, "class");
7
7
  debugger; /* PartiallyEnd: #3632/scriptSetup.vue */
@@ -1,5 +1,5 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
- import { cn } from "@/lib/utils";
2
+ import { cn } from "../../../lib/utils";
3
3
  const props = defineProps();
4
4
  debugger; /* PartiallyEnd: #3632/scriptSetup.vue */
5
5
  const __VLS_ctx = {
@@ -1,5 +1,5 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
- import { cn } from "@/lib/utils";
2
+ import { cn } from "../../../lib/utils";
3
3
  const props = defineProps();
4
4
  debugger; /* PartiallyEnd: #3632/scriptSetup.vue */
5
5
  const __VLS_ctx = {
@@ -1,7 +1,7 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { DrawerOverlay } from "vaul-vue";
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../../lib/utils";
5
5
  const props = defineProps();
6
6
  const delegatedProps = reactiveOmit(props, "class");
7
7
  debugger; /* PartiallyEnd: #3632/scriptSetup.vue */
@@ -1,7 +1,7 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { DrawerTitle } from "vaul-vue";
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../../lib/utils";
5
5
  const props = defineProps();
6
6
  const delegatedProps = reactiveOmit(props, "class");
7
7
  debugger; /* PartiallyEnd: #3632/scriptSetup.vue */
@@ -2,7 +2,7 @@
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { Check } from "lucide-vue-next";
4
4
  import { DropdownMenuCheckboxItem, DropdownMenuItemIndicator, useForwardPropsEmits, } from "reka-ui";
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../../lib/utils";
6
6
  const props = defineProps();
7
7
  const emits = defineEmits();
8
8
  const delegatedProps = reactiveOmit(props, "class");
@@ -1,7 +1,7 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { DropdownMenuContent, DropdownMenuPortal, useForwardPropsEmits, } from "reka-ui";
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../../lib/utils";
5
5
  const props = withDefaults(defineProps(), {
6
6
  sideOffset: 4,
7
7
  });
@@ -1,7 +1,7 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { DropdownMenuItem, useForwardProps } from "reka-ui";
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../../lib/utils";
5
5
  const props = defineProps();
6
6
  const delegatedProps = reactiveOmit(props, "class");
7
7
  const forwardedProps = useForwardProps(delegatedProps);
@@ -1,7 +1,7 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { DropdownMenuLabel, useForwardProps } from "reka-ui";
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../../lib/utils";
5
5
  const props = defineProps();
6
6
  const delegatedProps = reactiveOmit(props, "class");
7
7
  const forwardedProps = useForwardProps(delegatedProps);
@@ -2,7 +2,7 @@
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { Circle } from "lucide-vue-next";
4
4
  import { DropdownMenuItemIndicator, DropdownMenuRadioItem, useForwardPropsEmits, } from "reka-ui";
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../../lib/utils";
6
6
  const props = defineProps();
7
7
  const emits = defineEmits();
8
8
  const delegatedProps = reactiveOmit(props, "class");
@@ -1,7 +1,7 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { DropdownMenuSeparator, } from "reka-ui";
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../../lib/utils";
5
5
  const props = defineProps();
6
6
  const delegatedProps = reactiveOmit(props, "class");
7
7
  debugger; /* PartiallyEnd: #3632/scriptSetup.vue */
@@ -1,5 +1,5 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
- import { cn } from "@/lib/utils";
2
+ import { cn } from "../../../lib/utils";
3
3
  const props = defineProps();
4
4
  debugger; /* PartiallyEnd: #3632/scriptSetup.vue */
5
5
  const __VLS_ctx = {
@@ -1,7 +1,7 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { DropdownMenuSubContent, useForwardPropsEmits, } from "reka-ui";
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../../lib/utils";
5
5
  const props = defineProps();
6
6
  const emits = defineEmits();
7
7
  const delegatedProps = reactiveOmit(props, "class");
@@ -2,7 +2,7 @@
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { ChevronRight } from "lucide-vue-next";
4
4
  import { DropdownMenuSubTrigger, useForwardProps, } from "reka-ui";
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../../lib/utils";
6
6
  const props = defineProps();
7
7
  const delegatedProps = reactiveOmit(props, "class");
8
8
  const forwardedProps = useForwardProps(delegatedProps);
@@ -1,7 +1,7 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { PopoverContent, PopoverPortal, useForwardPropsEmits, } from "reka-ui";
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../../lib/utils";
5
5
  defineOptions({
6
6
  inheritAttrs: false,
7
7
  });
@@ -1,7 +1,7 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { RadioGroupRoot, useForwardPropsEmits } from "reka-ui";
4
- import { cn } from "@/lib/utils";
4
+ import { cn } from "../../../lib/utils";
5
5
  const props = defineProps();
6
6
  const emits = defineEmits();
7
7
  const delegatedProps = reactiveOmit(props, "class");
@@ -2,7 +2,7 @@
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { Circle } from "lucide-vue-next";
4
4
  import { RadioGroupIndicator, RadioGroupItem, useForwardProps, } from "reka-ui";
5
- import { cn } from "@/lib/utils";
5
+ import { cn } from "../../../lib/utils";
6
6
  const props = defineProps();
7
7
  const delegatedProps = reactiveOmit(props, "class");
8
8
  const forwardedProps = useForwardProps(delegatedProps);
@@ -1,7 +1,7 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { reactiveOmit } from '@vueuse/core';
3
3
  import { SliderRange, SliderRoot, SliderThumb, SliderTrack, useForwardPropsEmits } from 'reka-ui';
4
- import { cn } from '@/lib/utils';
4
+ import { cn } from '../../../lib/utils';
5
5
  const props = defineProps();
6
6
  const emits = defineEmits();
7
7
  const delegatedProps = reactiveOmit(props, 'class');
@@ -1,7 +1,7 @@
1
1
  /// <reference types="C:/phonghq/go-chat/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
2
2
  import { reactiveOmit } from '@vueuse/core';
3
3
  import { SwitchRoot, SwitchThumb, useForwardPropsEmits } from 'reka-ui';
4
- import { cn } from '@/lib/utils';
4
+ import { cn } from '../../../lib/utils';
5
5
  const props = defineProps();
6
6
  const emits = defineEmits();
7
7
  const delegatedProps = reactiveOmit(props, 'class');
@@ -1,4 +1,4 @@
1
- import type { IResUser } from '@/types/message';
1
+ import type { IResUser } from '../types/message';
2
2
  type Offer = {
3
3
  link: string;
4
4
  offer: any;