@phonghq/go-chat 1.0.71 → 1.0.73
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/icons/chat/IconMenuDot.vue.js +31 -0
- package/dist/assets/icons/customer-appointment/IconChevronRight.vue.d.ts +2 -0
- package/dist/assets/icons/customer-appointment/IconChevronRight.vue.js +22 -0
- package/dist/assets/icons/global/IconMessageOutline.vue.d.ts +2 -0
- package/dist/assets/icons/global/IconMessageOutline.vue.js +22 -0
- package/dist/assets/icons/global/IconSms.vue.js +1 -1
- package/dist/assets/icons/lib/IconZoomOut.vue.d.ts +5 -0
- package/dist/assets/icons/lib/IconZoomOut.vue.js +52 -0
- package/dist/chat/App.vue.d.ts +14 -9
- package/dist/chat/App.vue.js +410 -514
- package/dist/chat/ChatHeader.vue.d.ts +15 -0
- package/dist/chat/ChatHeader.vue.js +218 -0
- package/dist/chat/page/customer-appointment/CustomerAppointment.vue.d.ts +8 -1
- package/dist/chat/page/customer-appointment/CustomerAppointment.vue.js +66 -11
- package/dist/chat/page/customer-detail/SubInformation.vue.js +41 -9
- package/dist/chat/page/home/ChatList.vue.d.ts +6 -0
- package/dist/chat/page/home/ChatList.vue.js +65 -32
- package/dist/chat/page/home/ChatMessage.vue.js +11 -1
- package/dist/chat/page/home/ChatMessageItem.vue.d.ts +1 -0
- package/dist/chat/page/home/ChatMessageItem.vue.js +44 -5
- package/dist/chat/page/home/Home.vue.d.ts +1 -0
- package/dist/chat/page/home/Home.vue.js +134 -123
- package/dist/chat/page/home/HomeHeader.vue.js +103 -10
- package/dist/chat/page/home/NewCustomer.vue.js +11 -9
- package/dist/chat/page/home/PhoneNumpad.vue.d.ts +4 -0
- package/dist/chat/page/home/PhoneNumpad.vue.js +39 -21
- package/dist/components/chat/call/Calling.vue.js +5 -18
- package/dist/components/common/dropdown/DropdownBase.vue.d.ts +4 -4
- package/dist/components/common/dropdown/DropdownBase.vue.js +11 -9
- package/dist/components/common/select/SelectBase.vue.d.ts +9 -4
- package/dist/components/common/select/SelectBase.vue.js +49 -31
- package/dist/components/ui/button/c-button.js +1 -1
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +2 -2
- package/dist/components/ui/dialog/DialogScrollContent.vue.d.ts +2 -2
- package/dist/components/ui/drawer/DrawerContent.vue.d.ts +2 -2
- package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +3 -3
- package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.js +11 -6
- package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +4 -4
- package/dist/components/ui/popover/PopoverContent.vue.d.ts +2 -2
- package/dist/components/ui/select/SelectContent.vue.js +7 -2
- package/dist/components/ui/select/SelectItem.vue.js +2 -2
- package/dist/composable/useInitData.js +2 -0
- package/dist/composable/useListConversations.d.ts +5 -1
- package/dist/composable/useListConversations.js +42 -31
- package/dist/composable/useListentEvent.js +20 -2
- package/dist/composable/usePlivo.d.ts +0 -2
- package/dist/composable/usePlivo.js +5 -11
- package/dist/go-chat.es.js +18061 -16541
- package/dist/go-chat.umd.js +23 -23
- package/dist/style.css +1 -1
- package/dist/types/chat/global.d.ts +35 -10
- package/dist/utils/chat/queue.d.ts +7 -0
- package/dist/utils/chat/queue.js +30 -0
- package/dist/utils/chat/store/conversation.d.ts +1 -0
- package/dist/utils/chat/store/conversation.js +4 -0
- package/dist/utils/chat/store/message.d.ts +0 -4
- package/dist/utils/chat/store/message.js +0 -4
- package/dist/utils/chat/store/time-limit.d.ts +5 -0
- package/dist/utils/chat/store/time-limit.js +8 -0
- package/dist/utils/string-helper.d.ts +1 -0
- package/dist/utils/string-helper.js +3 -0
- package/dist/views/home/phone-numpad/ConvercationList.vue.d.ts +1 -0
- package/dist/views/home/phone-numpad/ConvercationList.vue.js +4 -1
- package/dist/views/home/phone-numpad/PhoneNumpad.vue.d.ts +6 -2
- package/dist/views/home/phone-numpad/PhoneNumpad.vue.js +43 -17
- package/package.json +1 -1
- package/dist/assets/icons/call/IconPhoneBase.vue.js +0 -20
- /package/dist/assets/icons/{call/IconPhoneBase.vue.d.ts → chat/IconMenuDot.vue.d.ts} +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { PAGE_RESPONSIVE } from '../types/chat/global';
|
|
2
|
+
type Props = {
|
|
3
|
+
response: PAGE_RESPONSIVE;
|
|
4
|
+
isLib?: boolean;
|
|
5
|
+
currentPageConfig: any;
|
|
6
|
+
isZoomIn?: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
9
|
+
close: () => any;
|
|
10
|
+
"zoom-change": () => any;
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
12
|
+
onClose?: (() => any) | undefined;
|
|
13
|
+
"onZoom-change"?: (() => any) | undefined;
|
|
14
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
|
+
export default _default;
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/// <reference types="C:/phonghq/go-chat-v2/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
|
|
2
|
+
import { dataProfile } from '../utils/chat/store/auth';
|
|
3
|
+
import { phoneNumberFormat } from '../utils/string-helper';
|
|
4
|
+
import IconArrowLeft from '../assets/icons/global/IconArrowLeft.vue';
|
|
5
|
+
import IconZoomOut from '../assets/icons/lib/IconZoomOut.vue';
|
|
6
|
+
import IconCloseCircle from '../assets/icons/global/IconCloseCircle.vue';
|
|
7
|
+
import { computed } from 'vue';
|
|
8
|
+
import { timeLimit } from '../utils/chat/store/time-limit';
|
|
9
|
+
const props = withDefaults(defineProps(), {});
|
|
10
|
+
const emit = defineEmits();
|
|
11
|
+
const limitTimeLabel = computed(() => {
|
|
12
|
+
const m2 = Math.floor(timeLimit.value / 60);
|
|
13
|
+
const s2 = timeLimit.value % 60;
|
|
14
|
+
return `${m2.toString().padStart(2, '0')}:${s2.toString().padStart(2, '0')}`;
|
|
15
|
+
});
|
|
16
|
+
debugger; /* PartiallyEnd: #3632/scriptSetup.vue */
|
|
17
|
+
const __VLS_defaults = {};
|
|
18
|
+
const __VLS_ctx = {
|
|
19
|
+
...{},
|
|
20
|
+
...{},
|
|
21
|
+
...{},
|
|
22
|
+
...{},
|
|
23
|
+
...{},
|
|
24
|
+
};
|
|
25
|
+
let __VLS_elements;
|
|
26
|
+
let __VLS_components;
|
|
27
|
+
let __VLS_directives;
|
|
28
|
+
if (__VLS_ctx.response == 'mobile' || __VLS_ctx.isLib) {
|
|
29
|
+
// @ts-ignore
|
|
30
|
+
[response, isLib,];
|
|
31
|
+
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
32
|
+
...{ class: "text-[#141B34] shrink-0" },
|
|
33
|
+
...{ class: (__VLS_ctx.response == 'mobile' ? 'px-4' : 'px-6') },
|
|
34
|
+
});
|
|
35
|
+
// @ts-ignore
|
|
36
|
+
[response,];
|
|
37
|
+
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
38
|
+
...{ class: "flex items-center justify-between" },
|
|
39
|
+
});
|
|
40
|
+
if (__VLS_ctx.currentPageConfig?.backFunc && !__VLS_ctx.currentPageConfig?.isHidden) {
|
|
41
|
+
// @ts-ignore
|
|
42
|
+
[currentPageConfig, currentPageConfig,];
|
|
43
|
+
__VLS_asFunctionalElement(__VLS_elements.button, __VLS_elements.button)({
|
|
44
|
+
...{ onClick: (...[$event]) => {
|
|
45
|
+
if (!(__VLS_ctx.response == 'mobile' || __VLS_ctx.isLib))
|
|
46
|
+
return;
|
|
47
|
+
if (!(__VLS_ctx.currentPageConfig?.backFunc && !__VLS_ctx.currentPageConfig?.isHidden))
|
|
48
|
+
return;
|
|
49
|
+
__VLS_ctx.currentPageConfig.backFunc?.();
|
|
50
|
+
// @ts-ignore
|
|
51
|
+
[currentPageConfig,];
|
|
52
|
+
} },
|
|
53
|
+
...{ class: "flex items-center" },
|
|
54
|
+
});
|
|
55
|
+
/** @type {[typeof IconArrowLeft, ]} */ ;
|
|
56
|
+
// @ts-ignore
|
|
57
|
+
const __VLS_0 = __VLS_asFunctionalComponent(IconArrowLeft, new IconArrowLeft({}));
|
|
58
|
+
const __VLS_1 = __VLS_0({}, ...__VLS_functionalComponentArgsRest(__VLS_0));
|
|
59
|
+
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
60
|
+
...{ class: "ml-3" },
|
|
61
|
+
});
|
|
62
|
+
__VLS_asFunctionalElement(__VLS_elements.p, __VLS_elements.p)({
|
|
63
|
+
...{ class: "text-xl font-semibold text-left text-chat-haze-900" },
|
|
64
|
+
});
|
|
65
|
+
if (__VLS_ctx.currentPageConfig.backTitle != 'logo') {
|
|
66
|
+
// @ts-ignore
|
|
67
|
+
[currentPageConfig,];
|
|
68
|
+
__VLS_asFunctionalElement(__VLS_elements.span, __VLS_elements.span)({});
|
|
69
|
+
(__VLS_ctx.currentPageConfig.backTitle ?? '');
|
|
70
|
+
// @ts-ignore
|
|
71
|
+
[currentPageConfig,];
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
__VLS_asFunctionalElement(__VLS_elements.img)({
|
|
75
|
+
...{ class: "h-7" },
|
|
76
|
+
src: "@/assets/images/logo-1.png",
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
if (__VLS_ctx.currentPageConfig.backTitle != 'logo') {
|
|
80
|
+
// @ts-ignore
|
|
81
|
+
[currentPageConfig,];
|
|
82
|
+
__VLS_asFunctionalElement(__VLS_elements.p, __VLS_elements.p)({
|
|
83
|
+
...{ class: "text-sm font-medium text-chat-haze-900" },
|
|
84
|
+
});
|
|
85
|
+
(__VLS_ctx.currentPageConfig.subTitle ?? '');
|
|
86
|
+
// @ts-ignore
|
|
87
|
+
[currentPageConfig,];
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
__VLS_asFunctionalElement(__VLS_elements.p, __VLS_elements.p)({
|
|
91
|
+
...{ class: "text-sm font-medium text-chat-haze-900" },
|
|
92
|
+
});
|
|
93
|
+
(__VLS_ctx.currentPageConfig.subTitle ?? '');
|
|
94
|
+
// @ts-ignore
|
|
95
|
+
[currentPageConfig,];
|
|
96
|
+
__VLS_asFunctionalElement(__VLS_elements.span, __VLS_elements.span)({});
|
|
97
|
+
(__VLS_ctx.limitTimeLabel);
|
|
98
|
+
// @ts-ignore
|
|
99
|
+
[limitTimeLabel,];
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
else if (__VLS_ctx.dataProfile?.user_type == 'tenant') {
|
|
103
|
+
// @ts-ignore
|
|
104
|
+
[dataProfile,];
|
|
105
|
+
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({});
|
|
106
|
+
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
107
|
+
...{ class: "flex gap-2" },
|
|
108
|
+
});
|
|
109
|
+
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
110
|
+
...{ class: "text-chat-haze-700" },
|
|
111
|
+
});
|
|
112
|
+
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
113
|
+
...{ class: "font-medium text-gray-700" },
|
|
114
|
+
});
|
|
115
|
+
(__VLS_ctx.phoneNumberFormat(__VLS_ctx.dataProfile?.phone ?? '') ?? '');
|
|
116
|
+
// @ts-ignore
|
|
117
|
+
[dataProfile, phoneNumberFormat,];
|
|
118
|
+
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
119
|
+
...{ class: "flex gap-2" },
|
|
120
|
+
});
|
|
121
|
+
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
122
|
+
...{ class: "text-chat-haze-700" },
|
|
123
|
+
});
|
|
124
|
+
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
125
|
+
...{ class: "font-medium text-gray-700" },
|
|
126
|
+
});
|
|
127
|
+
('Time Left: ' + __VLS_ctx.limitTimeLabel);
|
|
128
|
+
// @ts-ignore
|
|
129
|
+
[limitTimeLabel,];
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
__VLS_asFunctionalElement(__VLS_elements.span, __VLS_elements.span)({});
|
|
133
|
+
}
|
|
134
|
+
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
135
|
+
...{ class: "flex items-center" },
|
|
136
|
+
});
|
|
137
|
+
__VLS_asFunctionalElement(__VLS_elements.button, __VLS_elements.button)({
|
|
138
|
+
...{ onClick: (...[$event]) => {
|
|
139
|
+
if (!(__VLS_ctx.response == 'mobile' || __VLS_ctx.isLib))
|
|
140
|
+
return;
|
|
141
|
+
__VLS_ctx.emit('zoom-change');
|
|
142
|
+
// @ts-ignore
|
|
143
|
+
[emit,];
|
|
144
|
+
} },
|
|
145
|
+
...{ class: "w-10 h-10 flex-center" },
|
|
146
|
+
});
|
|
147
|
+
/** @type {[typeof IconZoomOut, ]} */ ;
|
|
148
|
+
// @ts-ignore
|
|
149
|
+
const __VLS_4 = __VLS_asFunctionalComponent(IconZoomOut, new IconZoomOut({
|
|
150
|
+
isZoomIn: (__VLS_ctx.isZoomIn),
|
|
151
|
+
}));
|
|
152
|
+
const __VLS_5 = __VLS_4({
|
|
153
|
+
isZoomIn: (__VLS_ctx.isZoomIn),
|
|
154
|
+
}, ...__VLS_functionalComponentArgsRest(__VLS_4));
|
|
155
|
+
// @ts-ignore
|
|
156
|
+
[isZoomIn,];
|
|
157
|
+
if (props.isLib) {
|
|
158
|
+
__VLS_asFunctionalElement(__VLS_elements.button, __VLS_elements.button)({
|
|
159
|
+
...{ onClick: (...[$event]) => {
|
|
160
|
+
if (!(__VLS_ctx.response == 'mobile' || __VLS_ctx.isLib))
|
|
161
|
+
return;
|
|
162
|
+
if (!(props.isLib))
|
|
163
|
+
return;
|
|
164
|
+
__VLS_ctx.emit('close');
|
|
165
|
+
// @ts-ignore
|
|
166
|
+
[emit,];
|
|
167
|
+
} },
|
|
168
|
+
...{ class: "w-10 h-10 flex-center" },
|
|
169
|
+
});
|
|
170
|
+
/** @type {[typeof IconCloseCircle, ]} */ ;
|
|
171
|
+
// @ts-ignore
|
|
172
|
+
const __VLS_8 = __VLS_asFunctionalComponent(IconCloseCircle, new IconCloseCircle({}));
|
|
173
|
+
const __VLS_9 = __VLS_8({}, ...__VLS_functionalComponentArgsRest(__VLS_8));
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/** @type {__VLS_StyleScopedClasses['text-[#141B34]']} */ ;
|
|
177
|
+
/** @type {__VLS_StyleScopedClasses['shrink-0']} */ ;
|
|
178
|
+
/** @type {__VLS_StyleScopedClasses['flex']} */ ;
|
|
179
|
+
/** @type {__VLS_StyleScopedClasses['items-center']} */ ;
|
|
180
|
+
/** @type {__VLS_StyleScopedClasses['justify-between']} */ ;
|
|
181
|
+
/** @type {__VLS_StyleScopedClasses['flex']} */ ;
|
|
182
|
+
/** @type {__VLS_StyleScopedClasses['items-center']} */ ;
|
|
183
|
+
/** @type {__VLS_StyleScopedClasses['ml-3']} */ ;
|
|
184
|
+
/** @type {__VLS_StyleScopedClasses['text-xl']} */ ;
|
|
185
|
+
/** @type {__VLS_StyleScopedClasses['font-semibold']} */ ;
|
|
186
|
+
/** @type {__VLS_StyleScopedClasses['text-left']} */ ;
|
|
187
|
+
/** @type {__VLS_StyleScopedClasses['text-chat-haze-900']} */ ;
|
|
188
|
+
/** @type {__VLS_StyleScopedClasses['h-7']} */ ;
|
|
189
|
+
/** @type {__VLS_StyleScopedClasses['text-sm']} */ ;
|
|
190
|
+
/** @type {__VLS_StyleScopedClasses['font-medium']} */ ;
|
|
191
|
+
/** @type {__VLS_StyleScopedClasses['text-chat-haze-900']} */ ;
|
|
192
|
+
/** @type {__VLS_StyleScopedClasses['text-sm']} */ ;
|
|
193
|
+
/** @type {__VLS_StyleScopedClasses['font-medium']} */ ;
|
|
194
|
+
/** @type {__VLS_StyleScopedClasses['text-chat-haze-900']} */ ;
|
|
195
|
+
/** @type {__VLS_StyleScopedClasses['flex']} */ ;
|
|
196
|
+
/** @type {__VLS_StyleScopedClasses['gap-2']} */ ;
|
|
197
|
+
/** @type {__VLS_StyleScopedClasses['text-chat-haze-700']} */ ;
|
|
198
|
+
/** @type {__VLS_StyleScopedClasses['font-medium']} */ ;
|
|
199
|
+
/** @type {__VLS_StyleScopedClasses['text-gray-700']} */ ;
|
|
200
|
+
/** @type {__VLS_StyleScopedClasses['flex']} */ ;
|
|
201
|
+
/** @type {__VLS_StyleScopedClasses['gap-2']} */ ;
|
|
202
|
+
/** @type {__VLS_StyleScopedClasses['text-chat-haze-700']} */ ;
|
|
203
|
+
/** @type {__VLS_StyleScopedClasses['font-medium']} */ ;
|
|
204
|
+
/** @type {__VLS_StyleScopedClasses['text-gray-700']} */ ;
|
|
205
|
+
/** @type {__VLS_StyleScopedClasses['flex']} */ ;
|
|
206
|
+
/** @type {__VLS_StyleScopedClasses['items-center']} */ ;
|
|
207
|
+
/** @type {__VLS_StyleScopedClasses['w-10']} */ ;
|
|
208
|
+
/** @type {__VLS_StyleScopedClasses['h-10']} */ ;
|
|
209
|
+
/** @type {__VLS_StyleScopedClasses['flex-center']} */ ;
|
|
210
|
+
/** @type {__VLS_StyleScopedClasses['w-10']} */ ;
|
|
211
|
+
/** @type {__VLS_StyleScopedClasses['h-10']} */ ;
|
|
212
|
+
/** @type {__VLS_StyleScopedClasses['flex-center']} */ ;
|
|
213
|
+
const __VLS_export = (await import('vue')).defineComponent({
|
|
214
|
+
__typeEmits: {},
|
|
215
|
+
__typeProps: {},
|
|
216
|
+
props: {},
|
|
217
|
+
});
|
|
218
|
+
export default {};
|
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
type Prop = {
|
|
2
|
+
isBookingAdmin?: boolean;
|
|
3
|
+
};
|
|
4
|
+
declare const _default: import("vue").DefineComponent<Prop, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
5
|
+
"booking-admin:viewAppointment": (id: any) => any;
|
|
6
|
+
}, string, import("vue").PublicProps, Readonly<Prop> & Readonly<{
|
|
7
|
+
"onBooking-admin:viewAppointment"?: ((id: any) => any) | undefined;
|
|
8
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
2
9
|
export default _default;
|
|
@@ -7,6 +7,10 @@ import { CalendarStatus } from '../../../constant/user';
|
|
|
7
7
|
import dayjs from 'dayjs';
|
|
8
8
|
import { DATE_FORMATS } from '../../../constant/datetime';
|
|
9
9
|
import CollapseCheckIn from '../../../chat/page/customer-check-in/CollapseCheckIn.vue';
|
|
10
|
+
import IconChevronRight from '../../../assets/icons/customer-appointment/IconChevronRight.vue';
|
|
11
|
+
import ButtonBase from '../../../components/common/button/ButtonBase.vue';
|
|
12
|
+
const props = withDefaults(defineProps(), {});
|
|
13
|
+
const emit = defineEmits();
|
|
10
14
|
const appointment = computed(() => {
|
|
11
15
|
return getItemsByYear(userHistory.value?.appointment ?? [], 'start_time');
|
|
12
16
|
});
|
|
@@ -31,15 +35,19 @@ const statusColor = (type) => {
|
|
|
31
35
|
}
|
|
32
36
|
};
|
|
33
37
|
debugger; /* PartiallyEnd: #3632/scriptSetup.vue */
|
|
38
|
+
const __VLS_defaults = {};
|
|
34
39
|
const __VLS_ctx = {
|
|
35
40
|
...{},
|
|
36
41
|
...{},
|
|
42
|
+
...{},
|
|
43
|
+
...{},
|
|
44
|
+
...{},
|
|
37
45
|
};
|
|
38
46
|
let __VLS_elements;
|
|
39
47
|
let __VLS_components;
|
|
40
48
|
let __VLS_directives;
|
|
41
49
|
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
42
|
-
...{ class: "chat-padding-page" },
|
|
50
|
+
...{ class: "chat-padding-page overflow-auto" },
|
|
43
51
|
});
|
|
44
52
|
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
45
53
|
...{ class: "flex justify-between items-center mb-5" },
|
|
@@ -69,12 +77,12 @@ for (const [year, i] of __VLS_getVForSourceType((__VLS_ctx.appointment))) {
|
|
|
69
77
|
/** @type {[typeof CollapseCheckIn, typeof CollapseCheckIn, ]} */ ;
|
|
70
78
|
// @ts-ignore
|
|
71
79
|
const __VLS_4 = __VLS_asFunctionalComponent(CollapseCheckIn, new CollapseCheckIn({
|
|
72
|
-
...{ class: "relative" },
|
|
80
|
+
...{ class: "relative mt-2" },
|
|
73
81
|
title: (year.year),
|
|
74
82
|
key: (i),
|
|
75
83
|
}));
|
|
76
84
|
const __VLS_5 = __VLS_4({
|
|
77
|
-
...{ class: "relative" },
|
|
85
|
+
...{ class: "relative mt-2" },
|
|
78
86
|
title: (year.year),
|
|
79
87
|
key: (i),
|
|
80
88
|
}, ...__VLS_functionalComponentArgsRest(__VLS_4));
|
|
@@ -95,12 +103,50 @@ for (const [year, i] of __VLS_getVForSourceType((__VLS_ctx.appointment))) {
|
|
|
95
103
|
{
|
|
96
104
|
const { header: __VLS_12 } = __VLS_10.slots;
|
|
97
105
|
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
98
|
-
...{ class: "flex justify-between items-center" },
|
|
99
|
-
});
|
|
100
|
-
__VLS_asFunctionalElement(__VLS_elements.p, __VLS_elements.p)({
|
|
101
|
-
...{ class: "text-lg text-chat-haze-600 font-bold" },
|
|
106
|
+
...{ class: "flex justify-between items-center mb-2" },
|
|
102
107
|
});
|
|
103
|
-
(
|
|
108
|
+
if (__VLS_ctx.isBookingAdmin) {
|
|
109
|
+
// @ts-ignore
|
|
110
|
+
[isBookingAdmin,];
|
|
111
|
+
/** @type {[typeof ButtonBase, typeof ButtonBase, ]} */ ;
|
|
112
|
+
// @ts-ignore
|
|
113
|
+
const __VLS_13 = __VLS_asFunctionalComponent(ButtonBase, new ButtonBase({
|
|
114
|
+
...{ 'onClick': {} },
|
|
115
|
+
type: "primary-outline",
|
|
116
|
+
...{ class: "" },
|
|
117
|
+
}));
|
|
118
|
+
const __VLS_14 = __VLS_13({
|
|
119
|
+
...{ 'onClick': {} },
|
|
120
|
+
type: "primary-outline",
|
|
121
|
+
...{ class: "" },
|
|
122
|
+
}, ...__VLS_functionalComponentArgsRest(__VLS_13));
|
|
123
|
+
let __VLS_16;
|
|
124
|
+
let __VLS_17;
|
|
125
|
+
const __VLS_18 = ({ click: {} },
|
|
126
|
+
{ onClick: (...[$event]) => {
|
|
127
|
+
if (!(__VLS_ctx.isBookingAdmin))
|
|
128
|
+
return;
|
|
129
|
+
__VLS_ctx.emit('booking-admin:viewAppointment', item.id);
|
|
130
|
+
// @ts-ignore
|
|
131
|
+
[emit,];
|
|
132
|
+
} });
|
|
133
|
+
const { default: __VLS_19 } = __VLS_15.slots;
|
|
134
|
+
__VLS_asFunctionalElement(__VLS_elements.p, __VLS_elements.p)({
|
|
135
|
+
...{ class: "text-lg font-bold" },
|
|
136
|
+
});
|
|
137
|
+
(item.id);
|
|
138
|
+
/** @type {[typeof IconChevronRight, ]} */ ;
|
|
139
|
+
// @ts-ignore
|
|
140
|
+
const __VLS_20 = __VLS_asFunctionalComponent(IconChevronRight, new IconChevronRight({}));
|
|
141
|
+
const __VLS_21 = __VLS_20({}, ...__VLS_functionalComponentArgsRest(__VLS_20));
|
|
142
|
+
var __VLS_15;
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
__VLS_asFunctionalElement(__VLS_elements.p, __VLS_elements.p)({
|
|
146
|
+
...{ class: "text-lg font-bold" },
|
|
147
|
+
});
|
|
148
|
+
(item.id);
|
|
149
|
+
}
|
|
104
150
|
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
105
151
|
...{ class: "translate-y-[-4px]" },
|
|
106
152
|
});
|
|
@@ -128,7 +174,7 @@ for (const [year, i] of __VLS_getVForSourceType((__VLS_ctx.appointment))) {
|
|
|
128
174
|
[dayjs, DATE_FORMATS,];
|
|
129
175
|
}
|
|
130
176
|
{
|
|
131
|
-
const { content:
|
|
177
|
+
const { content: __VLS_24 } = __VLS_10.slots;
|
|
132
178
|
for (const [service, i] of __VLS_getVForSourceType((item.services))) {
|
|
133
179
|
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
134
180
|
...{ class: "flex justify-between items-center" },
|
|
@@ -148,7 +194,9 @@ for (const [year, i] of __VLS_getVForSourceType((__VLS_ctx.appointment))) {
|
|
|
148
194
|
}
|
|
149
195
|
var __VLS_6;
|
|
150
196
|
}
|
|
197
|
+
/** @type {__VLS_StyleScopedClasses['']} */ ;
|
|
151
198
|
/** @type {__VLS_StyleScopedClasses['chat-padding-page']} */ ;
|
|
199
|
+
/** @type {__VLS_StyleScopedClasses['overflow-auto']} */ ;
|
|
152
200
|
/** @type {__VLS_StyleScopedClasses['flex']} */ ;
|
|
153
201
|
/** @type {__VLS_StyleScopedClasses['justify-between']} */ ;
|
|
154
202
|
/** @type {__VLS_StyleScopedClasses['items-center']} */ ;
|
|
@@ -175,14 +223,17 @@ for (const [year, i] of __VLS_getVForSourceType((__VLS_ctx.appointment))) {
|
|
|
175
223
|
/** @type {__VLS_StyleScopedClasses['w-1']} */ ;
|
|
176
224
|
/** @type {__VLS_StyleScopedClasses['mt-2']} */ ;
|
|
177
225
|
/** @type {__VLS_StyleScopedClasses['relative']} */ ;
|
|
226
|
+
/** @type {__VLS_StyleScopedClasses['mt-2']} */ ;
|
|
178
227
|
/** @type {__VLS_StyleScopedClasses['flex']} */ ;
|
|
179
228
|
/** @type {__VLS_StyleScopedClasses['flex-col']} */ ;
|
|
180
229
|
/** @type {__VLS_StyleScopedClasses['gap-y-3']} */ ;
|
|
181
230
|
/** @type {__VLS_StyleScopedClasses['flex']} */ ;
|
|
182
231
|
/** @type {__VLS_StyleScopedClasses['justify-between']} */ ;
|
|
183
232
|
/** @type {__VLS_StyleScopedClasses['items-center']} */ ;
|
|
233
|
+
/** @type {__VLS_StyleScopedClasses['mb-2']} */ ;
|
|
234
|
+
/** @type {__VLS_StyleScopedClasses['text-lg']} */ ;
|
|
235
|
+
/** @type {__VLS_StyleScopedClasses['font-bold']} */ ;
|
|
184
236
|
/** @type {__VLS_StyleScopedClasses['text-lg']} */ ;
|
|
185
|
-
/** @type {__VLS_StyleScopedClasses['text-chat-haze-600']} */ ;
|
|
186
237
|
/** @type {__VLS_StyleScopedClasses['font-bold']} */ ;
|
|
187
238
|
/** @type {__VLS_StyleScopedClasses['translate-y-[-4px]']} */ ;
|
|
188
239
|
/** @type {__VLS_StyleScopedClasses['w-max']} */ ;
|
|
@@ -203,5 +254,9 @@ for (const [year, i] of __VLS_getVForSourceType((__VLS_ctx.appointment))) {
|
|
|
203
254
|
/** @type {__VLS_StyleScopedClasses['font-medium']} */ ;
|
|
204
255
|
/** @type {__VLS_StyleScopedClasses['text-chat-haze-409']} */ ;
|
|
205
256
|
/** @type {__VLS_StyleScopedClasses['font-medium']} */ ;
|
|
206
|
-
const __VLS_export = (await import('vue')).defineComponent({
|
|
257
|
+
const __VLS_export = (await import('vue')).defineComponent({
|
|
258
|
+
__typeEmits: {},
|
|
259
|
+
__typeProps: {},
|
|
260
|
+
props: {},
|
|
261
|
+
});
|
|
207
262
|
export default {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="C:/phonghq/go-chat-v2/node_modules/.vue-global-types/vue_3.5_0.d.ts" />
|
|
2
2
|
import IconArrow from '../../../assets/icons/customer-detail/IconArrow.vue';
|
|
3
|
+
import ButtonBase from '../../../components/common/button/ButtonBase.vue';
|
|
3
4
|
const props = withDefaults(defineProps(), {
|
|
4
5
|
information: [],
|
|
5
6
|
title: ''
|
|
@@ -38,7 +39,7 @@ for (const [item, x] of __VLS_getVForSourceType((__VLS_ctx.information))) {
|
|
|
38
39
|
...{ onClick: (...[$event]) => {
|
|
39
40
|
item.click?.();
|
|
40
41
|
} },
|
|
41
|
-
...{ class: "flex items-center gap-1
|
|
42
|
+
...{ class: "flex items-center gap-1" },
|
|
42
43
|
...{ class: ({ 'cursor-pointer': item.click }) },
|
|
43
44
|
});
|
|
44
45
|
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
@@ -54,14 +55,41 @@ for (const [item, x] of __VLS_getVForSourceType((__VLS_ctx.information))) {
|
|
|
54
55
|
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
55
56
|
...{ class: "flex items-center text-chat-haze-300" },
|
|
56
57
|
});
|
|
57
|
-
(item.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
58
|
+
if (item.click) {
|
|
59
|
+
/** @type {[typeof ButtonBase, typeof ButtonBase, ]} */ ;
|
|
60
|
+
// @ts-ignore
|
|
61
|
+
const __VLS_5 = __VLS_asFunctionalComponent(ButtonBase, new ButtonBase({
|
|
62
|
+
type: "primary",
|
|
63
|
+
...{ class: "flex-center gap-0" },
|
|
64
|
+
}));
|
|
65
|
+
const __VLS_6 = __VLS_5({
|
|
66
|
+
type: "primary",
|
|
67
|
+
...{ class: "flex-center gap-0" },
|
|
68
|
+
}, ...__VLS_functionalComponentArgsRest(__VLS_5));
|
|
69
|
+
const { default: __VLS_8 } = __VLS_7.slots;
|
|
70
|
+
(item.value);
|
|
71
|
+
__VLS_asFunctionalElement(__VLS_elements.span, __VLS_elements.span)({
|
|
72
|
+
...{ class: "ml-1" },
|
|
73
|
+
});
|
|
74
|
+
/** @type {[typeof IconArrow, ]} */ ;
|
|
75
|
+
// @ts-ignore
|
|
76
|
+
const __VLS_9 = __VLS_asFunctionalComponent(IconArrow, new IconArrow({}));
|
|
77
|
+
const __VLS_10 = __VLS_9({}, ...__VLS_functionalComponentArgsRest(__VLS_9));
|
|
78
|
+
var __VLS_7;
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
__VLS_asFunctionalElement(__VLS_elements.div, __VLS_elements.div)({
|
|
82
|
+
...{ class: "flex-center" },
|
|
83
|
+
});
|
|
84
|
+
(item.value);
|
|
85
|
+
__VLS_asFunctionalElement(__VLS_elements.span, __VLS_elements.span)({
|
|
86
|
+
...{ class: "ml-1" },
|
|
87
|
+
});
|
|
88
|
+
/** @type {[typeof IconArrow, ]} */ ;
|
|
89
|
+
// @ts-ignore
|
|
90
|
+
const __VLS_13 = __VLS_asFunctionalComponent(IconArrow, new IconArrow({}));
|
|
91
|
+
const __VLS_14 = __VLS_13({}, ...__VLS_functionalComponentArgsRest(__VLS_13));
|
|
92
|
+
}
|
|
65
93
|
}
|
|
66
94
|
__VLS_asFunctionalElement(__VLS_elements.hr)({
|
|
67
95
|
...{ class: "border-chat-haze-100 mx-6" },
|
|
@@ -92,6 +120,10 @@ for (const [item, x] of __VLS_getVForSourceType((__VLS_ctx.information))) {
|
|
|
92
120
|
/** @type {__VLS_StyleScopedClasses['flex']} */ ;
|
|
93
121
|
/** @type {__VLS_StyleScopedClasses['items-center']} */ ;
|
|
94
122
|
/** @type {__VLS_StyleScopedClasses['text-chat-haze-300']} */ ;
|
|
123
|
+
/** @type {__VLS_StyleScopedClasses['flex-center']} */ ;
|
|
124
|
+
/** @type {__VLS_StyleScopedClasses['gap-0']} */ ;
|
|
125
|
+
/** @type {__VLS_StyleScopedClasses['ml-1']} */ ;
|
|
126
|
+
/** @type {__VLS_StyleScopedClasses['flex-center']} */ ;
|
|
95
127
|
/** @type {__VLS_StyleScopedClasses['ml-1']} */ ;
|
|
96
128
|
/** @type {__VLS_StyleScopedClasses['border-chat-haze-100']} */ ;
|
|
97
129
|
/** @type {__VLS_StyleScopedClasses['mx-6']} */ ;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { IConversation } from '../../../types/conversation';
|
|
2
|
+
import type { IResUser } from '../../../types/message';
|
|
2
3
|
import type { PAGE_RESPONSIVE } from '../../../types/chat/global';
|
|
3
4
|
type Props = {
|
|
4
5
|
responsive: PAGE_RESPONSIVE;
|
|
@@ -80,18 +81,23 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
|
80
81
|
initData: (option?: {
|
|
81
82
|
conversation_id?: any;
|
|
82
83
|
is_known?: string | undefined;
|
|
84
|
+
isResponsiveChange?: boolean | undefined;
|
|
83
85
|
} | undefined) => Promise<void>;
|
|
84
86
|
handleTabChange: (tab: any, option?: {
|
|
85
87
|
hideCheckHasReceiveId?: boolean | undefined;
|
|
86
88
|
hideLoading?: boolean | undefined;
|
|
89
|
+
isResponsiveChange?: boolean | undefined;
|
|
87
90
|
} | undefined) => Promise<void>;
|
|
91
|
+
goToConversationRequest: (conversation: IConversation) => Promise<void>;
|
|
88
92
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
89
93
|
"update:receiverId": (value: any) => any;
|
|
90
94
|
} & {
|
|
91
95
|
selectReceiver: (val: any) => any;
|
|
96
|
+
reloadReceiver: (data: IResUser) => any;
|
|
92
97
|
openPhoneNumpad: () => any;
|
|
93
98
|
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
94
99
|
onSelectReceiver?: ((val: any) => any) | undefined;
|
|
100
|
+
onReloadReceiver?: ((data: IResUser) => any) | undefined;
|
|
95
101
|
onOpenPhoneNumpad?: (() => any) | undefined;
|
|
96
102
|
"onUpdate:receiverId"?: ((value: any) => any) | undefined;
|
|
97
103
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|