@icvdeveloper/common-module 2.0.0 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/dist/module.d.mts +1055 -2
- package/dist/module.d.ts +1055 -2
- package/dist/module.json +1 -1
- package/dist/module.mjs +30 -24
- package/dist/runtime/analytics.d.ts +1 -6
- package/dist/runtime/assets/css/atcb.css +1 -0
- package/dist/runtime/assets/scss/_agenda.css +1 -0
- package/dist/runtime/assets/scss/_animations.css +1 -0
- package/dist/runtime/assets/scss/_container_variants.css +1 -0
- package/dist/runtime/assets/scss/_custom.css +3 -0
- package/dist/runtime/assets/scss/_forms.css +1 -0
- package/dist/runtime/assets/scss/_header.css +0 -0
- package/dist/runtime/assets/scss/_index_production.css +1 -0
- package/dist/runtime/assets/scss/_transitions.css +1 -0
- package/dist/runtime/assets/scss/_variables.css +1 -0
- package/dist/runtime/assets/scss/_variables2.css +0 -0
- package/dist/runtime/assets/scss/_webcast.css +1 -0
- package/dist/runtime/assets/scss/index.css +1 -0
- package/dist/runtime/components/affiliates/AffiliateModal.vue +1 -1
- package/dist/runtime/components/affiliates/AffiliatePage.vue +70 -105
- package/dist/runtime/components/agenda/AgendaList.vue +18 -14
- package/dist/runtime/components/agenda/AgendaTabbed.vue +23 -26
- package/dist/runtime/components/agenda/components/AgendaListAccordion.vue +8 -3
- package/dist/runtime/components/agenda/components/Calendar.vue +11 -8
- package/dist/runtime/components/agenda/components/Favorite.vue +7 -5
- package/dist/runtime/components/agenda/components/InfoLink.vue +15 -5
- package/dist/runtime/components/agenda/components/PlayIcon.vue +2 -4
- package/dist/runtime/components/agenda/components/PresentationLink.vue +16 -9
- package/dist/runtime/components/agenda/components/Sponsor.vue +31 -24
- package/dist/runtime/components/auth/PasswordReset.vue +20 -5
- package/dist/runtime/components/auth/Registration.vue +14 -4
- package/dist/runtime/components/auth/Ucc.vue +44 -27
- package/dist/runtime/components/chat/ChatConversationList.vue +11 -11
- package/dist/runtime/components/chat/ChatCreateConversation.vue +41 -47
- package/dist/runtime/components/chat/ChatCreateGroupConversation.vue +6 -11
- package/dist/runtime/components/chat/ChatHeader.vue +48 -49
- package/dist/runtime/components/chat/ChatShowConversation.vue +1 -2
- package/dist/runtime/components/chat/ChatWidget.vue +1 -26
- package/dist/runtime/components/chat/ChatWindow.vue +5 -71
- package/dist/runtime/components/chat/MessageInput.vue +1 -4
- package/dist/runtime/components/chat/SearchInput.vue +1 -1
- package/dist/runtime/components/core/Accordion.vue +11 -11
- package/dist/runtime/components/core/AttendeeList.vue +8 -22
- package/dist/runtime/components/core/CountdownTimer.vue +67 -51
- package/dist/runtime/components/core/DynamicHtml.vue.d.ts +5 -5
- package/dist/runtime/components/core/Modal.vue +3 -9
- package/dist/runtime/components/core/ModalButton.vue +2 -2
- package/dist/runtime/components/core/Navbar.vue +30 -18
- package/dist/runtime/components/core/Navigation.vue +22 -29
- package/dist/runtime/components/core/SvgIcon.vue +4 -1
- package/dist/runtime/components/core/VButton.vue +2 -8
- package/dist/runtime/components/core/ZoomModal.vue +9 -3
- package/dist/runtime/components/events/EventHeader.vue +14 -4
- package/dist/runtime/components/events/ListEvents.vue +18 -18
- package/dist/runtime/components/forms/Message.vue +1 -1
- package/dist/runtime/components/forms/SearchInput.vue +8 -2
- package/dist/runtime/components/forms/SelectDropDown.vue +4 -4
- package/dist/runtime/components/forms/SupportForm.vue +18 -7
- package/dist/runtime/components/forms/SwitchInput.vue +50 -30
- package/dist/runtime/components/forms/TextArea.vue +1 -1
- package/dist/runtime/components/forms/TextInput.vue +1 -1
- package/dist/runtime/components/layouts/Accordion.vue +9 -4
- package/dist/runtime/components/media/ArchivePlayerAndContentContainer.vue +4 -1
- package/dist/runtime/components/media/ArchiveVideoPlayer.vue +5 -17
- package/dist/runtime/components/media/PlayerAndContentContainer.vue +4 -1
- package/dist/runtime/components/media/WebcastVideoPlayer.vue +5 -17
- package/dist/runtime/components/media/components/AgendaPanel.vue +7 -6
- package/dist/runtime/components/media/components/ArchiveMediaContainer.vue +9 -7
- package/dist/runtime/components/media/components/CeCreditNotification.vue +6 -6
- package/dist/runtime/components/media/components/ContentArea.vue +8 -4
- package/dist/runtime/components/media/components/ContentTabs.vue +38 -26
- package/dist/runtime/components/media/components/DocumentsPanel.vue +17 -15
- package/dist/runtime/components/media/components/MediaContainer.vue +10 -8
- package/dist/runtime/components/media/components/OverviewPanel.vue +5 -2
- package/dist/runtime/components/media/components/PresentersPanel.vue +11 -11
- package/dist/runtime/components/media/components/SponsorsPanel.vue +10 -9
- package/dist/runtime/components/presenters/PresenterListing.vue +3 -5
- package/dist/runtime/components/presenters/Presenters.vue +8 -8
- package/dist/runtime/components/profile/components/SidebarNavItem.vue +1 -3
- package/dist/runtime/components/profile/tabs/ProfileImage.vue +7 -6
- package/dist/runtime/components/registration/AlreadyRegisteredModal.vue +10 -7
- package/dist/runtime/components/registration/PaymentForm.vue +10 -10
- package/dist/runtime/components/registration/RegistrationForm.vue +2 -2
- package/dist/runtime/components/registration/RegistrationGroupSelect.vue +11 -7
- package/dist/runtime/components/registration/StripePaymentForm.vue +11 -31
- package/dist/runtime/components/support/FAQAccordion.vue +8 -7
- package/dist/runtime/composables/useAdobeLaunch.d.ts +2 -7
- package/dist/runtime/composables/useAdobeLaunch.mjs +2 -2
- package/dist/runtime/composables/useAgenda.d.ts +1 -1
- package/dist/runtime/composables/useAgenda.mjs +28 -19
- package/dist/runtime/composables/useApi.d.ts +1 -1
- package/dist/runtime/composables/useAuth.d.ts +1 -1
- package/dist/runtime/composables/useClassBinding.d.ts +3 -1
- package/dist/runtime/composables/useConferenceHelpers.d.ts +2 -2
- package/dist/runtime/composables/useConferenceHelpers.mjs +11 -14
- package/dist/runtime/composables/useEventHooks.d.ts +6 -7
- package/dist/runtime/composables/useEvents.mjs +7 -9
- package/dist/runtime/composables/useLogin.mjs +2 -2
- package/dist/runtime/composables/useNavigation.d.ts +1 -1
- package/dist/runtime/composables/useNavigation.mjs +4 -2
- package/dist/runtime/composables/usePresentation.d.ts +2 -2
- package/dist/runtime/composables/usePresentation.mjs +7 -6
- package/dist/runtime/composables/usePresenter.d.ts +2 -2
- package/dist/runtime/composables/usePresenters.d.ts +2 -2
- package/dist/runtime/composables/useScripts.mjs +1 -1
- package/dist/runtime/composables/useStream.d.ts +2 -3
- package/dist/runtime/composables/useStream.mjs +1 -1
- package/dist/runtime/composables/useUcc.d.ts +1 -1
- package/dist/runtime/composables/useUcc.mjs +29 -23
- package/dist/runtime/enums/chatWindow.mjs +7 -0
- package/dist/runtime/models/adobeLaunch.d.ts +6 -0
- package/dist/runtime/models/adobeLaunch.mjs +0 -0
- package/dist/runtime/models/analytics.d.ts +6 -0
- package/dist/runtime/models/analytics.mjs +0 -0
- package/dist/runtime/models/attendeeList.d.ts +1 -1
- package/dist/runtime/models/conference.d.ts +109 -92
- package/dist/runtime/models/conversation.d.ts +10 -10
- package/dist/runtime/models/document.d.ts +5 -5
- package/dist/runtime/models/globalConfig.d.ts +4 -2
- package/dist/runtime/models/group.d.ts +18 -18
- package/dist/runtime/models/icons.d.ts +1 -1
- package/dist/runtime/models/index.d.ts +20 -0
- package/dist/runtime/models/index.mjs +20 -0
- package/dist/runtime/models/link.d.ts +4 -4
- package/dist/runtime/models/loginParams.d.ts +5 -0
- package/dist/runtime/models/loginParams.mjs +0 -0
- package/dist/runtime/models/navigationConfig.d.ts +7 -7
- package/dist/runtime/models/pagination.d.ts +11 -11
- package/dist/runtime/models/portal.d.ts +15 -10
- package/dist/runtime/models/templateConfig.d.ts +7 -7
- package/dist/runtime/models/ucc.d.ts +22 -0
- package/dist/runtime/models/ucc.mjs +0 -0
- package/dist/runtime/models/user.d.ts +28 -12
- package/dist/runtime/models/vButton.d.ts +7 -0
- package/dist/runtime/models/vButton.mjs +0 -0
- package/dist/runtime/models/video.d.ts +5 -4
- package/dist/runtime/models/virtualPagesConfig.d.ts +11 -123
- package/dist/runtime/models/vueEternalLoading.d.ts +11 -0
- package/dist/runtime/models/vueEternalLoading.mjs +0 -0
- package/dist/runtime/plugin.mjs +12 -9
- package/dist/runtime/store/affiliates.d.ts +1 -1
- package/dist/runtime/store/attendeeList.d.ts +1 -1
- package/dist/runtime/store/auth.d.ts +3 -7
- package/dist/runtime/store/conferences.mjs +8 -8
- package/dist/runtime/store/conversations.d.ts +26 -3988
- package/dist/runtime/store/conversations.mjs +7 -7
- package/dist/runtime/store/modalPlayerConfig.d.ts +17 -488
- package/dist/runtime/store/modalPlayerConfig.mjs +2 -2
- package/dist/runtime/store/navigationConfig.d.ts +1 -1
- package/dist/runtime/store/presentations.d.ts +2 -2
- package/dist/runtime/store/templateConfigs.d.ts +6 -6
- package/dist/runtime/store/templateConfigs.mjs +6 -6
- package/dist/runtime/store/user.mjs +0 -1
- package/dist/runtime/v3plusCommonPlugin.d.ts +1 -1
- package/dist/types.d.mts +3 -2
- package/dist/types.d.ts +3 -2
- package/package.json +13 -13
- package/dist/runtime/components/media/components/JsonApi.vue +0 -33
- package/dist/runtime/components/media/components/JsonApi.vue.d.ts +0 -16
- package/dist/runtime/components/media/components/WindowContent.vue +0 -118
- package/dist/runtime/components/media/components/WindowContent.vue.d.ts +0 -50
- package/dist/runtime/components/media/components/WindowSlide.vue +0 -92
- package/dist/runtime/components/media/components/WindowSlide.vue.d.ts +0 -36
- package/dist/runtime/models/authUser.d.ts +0 -17
- /package/dist/runtime/{models/authUser.mjs → assets/scss/_footer.css} +0 -0
- /package/dist/runtime/{components/chat/ChatWindow.vue.d.ts → enums/chatWindow.d.ts} +0 -0
|
@@ -33,7 +33,7 @@ const { conference } = toRefs(props);
|
|
|
33
33
|
|
|
34
34
|
// methods
|
|
35
35
|
const submitLogin = () => {
|
|
36
|
-
|
|
36
|
+
const email = document.getElementById('uccEmail').value;
|
|
37
37
|
loginV3({email: email});
|
|
38
38
|
};
|
|
39
39
|
|
|
@@ -76,42 +76,63 @@ onMounted(() => {
|
|
|
76
76
|
<template>
|
|
77
77
|
<div>
|
|
78
78
|
<!-- UCC Widget -->
|
|
79
|
-
<div
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
79
|
+
<div
|
|
80
|
+
id="uccTarget"
|
|
81
|
+
:class="
|
|
82
|
+
classBinding(
|
|
83
|
+
classObject,
|
|
84
|
+
'container',
|
|
85
|
+
'p-0 m-0 w-full'
|
|
86
|
+
)
|
|
87
|
+
"
|
|
88
|
+
style="display:block;"
|
|
89
|
+
/>
|
|
90
90
|
<!-- V3 email login form -->
|
|
91
|
-
<div
|
|
91
|
+
<div
|
|
92
|
+
id="uccEmailForm"
|
|
92
93
|
class="ucc-form-container ucc-widgets-events block"
|
|
93
|
-
style="padding-bottom:
|
|
94
|
+
style="padding-bottom: 0"
|
|
94
95
|
>
|
|
95
96
|
<div>
|
|
96
|
-
<h1
|
|
97
|
+
<h1
|
|
98
|
+
class="scala-bold text-xl text-center mb-0"
|
|
99
|
+
:class="headerColorClass"
|
|
100
|
+
>
|
|
97
101
|
{{ loginHeader }}
|
|
98
102
|
</h1>
|
|
99
103
|
</div>
|
|
100
104
|
<div class="text-center">
|
|
101
|
-
<form
|
|
105
|
+
<form
|
|
106
|
+
action="javascript:void(0);"
|
|
107
|
+
@submit="submitLogin"
|
|
108
|
+
>
|
|
102
109
|
<div class="ucc-form-field">
|
|
103
|
-
<div class="ucc-form-field-descr"
|
|
110
|
+
<div class="ucc-form-field-descr" />
|
|
104
111
|
<div class="ucc-input-wrapper required">
|
|
105
|
-
<input
|
|
112
|
+
<input
|
|
113
|
+
id="uccEmail"
|
|
114
|
+
name="uccEmail"
|
|
115
|
+
class="ucc-input"
|
|
116
|
+
type="text"
|
|
117
|
+
placeholder="Enter Email Address"
|
|
118
|
+
autocomplete="off"
|
|
119
|
+
maxlength="70"
|
|
120
|
+
>
|
|
106
121
|
</div>
|
|
107
|
-
<div class="ucc-error"
|
|
122
|
+
<div class="ucc-error" />
|
|
108
123
|
</div>
|
|
109
|
-
<div
|
|
124
|
+
<div
|
|
125
|
+
class="ucc-form-field ucc-form-btn-row"
|
|
126
|
+
style="margin-bottom: 0; margin-top: 0;"
|
|
127
|
+
>
|
|
110
128
|
<a
|
|
111
|
-
@click="submitLogin"
|
|
112
129
|
class="ucc-btn"
|
|
113
130
|
:class="buttonColorClass"
|
|
114
|
-
style="margin-top:
|
|
131
|
+
style="margin-top: 0;"
|
|
132
|
+
@click="submitLogin"
|
|
133
|
+
>
|
|
134
|
+
<span class="btn-text">{{ buttonText }}</span>
|
|
135
|
+
</a>
|
|
115
136
|
</div>
|
|
116
137
|
</form>
|
|
117
138
|
</div>
|
|
@@ -120,9 +141,5 @@ onMounted(() => {
|
|
|
120
141
|
</template>
|
|
121
142
|
|
|
122
143
|
<style scoped>
|
|
123
|
-
.v3-ucc-btn-black
|
|
124
|
-
background-color: #000;
|
|
125
|
-
border: 1px solid #000;
|
|
126
|
-
color: #fff;
|
|
127
|
-
}
|
|
144
|
+
.v3-ucc-btn-black{background-color:#000;border:1px solid #000;color:#fff}
|
|
128
145
|
</style>
|
|
@@ -94,15 +94,15 @@ onMounted(() => {
|
|
|
94
94
|
</div>
|
|
95
95
|
</template>
|
|
96
96
|
|
|
97
|
-
<style scoped>
|
|
98
|
-
.chat-item {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
97
|
+
<style scoped lang="postcss">
|
|
98
|
+
.chat-item {
|
|
99
|
+
@apply flex cursor-pointer flex-row p-4 border-b border-t-0 border-l-0 border-r-0 border-solid border-gray-400;
|
|
100
|
+
border-bottom: 1px solid #dae1e7;
|
|
101
|
+
&:hover {
|
|
102
|
+
background-color: lighten(#dae1e7, 5%);
|
|
103
|
+
}
|
|
104
|
+
&:active {
|
|
105
|
+
background-color: darken(#dae1e7, 5%);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
108
|
</style>
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import { inject, onMounted, onBeforeUnmount, ref,
|
|
2
|
+
import { inject, onMounted, onBeforeUnmount, ref, watch } from 'vue';
|
|
3
3
|
import { storeToRefs } from 'pinia';
|
|
4
4
|
import { debounce, find, remove } from 'lodash-es';
|
|
5
|
-
import { VueEternalLoading
|
|
5
|
+
import { VueEternalLoading } from '@ts-pro/vue-eternal-loading';
|
|
6
6
|
import { useConversationStore } from '#imports';
|
|
7
7
|
import { chatSearchEventHook } from '../../composables/useEventHooks';
|
|
8
|
-
import type {
|
|
9
|
-
import type { User } from '../../models/user';
|
|
8
|
+
import type { LoadAction } from '../../models/vueEternalLoading';
|
|
9
|
+
import type { User, UsersResult } from '../../models/user';
|
|
10
10
|
|
|
11
11
|
const conversationStore = useConversationStore();
|
|
12
|
-
|
|
13
12
|
const { user, users, isInitial } = storeToRefs(conversationStore);
|
|
14
13
|
|
|
15
14
|
const { getName, createConversation } = conversationStore;
|
|
@@ -18,12 +17,7 @@ const { getName, createConversation } = conversationStore;
|
|
|
18
17
|
const selectedUsers = ref<User[]>([] as User[]);
|
|
19
18
|
const filteredUsers = ref<UsersResult>({} as UsersResult);
|
|
20
19
|
|
|
21
|
-
//
|
|
22
|
-
const emit = defineEmits<{
|
|
23
|
-
(event: 'onCreate', value: User[]): void;
|
|
24
|
-
}>();
|
|
25
|
-
|
|
26
|
-
// injected load function
|
|
20
|
+
// injected load function
|
|
27
21
|
// (see Vue Eternal Loading docs for reference: https://ts-pro.github.io/vue-eternal-loading/guide/simple-usage.html)
|
|
28
22
|
const load = inject('attendeeListLoad', (loaded: LoadAction) => { console.log('no scroll'); loaded(0); })
|
|
29
23
|
|
|
@@ -40,7 +34,7 @@ const toggle = (user: User) => {
|
|
|
40
34
|
remove(array, (element) => {
|
|
41
35
|
return element.id === user.id;
|
|
42
36
|
});
|
|
43
|
-
|
|
37
|
+
|
|
44
38
|
selectedUsers.value = [...array];
|
|
45
39
|
}
|
|
46
40
|
};
|
|
@@ -167,39 +161,39 @@ onBeforeUnmount(() => {
|
|
|
167
161
|
</div>
|
|
168
162
|
</template>
|
|
169
163
|
|
|
170
|
-
<style scoped>
|
|
171
|
-
.disabled {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
.disabled:hover {
|
|
177
|
-
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
.create-conversation-button {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
.user-item {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
.selected-user-item {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
}
|
|
164
|
+
<style scoped lang="postcss">
|
|
165
|
+
.disabled {
|
|
166
|
+
opacity: 50%;
|
|
167
|
+
cursor: not-allowed;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.disabled:hover {
|
|
171
|
+
background-color: #3490dc !important;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.create-conversation-button {
|
|
175
|
+
border-bottom-left-radius: 9px;
|
|
176
|
+
border-bottom-right-radius: 9px;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.user-item {
|
|
180
|
+
@apply cursor-pointer flex items-center px-4 bg-gray-300;
|
|
181
|
+
border-bottom: 1px solid #dae1e7;
|
|
182
|
+
&:hover {
|
|
183
|
+
background-color: lighten(#dae1e7, 10%);
|
|
184
|
+
}
|
|
185
|
+
&:active {
|
|
186
|
+
background-color: darken(#dae1e7, 10%);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.selected-user-item {
|
|
191
|
+
@apply cursor-pointer flex items-center px-4 border-r-2 border-gray-400;
|
|
192
|
+
&:hover {
|
|
193
|
+
background-color: lighten(#dae1e7, 10%);
|
|
194
|
+
}
|
|
195
|
+
&:active {
|
|
196
|
+
background-color: darken(#dae1e7, 10%);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
205
199
|
</style>
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import { inject, onMounted, onBeforeUnmount, ref,
|
|
2
|
+
import { inject, onMounted, onBeforeUnmount, ref, watch } from 'vue';
|
|
3
3
|
import { storeToRefs } from 'pinia';
|
|
4
4
|
import { debounce, find, remove } from 'lodash-es';
|
|
5
|
-
import { VueEternalLoading
|
|
6
|
-
import { useConversationStore } from '
|
|
5
|
+
import { VueEternalLoading } from "@ts-pro/vue-eternal-loading";
|
|
6
|
+
import { useConversationStore } from '../../store/conversations';
|
|
7
7
|
import { chatSearchEventHook } from '../../composables/useEventHooks';
|
|
8
|
+
import type { LoadAction } from "../../models/vueEternalLoading";
|
|
8
9
|
import type { User } from '../../models/user';
|
|
9
10
|
|
|
10
11
|
// data
|
|
@@ -20,7 +21,7 @@ const emit = defineEmits<{
|
|
|
20
21
|
(event: 'onCreate', value: User[]): void;
|
|
21
22
|
}>();
|
|
22
23
|
|
|
23
|
-
// injected load function
|
|
24
|
+
// injected load function
|
|
24
25
|
// (see Vue Eternal Loading docs for reference: https://ts-pro.github.io/vue-eternal-loading/guide/simple-usage.html)
|
|
25
26
|
const load = inject('attendeeListLoad', (loaded: LoadAction) => { console.log('no scroll'); loaded(0); })
|
|
26
27
|
|
|
@@ -149,11 +150,5 @@ onBeforeUnmount(() => {
|
|
|
149
150
|
</template>
|
|
150
151
|
|
|
151
152
|
<style scoped>
|
|
152
|
-
|
|
153
|
-
background-color: #b8c2cc;
|
|
154
|
-
}
|
|
155
|
-
.create-conversation-button {
|
|
156
|
-
border-bottom-left-radius: 9px;
|
|
157
|
-
border-bottom-right-radius: 9px;
|
|
158
|
-
}
|
|
153
|
+
.selected{background-color:#b8c2cc}.create-conversation-button{border-bottom-left-radius:9px;border-bottom-right-radius:9px}
|
|
159
154
|
</style>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import { useConversationStore } from '
|
|
2
|
+
import { useConversationStore } from '../../store/conversations.js';
|
|
3
3
|
|
|
4
|
-
import { MenuOptions } from '
|
|
4
|
+
import { MenuOptions } from '../../enums/chatWindow';
|
|
5
5
|
|
|
6
6
|
const { toggleChat } = useConversationStore();
|
|
7
7
|
|
|
@@ -43,56 +43,55 @@ const emit = defineEmits<{
|
|
|
43
43
|
</div>
|
|
44
44
|
</template>
|
|
45
45
|
|
|
46
|
-
<style scoped>
|
|
47
|
-
.header {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
46
|
+
<style scoped lang="postcss">
|
|
47
|
+
.header {
|
|
48
|
+
border-top-left-radius: 9px;
|
|
49
|
+
border-top-right-radius: 9px;
|
|
50
|
+
padding: .25rem;
|
|
51
|
+
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
|
|
52
|
+
position: relative;
|
|
53
|
+
box-sizing: border-box;
|
|
54
|
+
display: flex;
|
|
55
|
+
}
|
|
56
|
+
.header-title {
|
|
57
|
+
align-self: center;
|
|
58
|
+
padding: 10px;
|
|
59
|
+
flex: 1;
|
|
60
|
+
user-select: none;
|
|
61
|
+
font-size: 16px;
|
|
62
|
+
}
|
|
64
63
|
|
|
65
|
-
.header-button {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
64
|
+
.header-button {
|
|
65
|
+
align-self: center;
|
|
66
|
+
cursor: pointer;
|
|
67
|
+
border-radius: 5px;
|
|
68
|
+
padding: .5rem;
|
|
69
|
+
&:hover {
|
|
70
|
+
@apply shadow;
|
|
71
|
+
&:active {
|
|
72
|
+
@apply shadow-inner;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
77
76
|
|
|
78
|
-
.icon-button {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
77
|
+
.icon-button {
|
|
78
|
+
width: 40px;
|
|
79
|
+
height: 40px;
|
|
80
|
+
padding: 13px;
|
|
81
|
+
margin-left: auto;
|
|
82
|
+
margin-right: 10px;
|
|
83
|
+
box-sizing: border-box;
|
|
84
|
+
}
|
|
86
85
|
|
|
87
|
-
.header-button img, .header-button svg {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
86
|
+
.header-button img, .header-button svg {
|
|
87
|
+
width: 100%;
|
|
88
|
+
height: 100%;
|
|
89
|
+
box-sizing: border-box;
|
|
90
|
+
}
|
|
92
91
|
|
|
93
|
-
@media (max-width: 450px) {
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
@media (max-width: 450px) {
|
|
93
|
+
.header {
|
|
94
|
+
border-radius: 0;
|
|
95
|
+
}
|
|
96
96
|
}
|
|
97
|
-
}
|
|
98
97
|
</style>
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import { toRefs } from 'vue';
|
|
3
2
|
import { storeToRefs } from 'pinia';
|
|
4
3
|
import { useConversationStore } from '#imports';
|
|
5
4
|
import MessageInput from './MessageInput.vue';
|
|
6
5
|
import { sendMessageEventHook } from '../../composables/useEventHooks';
|
|
7
6
|
import type { User } from '../../models/user';
|
|
8
|
-
import type { Conversation
|
|
7
|
+
import type { Conversation } from '../../models/conversation';
|
|
9
8
|
|
|
10
9
|
const conversationStore = useConversationStore();
|
|
11
10
|
|
|
@@ -36,30 +36,5 @@ const { hasNotifications } = toRefs(props);
|
|
|
36
36
|
</template>
|
|
37
37
|
|
|
38
38
|
<style scoped>
|
|
39
|
-
|
|
40
|
-
z-index: 9999;
|
|
41
|
-
width: 60px;
|
|
42
|
-
height: 60px;
|
|
43
|
-
background-position: center;
|
|
44
|
-
background-repeat: no-repeat;
|
|
45
|
-
position: fixed;
|
|
46
|
-
right: 75px;
|
|
47
|
-
bottom: 25px;
|
|
48
|
-
border-radius: 50%;
|
|
49
|
-
box-shadow: none;
|
|
50
|
-
transition: box-shadow 0.2s ease-in-out;
|
|
51
|
-
cursor: pointer;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.bell {
|
|
55
|
-
z-index: 9999;
|
|
56
|
-
position: fixed;
|
|
57
|
-
bottom: 60px;
|
|
58
|
-
right: 15px;
|
|
59
|
-
padding: 2px 0;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.bell svg {
|
|
63
|
-
height: 90px;
|
|
64
|
-
}
|
|
39
|
+
.launcher{background-position:50%;background-repeat:no-repeat;border-radius:50%;bottom:25px;box-shadow:none;cursor:pointer;height:60px;right:75px;transition:box-shadow .2s ease-in-out;width:60px}.bell,.launcher{position:fixed;z-index:9999}.bell{bottom:60px;padding:2px 0;right:15px}.bell svg{height:90px}
|
|
65
40
|
</style>
|
|
@@ -1,17 +1,8 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
export var MenuOptions = /* @__PURE__ */ ((MenuOptions2) => {
|
|
3
|
-
MenuOptions2["LIST"] = "ChatConversationlist";
|
|
4
|
-
MenuOptions2["CREATE"] = "CreateConversation";
|
|
5
|
-
MenuOptions2["CREATEGROUP"] = "CreateGroupConversation";
|
|
6
|
-
MenuOptions2["SHOW"] = "ShowConversation";
|
|
7
|
-
return MenuOptions2;
|
|
8
|
-
})(MenuOptions || {});
|
|
9
|
-
</script>
|
|
10
|
-
|
|
11
1
|
<script lang="ts" setup>
|
|
12
|
-
import { computed, ref,
|
|
2
|
+
import { computed, ref, watch } from 'vue';
|
|
13
3
|
import { storeToRefs } from 'pinia';
|
|
14
|
-
import {
|
|
4
|
+
import { MenuOptions } from '../../enums/chatWindow';
|
|
5
|
+
import {
|
|
15
6
|
clearConversationEventHook,
|
|
16
7
|
createConversationEventHook,
|
|
17
8
|
setSelectedConversationEventHook
|
|
@@ -35,12 +26,7 @@ type Menus = {
|
|
|
35
26
|
|
|
36
27
|
const conversationStore = useConversationStore();
|
|
37
28
|
|
|
38
|
-
const { chatOpen,
|
|
39
|
-
|
|
40
|
-
// emits
|
|
41
|
-
const emit = defineEmits<{
|
|
42
|
-
(event: 'close'): void;
|
|
43
|
-
}>();
|
|
29
|
+
const { chatOpen, selectedConversation } = storeToRefs(conversationStore);
|
|
44
30
|
|
|
45
31
|
// data
|
|
46
32
|
const selectedMenu = ref<MenuOptions>(MenuOptions.LIST);
|
|
@@ -155,57 +141,5 @@ watch(selectedConversation, (_newConversation, _oldConversation) => {
|
|
|
155
141
|
</template>
|
|
156
142
|
|
|
157
143
|
<style scoped>
|
|
158
|
-
.chat-window {
|
|
159
|
-
z-index: 999;
|
|
160
|
-
width: 370px;
|
|
161
|
-
height: calc(100% - 120px);
|
|
162
|
-
max-height: 590px;
|
|
163
|
-
position: fixed;
|
|
164
|
-
right: 25px;
|
|
165
|
-
bottom: 100px;
|
|
166
|
-
box-sizing: border-box;
|
|
167
|
-
box-shadow: 0px 7px 40px 2px rgba(148, 149, 150, 0.1);
|
|
168
|
-
background: white;
|
|
169
|
-
display: flex;
|
|
170
|
-
flex-direction: column;
|
|
171
|
-
justify-content: space-between;
|
|
172
|
-
border-radius: 10px;
|
|
173
|
-
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
174
|
-
animation: fadeIn;
|
|
175
|
-
animation-duration: 0.3s;
|
|
176
|
-
animation-timing-function: ease-in-out;
|
|
177
|
-
}
|
|
178
|
-
.chat-window.closed {
|
|
179
|
-
opacity: 0;
|
|
180
|
-
display: none;
|
|
181
|
-
bottom: 90px;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
@keyframes fadeIn {
|
|
185
|
-
0% {
|
|
186
|
-
display: none;
|
|
187
|
-
opacity: 0;
|
|
188
|
-
}
|
|
189
|
-
100% {
|
|
190
|
-
display: flex;
|
|
191
|
-
opacity: 1;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
@media (max-width: 450px) {
|
|
196
|
-
.chat-window {
|
|
197
|
-
width: 100%;
|
|
198
|
-
height: 100%;
|
|
199
|
-
max-height: 100%;
|
|
200
|
-
right: 0px;
|
|
201
|
-
bottom: 0px;
|
|
202
|
-
border-radius: 0px;
|
|
203
|
-
}
|
|
204
|
-
.chat-window {
|
|
205
|
-
transition: 0.1s ease-in-out;
|
|
206
|
-
}
|
|
207
|
-
.chat-window.closed {
|
|
208
|
-
bottom: 0px;
|
|
209
|
-
}
|
|
210
|
-
}
|
|
144
|
+
.chat-window{animation:fadeIn;animation-duration:.3s;animation-timing-function:ease-in-out;background:#fff;border-radius:10px;bottom:100px;box-shadow:0 7px 40px 2px hsla(210,1%,58%,.1);box-sizing:border-box;display:flex;flex-direction:column;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;height:calc(100% - 120px);justify-content:space-between;max-height:590px;position:fixed;right:25px;width:370px;z-index:999}.chat-window.closed{bottom:90px;display:none;opacity:0}@keyframes fadeIn{0%{display:none;opacity:0}to{display:flex;opacity:1}}@media (max-width:450px){.chat-window{border-radius:0;bottom:0;height:100%;max-height:100%;right:0;transition:.1s ease-in-out;width:100%}.chat-window.closed{bottom:0}}
|
|
211
145
|
</style>
|
|
@@ -77,7 +77,10 @@ const toggle = () => {
|
|
|
77
77
|
</button>
|
|
78
78
|
</div>
|
|
79
79
|
|
|
80
|
-
<transition
|
|
80
|
+
<transition
|
|
81
|
+
name="slide"
|
|
82
|
+
mode="out-in"
|
|
83
|
+
>
|
|
81
84
|
<div
|
|
82
85
|
v-show="expanded"
|
|
83
86
|
:class="
|
|
@@ -94,13 +97,12 @@ const toggle = () => {
|
|
|
94
97
|
</div>
|
|
95
98
|
</template>
|
|
96
99
|
|
|
97
|
-
<style scoped>
|
|
100
|
+
<style lang="postcss" scoped>
|
|
98
101
|
.slide-enter-active,
|
|
99
102
|
.slide-leave-active {
|
|
100
103
|
overflow: hidden;
|
|
101
104
|
transition: all 0.4s ease;
|
|
102
105
|
}
|
|
103
|
-
|
|
104
106
|
.slide-enter,
|
|
105
107
|
.slide-leave-to {
|
|
106
108
|
transform-origin: top;
|
|
@@ -108,18 +110,16 @@ const toggle = () => {
|
|
|
108
110
|
opacity: 0;
|
|
109
111
|
height: -10px;
|
|
110
112
|
}
|
|
111
|
-
|
|
112
113
|
.chevron {
|
|
113
114
|
transition: 0.3s all cubic-bezier(1, 0.25, 0.25, 0.8);
|
|
114
115
|
will-change: transform;
|
|
116
|
+
&.down {
|
|
117
|
+
transform: rotate(180deg);
|
|
118
|
+
}
|
|
119
|
+
&.normal {
|
|
120
|
+
transform: rotate(0deg);
|
|
121
|
+
}
|
|
115
122
|
}
|
|
116
|
-
.chevron.down {
|
|
117
|
-
transform: rotate(180deg);
|
|
118
|
-
}
|
|
119
|
-
.chevron.normal {
|
|
120
|
-
transform: rotate(0deg);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
123
|
.outline-none {
|
|
124
124
|
outline: none;
|
|
125
125
|
}
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
import { ref, toRefs, onBeforeUnmount, watch } from "vue";
|
|
3
3
|
import { storeToRefs } from "pinia";
|
|
4
4
|
import { debounce } from "lodash-es";
|
|
5
|
-
import { VueEternalLoading
|
|
6
|
-
import type { User } from "../../models/user";
|
|
5
|
+
import { VueEternalLoading } from "@ts-pro/vue-eternal-loading";
|
|
7
6
|
import { PAGE_LENGTH } from "../../models/pagination";
|
|
8
7
|
import { useAttendeeListStore } from "../../store/attendeeList";
|
|
9
8
|
import { useAuthStore } from "../../store/auth";
|
|
@@ -15,6 +14,8 @@ import type {
|
|
|
15
14
|
AttendeeListClassObj,
|
|
16
15
|
AttendeeListCompObj,
|
|
17
16
|
} from "../../@types/components";
|
|
17
|
+
import type { LoadAction } from "../../models/vueEternalLoading";
|
|
18
|
+
import type { User } from "../../models/user";
|
|
18
19
|
|
|
19
20
|
type Props = {
|
|
20
21
|
classObject?: AttendeeListClassObj;
|
|
@@ -121,7 +122,7 @@ onBeforeUnmount(() => {
|
|
|
121
122
|
|
|
122
123
|
watch(isLoggedIn, () => {
|
|
123
124
|
if (isLoggedIn.value) {
|
|
124
|
-
|
|
125
|
+
joinPresenceChannel();
|
|
125
126
|
}
|
|
126
127
|
});
|
|
127
128
|
</script>
|
|
@@ -345,9 +346,9 @@ watch(isLoggedIn, () => {
|
|
|
345
346
|
<button
|
|
346
347
|
v-if="
|
|
347
348
|
isLoggedIn &&
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
349
|
+
user.id !== currentUser.id &&
|
|
350
|
+
user.online &&
|
|
351
|
+
user.video_chat
|
|
351
352
|
"
|
|
352
353
|
:class="
|
|
353
354
|
classBinding(
|
|
@@ -376,20 +377,5 @@ watch(isLoggedIn, () => {
|
|
|
376
377
|
</template>
|
|
377
378
|
|
|
378
379
|
<style>
|
|
379
|
-
.user-container {
|
|
380
|
-
max-height: 400px;
|
|
381
|
-
height: 400px;
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
.user-list-item {
|
|
385
|
-
border-top: 6px solid rgb(31, 60, 249);
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
.min-height-paragraph {
|
|
389
|
-
min-height: 1em;
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
.max-w-100 {
|
|
393
|
-
max-width: 100px;
|
|
394
|
-
}
|
|
380
|
+
.user-container{height:400px;max-height:400px}.user-list-item{border-top:6px solid #1f3cf9}.min-height-paragraph{min-height:1em}.max-w-100{max-width:100px}
|
|
395
381
|
</style>
|