@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
|
@@ -52,7 +52,7 @@ const hasAgendaTab = computed((): boolean => {
|
|
|
52
52
|
});
|
|
53
53
|
|
|
54
54
|
const selectedTabClass = computed((): string => {
|
|
55
|
-
return props.classObject.selectedTab;
|
|
55
|
+
return props.classObject.selectedTab as string;
|
|
56
56
|
});
|
|
57
57
|
|
|
58
58
|
// methods
|
|
@@ -61,7 +61,7 @@ const tabToggle = () => {
|
|
|
61
61
|
};
|
|
62
62
|
|
|
63
63
|
const showItem = (_index: number) => {
|
|
64
|
-
|
|
64
|
+
const clickedItem = items.value[_index];
|
|
65
65
|
|
|
66
66
|
if (clickedItem.type === SelectedContent.URL) {
|
|
67
67
|
window.open(clickedItem.content);
|
|
@@ -75,9 +75,6 @@ onMounted(() => {
|
|
|
75
75
|
selectedContent.value = items.value[0];
|
|
76
76
|
}
|
|
77
77
|
});
|
|
78
|
-
|
|
79
|
-
// ...mapState("playerConfig"),
|
|
80
|
-
// ...mapState(["agendaAlias"])
|
|
81
78
|
</script>
|
|
82
79
|
|
|
83
80
|
<template>
|
|
@@ -133,8 +130,9 @@ onMounted(() => {
|
|
|
133
130
|
'primary-link inline-block py-2 px-1 cursor-pointer'
|
|
134
131
|
)
|
|
135
132
|
"
|
|
136
|
-
>{{ agendaAlias }}</nuxt-link
|
|
137
133
|
>
|
|
134
|
+
{{ agendaAlias }}
|
|
135
|
+
</nuxt-link>
|
|
138
136
|
</li>
|
|
139
137
|
</ul>
|
|
140
138
|
</div>
|
|
@@ -148,7 +146,10 @@ onMounted(() => {
|
|
|
148
146
|
<div
|
|
149
147
|
:class="classBinding(classObject, 'mobileButtonContainer', 'p-1 block')"
|
|
150
148
|
>
|
|
151
|
-
<button
|
|
149
|
+
<button
|
|
150
|
+
class="flex items-center px-3 py-2 mx-auto"
|
|
151
|
+
@click="tabToggle"
|
|
152
|
+
>
|
|
152
153
|
<svg
|
|
153
154
|
class="fill-current h-3 w-3"
|
|
154
155
|
viewBox="0 0 20 20"
|
|
@@ -219,8 +220,9 @@ onMounted(() => {
|
|
|
219
220
|
'primary-link inline-block py-2 px-2 cursor-pointer'
|
|
220
221
|
)
|
|
221
222
|
"
|
|
222
|
-
>{{ agendaAlias }}</nuxt-link
|
|
223
223
|
>
|
|
224
|
+
{{ agendaAlias }}
|
|
225
|
+
</nuxt-link>
|
|
224
226
|
</li>
|
|
225
227
|
</ul>
|
|
226
228
|
</div>
|
|
@@ -228,18 +230,17 @@ onMounted(() => {
|
|
|
228
230
|
</div>
|
|
229
231
|
</template>
|
|
230
232
|
|
|
231
|
-
<style scoped>
|
|
233
|
+
<style lang="postcss" scoped>
|
|
232
234
|
.tab-items {
|
|
233
|
-
@apply mr-1 flex-1;
|
|
234
|
-
}
|
|
235
|
-
@screen sm {
|
|
236
|
-
.tab-items {
|
|
237
|
-
@apply flex-initial;
|
|
238
|
-
}
|
|
235
|
+
@apply mr-1 flex-1 sm:flex-initial;
|
|
239
236
|
}
|
|
240
237
|
|
|
241
238
|
.active {
|
|
242
|
-
background: linear-gradient(
|
|
239
|
+
background: linear-gradient(
|
|
240
|
+
0deg,
|
|
241
|
+
rgba(80, 80, 80, 1) 0%,
|
|
242
|
+
rgba(180, 180, 180, 1) 100%
|
|
243
|
+
);
|
|
243
244
|
color: white;
|
|
244
245
|
font-weight: bold;
|
|
245
246
|
}
|
|
@@ -247,20 +248,31 @@ onMounted(() => {
|
|
|
247
248
|
.tab-bar {
|
|
248
249
|
@apply flex flex-wrap;
|
|
249
250
|
background: rgb(226, 226, 226);
|
|
250
|
-
background: linear-gradient(
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
251
|
+
background: linear-gradient(
|
|
252
|
+
0deg,
|
|
253
|
+
rgba(226, 226, 226, 1) 0%,
|
|
254
|
+
rgba(244, 244, 244, 1) 100%
|
|
255
|
+
);
|
|
256
|
+
|
|
257
|
+
.close {
|
|
258
|
+
@apply block flex flex-1 justify-end;
|
|
259
|
+
|
|
260
|
+
&:hover {
|
|
261
|
+
filter: opacity(0.7);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
257
264
|
}
|
|
258
265
|
|
|
259
266
|
.tab-bar .item {
|
|
260
267
|
display: block;
|
|
261
268
|
float: left;
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
269
|
+
|
|
270
|
+
&:hover {
|
|
271
|
+
background: linear-gradient(
|
|
272
|
+
0deg,
|
|
273
|
+
rgba(180, 180, 180, 1) 0%,
|
|
274
|
+
rgba(220, 220, 220, 1) 100%
|
|
275
|
+
);
|
|
276
|
+
}
|
|
265
277
|
}
|
|
266
278
|
</style>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
2
|
import { toRefs, computed } from "vue";
|
|
3
|
-
import {
|
|
3
|
+
import { useClassBinding } from "../../../composables/useClassBinding";
|
|
4
|
+
import type { Presentation } from "../../../models/conference";
|
|
4
5
|
import type { Document } from "../../../models/document";
|
|
5
6
|
import type { DocumentsPanelClassObj } from "../../../@types/components";
|
|
6
|
-
import { useClassBinding } from "../../../composables/useClassBinding";
|
|
7
7
|
|
|
8
8
|
type Props = {
|
|
9
9
|
presentation: Presentation;
|
|
@@ -52,10 +52,10 @@ const documentArray = computed((): Array<Document> | null => {
|
|
|
52
52
|
index == documentArray.length - 1
|
|
53
53
|
? classBinding(classObject, 'lastElement', 'py-2')
|
|
54
54
|
: classBinding(
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
classObject,
|
|
56
|
+
'listElement',
|
|
57
|
+
'py-2 border-b-2 contrast-border'
|
|
58
|
+
),
|
|
59
59
|
]"
|
|
60
60
|
>
|
|
61
61
|
<!-- fix file image -->
|
|
@@ -108,19 +108,21 @@ const documentArray = computed((): Array<Document> | null => {
|
|
|
108
108
|
</div>
|
|
109
109
|
</template>
|
|
110
110
|
|
|
111
|
-
<style scoped>
|
|
111
|
+
<style lang="postcss" scoped>
|
|
112
112
|
.document-grid {
|
|
113
113
|
display: grid;
|
|
114
114
|
grid-template-columns: 1fr;
|
|
115
115
|
gap: 10px;
|
|
116
|
-
|
|
117
|
-
.
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
116
|
+
|
|
117
|
+
.grid-item {
|
|
118
|
+
display: inline-block;
|
|
119
|
+
align-items: center;
|
|
120
|
+
align-self: center;
|
|
121
|
+
|
|
122
|
+
a:hover {
|
|
123
|
+
text-decoration: underline;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
124
126
|
}
|
|
125
127
|
|
|
126
128
|
.icon {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import {
|
|
2
|
+
import { ref, toRefs } from "vue";
|
|
3
3
|
import type { Conference, Presentation } from "../../../models/conference";
|
|
4
4
|
import type {
|
|
5
5
|
MediaContainerClassObj,
|
|
@@ -56,7 +56,7 @@ const { currentStreamData, currentPresentation } = useStream(
|
|
|
56
56
|
</div>
|
|
57
57
|
</template>
|
|
58
58
|
|
|
59
|
-
<style scoped>
|
|
59
|
+
<style scoped lang="postcss">
|
|
60
60
|
.media-container {
|
|
61
61
|
display: grid;
|
|
62
62
|
grid-template-columns: var(--media-template-columns-default);
|
|
@@ -70,9 +70,9 @@ const { currentStreamData, currentPresentation } = useStream(
|
|
|
70
70
|
display: grid;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
max-height: 65vh;
|
|
73
|
+
img.normal {
|
|
74
|
+
@screen lg {
|
|
75
|
+
max-height: 65vh; /* max height before distorting container */
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
|
|
@@ -93,12 +93,14 @@ const { currentStreamData, currentPresentation } = useStream(
|
|
|
93
93
|
.media-container {
|
|
94
94
|
grid-template-columns: var(--media-template-columns-large);
|
|
95
95
|
}
|
|
96
|
+
|
|
96
97
|
.expand-overlay {
|
|
97
98
|
@apply p-2;
|
|
98
99
|
display: block;
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
|
|
101
|
+
&:hover {
|
|
102
|
+
opacity: 0.7;
|
|
103
|
+
}
|
|
102
104
|
}
|
|
103
105
|
}
|
|
104
106
|
</style>
|
|
@@ -42,8 +42,11 @@ const sessionOverview = computed((): string | null => {
|
|
|
42
42
|
v-if="sessionOverview"
|
|
43
43
|
:class="classBinding(classObject, 'htmlElement', '')"
|
|
44
44
|
v-html="sessionOverview"
|
|
45
|
-
|
|
46
|
-
<p
|
|
45
|
+
/>
|
|
46
|
+
<p
|
|
47
|
+
v-else
|
|
48
|
+
:class="classBinding(classObject, 'noOverviewElement', '')"
|
|
49
|
+
>
|
|
47
50
|
There is no overview for this presentation.
|
|
48
51
|
</p>
|
|
49
52
|
</div>
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import {
|
|
2
|
+
import { toRefs, computed, provide } from "vue";
|
|
3
3
|
import { sortBy } from "lodash-es";
|
|
4
4
|
import { Position } from "../../../enums/general";
|
|
5
5
|
import type {
|
|
6
6
|
Presentation,
|
|
7
|
-
Presenter
|
|
8
|
-
PresenterWithPivot,
|
|
7
|
+
Presenter
|
|
9
8
|
} from "../../../models/conference";
|
|
10
9
|
|
|
11
10
|
type Props = {
|
|
@@ -21,7 +20,7 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
21
20
|
isCompact: true,
|
|
22
21
|
});
|
|
23
22
|
|
|
24
|
-
const { presentation,
|
|
23
|
+
const { presentation, isCompact } = toRefs(props);
|
|
25
24
|
|
|
26
25
|
// provided values
|
|
27
26
|
provide("itemWidth", "120");
|
|
@@ -41,7 +40,7 @@ const presenterArray = computed((): Presenter[] => {
|
|
|
41
40
|
return presenter.last_name;
|
|
42
41
|
}
|
|
43
42
|
);
|
|
44
|
-
}
|
|
43
|
+
}
|
|
45
44
|
return returnArray;
|
|
46
45
|
});
|
|
47
46
|
</script>
|
|
@@ -49,7 +48,7 @@ const presenterArray = computed((): Presenter[] => {
|
|
|
49
48
|
<template>
|
|
50
49
|
<div>
|
|
51
50
|
<template v-if="presenterArray && presenterArray.length > 0">
|
|
52
|
-
<CommonPresenterListing
|
|
51
|
+
<CommonPresenterListing
|
|
53
52
|
v-for="(presenter, index) in presenterArray"
|
|
54
53
|
:key="index"
|
|
55
54
|
:presenter="presenter"
|
|
@@ -71,14 +70,15 @@ const presenterArray = computed((): Presenter[] => {
|
|
|
71
70
|
</div>
|
|
72
71
|
</template>
|
|
73
72
|
|
|
74
|
-
<style scoped>
|
|
73
|
+
<style lang="postcss" scoped>
|
|
75
74
|
.presenter-grid {
|
|
76
75
|
display: grid;
|
|
77
76
|
grid-template-columns: 100px 1fr;
|
|
78
77
|
gap: 10px;
|
|
79
|
-
|
|
80
|
-
.
|
|
81
|
-
|
|
82
|
-
|
|
78
|
+
|
|
79
|
+
.grid-item {
|
|
80
|
+
align-items: center;
|
|
81
|
+
align-self: center;
|
|
82
|
+
}
|
|
83
83
|
}
|
|
84
84
|
</style>
|
|
@@ -107,7 +107,7 @@ watch(presentation.value, (_newPresentation: Presentation) => {
|
|
|
107
107
|
:class="
|
|
108
108
|
classBinding(classObject, 'sponsorImage', 'block mx-auto')
|
|
109
109
|
"
|
|
110
|
-
|
|
110
|
+
>
|
|
111
111
|
</a>
|
|
112
112
|
</div>
|
|
113
113
|
</div>
|
|
@@ -162,7 +162,7 @@ watch(presentation.value, (_newPresentation: Presentation) => {
|
|
|
162
162
|
<img
|
|
163
163
|
:src="sponsor.photo"
|
|
164
164
|
:class="classBinding(classObject, 'trackImage', 'block mx-auto')"
|
|
165
|
-
|
|
165
|
+
>
|
|
166
166
|
</a>
|
|
167
167
|
</div>
|
|
168
168
|
</div>
|
|
@@ -170,7 +170,7 @@ watch(presentation.value, (_newPresentation: Presentation) => {
|
|
|
170
170
|
<div
|
|
171
171
|
v-if="
|
|
172
172
|
(sponsorsArray == undefined && trackSponsorsArray == undefined) ||
|
|
173
|
-
|
|
173
|
+
(!sponsorsArray?.length && !trackSponsorsArray?.length)
|
|
174
174
|
"
|
|
175
175
|
:class="
|
|
176
176
|
classBinding(
|
|
@@ -195,15 +195,16 @@ watch(presentation.value, (_newPresentation: Presentation) => {
|
|
|
195
195
|
</div>
|
|
196
196
|
</template>
|
|
197
197
|
|
|
198
|
-
<style scoped>
|
|
198
|
+
<style lang="postcss" scoped>
|
|
199
199
|
.sponsor-grid {
|
|
200
200
|
display: grid;
|
|
201
201
|
grid-template-columns: 1fr 1fr 1fr;
|
|
202
202
|
gap: 10px;
|
|
203
|
-
|
|
204
|
-
.
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
203
|
+
|
|
204
|
+
.grid-item {
|
|
205
|
+
align-items: center;
|
|
206
|
+
align-self: center;
|
|
207
|
+
justify-self: center;
|
|
208
|
+
}
|
|
208
209
|
}
|
|
209
210
|
</style>
|
|
@@ -171,20 +171,18 @@ const handleClick = () => {
|
|
|
171
171
|
</div>
|
|
172
172
|
</template>
|
|
173
173
|
|
|
174
|
-
<style scoped>
|
|
174
|
+
<style scoped lang="postcss">
|
|
175
175
|
.new-line:before {
|
|
176
|
-
content: "\a";
|
|
176
|
+
content: "\a ";
|
|
177
177
|
white-space: pre;
|
|
178
178
|
}
|
|
179
|
-
|
|
180
179
|
.no-new-line:before {
|
|
181
180
|
content: " - ";
|
|
182
181
|
white-space: normal;
|
|
183
182
|
}
|
|
184
|
-
|
|
185
183
|
@media (max-width: 1023px) {
|
|
186
184
|
.new-line-responsive:before {
|
|
187
|
-
content: "\a";
|
|
185
|
+
content: "\a ";
|
|
188
186
|
white-space: pre;
|
|
189
187
|
}
|
|
190
188
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import { toRefs, computed } from
|
|
3
|
-
import { sortBy, get } from
|
|
4
|
-
import type { Presenter, PresenterWithPivot } from
|
|
5
|
-
import type { PresenterPageConfigs } from
|
|
2
|
+
import { toRefs, computed } from 'vue';
|
|
3
|
+
import { sortBy, get } from 'lodash-es';
|
|
4
|
+
import type { Presenter, PresenterWithPivot } from '../../models/conference';
|
|
5
|
+
import type { PresenterPageConfigs } from '../../models/pagesConfig';
|
|
6
6
|
|
|
7
7
|
// TODO - define presentersByLevel and presenterConfig type
|
|
8
8
|
// TODO - create a helper function that formats Presenter[] to { 'presenters_all': Presenter[] }
|
|
@@ -37,7 +37,7 @@ const {
|
|
|
37
37
|
|
|
38
38
|
// computed
|
|
39
39
|
const presenterContainerClass = computed((): string => {
|
|
40
|
-
let classString: string
|
|
40
|
+
let classString: string;
|
|
41
41
|
|
|
42
42
|
switch (presFormat.value) {
|
|
43
43
|
case 'grid':
|
|
@@ -82,7 +82,7 @@ const getSortedPresenters = (_level: number) => {
|
|
|
82
82
|
const _slug: string = (_level == 0) ? 'presenters_all' : `presenters_level_${_level}`;
|
|
83
83
|
const sortedPresenters = (presenters.value?.[_slug]) ? presenters.value[_slug] : [];
|
|
84
84
|
sortedPresenters.forEach((pres: PresenterWithPivot) => {
|
|
85
|
-
if (pres?.pivot?.role && get(pres, 'pivot.role') != undefined && !pres?.role) {
|
|
85
|
+
if (pres?.pivot?.role && get(pres, 'pivot.role') != undefined && !pres?.role) {
|
|
86
86
|
pres.role = pres.pivot.role;
|
|
87
87
|
}
|
|
88
88
|
if (pres?.pivot?.role && get(pres, 'pivot.order') != undefined && !pres?.order) {
|
|
@@ -113,7 +113,7 @@ const getSortedPresenters = (_level: number) => {
|
|
|
113
113
|
v-for="presenter in getSortedPresenters(n)"
|
|
114
114
|
:key="presenter.id"
|
|
115
115
|
>
|
|
116
|
-
<CommonPresenterListing
|
|
116
|
+
<CommonPresenterListing
|
|
117
117
|
:presenter="presenter"
|
|
118
118
|
/>
|
|
119
119
|
</template>
|
|
@@ -127,7 +127,7 @@ const getSortedPresenters = (_level: number) => {
|
|
|
127
127
|
v-for="presenter in getSortedPresenters(0)"
|
|
128
128
|
:key="presenter.id"
|
|
129
129
|
>
|
|
130
|
-
<CommonPresenterListing
|
|
130
|
+
<CommonPresenterListing
|
|
131
131
|
:presenter="presenter"
|
|
132
132
|
/>
|
|
133
133
|
</template>
|
|
@@ -74,7 +74,7 @@ const onFileChanged = (e) => {
|
|
|
74
74
|
:src="user.profile_image"
|
|
75
75
|
:class="classBinding(classObject, 'image', 'w-100 h-100')"
|
|
76
76
|
alt=""
|
|
77
|
-
|
|
77
|
+
>
|
|
78
78
|
|
|
79
79
|
<div
|
|
80
80
|
:class="
|
|
@@ -108,12 +108,13 @@ const onFileChanged = (e) => {
|
|
|
108
108
|
viewBox="0 0 24 24"
|
|
109
109
|
xmlns="http://www.w3.org/2000/svg"
|
|
110
110
|
>
|
|
111
|
-
<path
|
|
111
|
+
<path
|
|
112
|
+
d="M0 0h24v24H0z"
|
|
113
|
+
fill="none"
|
|
114
|
+
/>
|
|
112
115
|
<path d="M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z" />
|
|
113
116
|
</svg>
|
|
114
|
-
<span :class="classBinding(classObject, 'buttonText', 'ml-2')"
|
|
115
|
-
>Change Profile Image</span
|
|
116
|
-
>
|
|
117
|
+
<span :class="classBinding(classObject, 'buttonText', 'ml-2')">Change Profile Image</span>
|
|
117
118
|
</label>
|
|
118
119
|
<input
|
|
119
120
|
id="inputImg"
|
|
@@ -121,7 +122,7 @@ const onFileChanged = (e) => {
|
|
|
121
122
|
type="file"
|
|
122
123
|
accept="image/*"
|
|
123
124
|
@change="onFileChanged"
|
|
124
|
-
|
|
125
|
+
>
|
|
125
126
|
</div>
|
|
126
127
|
</div>
|
|
127
128
|
</template>
|
|
@@ -86,14 +86,17 @@ const formatDateTime = (_value: string, _format: string = 'LLL') => {
|
|
|
86
86
|
</template>
|
|
87
87
|
|
|
88
88
|
|
|
89
|
-
<style>
|
|
89
|
+
<style lang="postcss">
|
|
90
90
|
#list-striped {
|
|
91
|
+
|
|
91
92
|
cursor: pointer;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
|
|
93
|
+
|
|
94
|
+
&:nth-of-type(odd) {
|
|
95
|
+
background-color: rgb(240 ,240, 240);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
&:hover {
|
|
99
|
+
background-color: rgb(230 ,230, 230);
|
|
100
|
+
}
|
|
98
101
|
}
|
|
99
102
|
</style>
|
|
@@ -94,30 +94,30 @@ onMounted(() => {
|
|
|
94
94
|
type="text"
|
|
95
95
|
class="form-input"
|
|
96
96
|
>
|
|
97
|
-
<
|
|
98
|
-
<
|
|
99
|
-
</div>
|
|
97
|
+
<CommonErrorField :errors="errors['cc_number']" />
|
|
98
|
+
<CommonErrorField :errors="errors['payment']" />
|
|
99
|
+
</div>
|
|
100
100
|
</div>
|
|
101
101
|
<div class="flex flex-1 my-2">
|
|
102
102
|
<div class="flex-1 mx-1">
|
|
103
103
|
<label class="block font-semibold text-gray-800 mb-1">
|
|
104
104
|
Exp. Month
|
|
105
105
|
</label>
|
|
106
|
-
<
|
|
106
|
+
<CommonSelectDropDown
|
|
107
107
|
v-model="paymentInputs['cc_exp_month']"
|
|
108
108
|
:options="monthArray"
|
|
109
109
|
/>
|
|
110
|
-
<
|
|
110
|
+
<CommonErrorField :errors="errors['cc_exp_month']" />
|
|
111
111
|
</div>
|
|
112
112
|
<div class="flex-1 mx-1">
|
|
113
113
|
<label class="block font-semibold text-gray-800 mb-1">
|
|
114
114
|
Exp. Year
|
|
115
115
|
</label>
|
|
116
|
-
<
|
|
116
|
+
<CommonSelectDropDown
|
|
117
117
|
v-model="paymentInputs['cc_exp_year']"
|
|
118
118
|
:options="yearArray"
|
|
119
119
|
/>
|
|
120
|
-
<
|
|
120
|
+
<CommonErrorField :errors="errors['cc_exp_year']" />
|
|
121
121
|
</div>
|
|
122
122
|
<div class="flex-1 mx-1">
|
|
123
123
|
<label class="block font-semibold text-gray-800 mb-1">
|
|
@@ -128,9 +128,9 @@ onMounted(() => {
|
|
|
128
128
|
type="text"
|
|
129
129
|
class="form-input"
|
|
130
130
|
>
|
|
131
|
-
<
|
|
132
|
-
</div>
|
|
133
|
-
</div>
|
|
131
|
+
<CommonErrorField :errors="errors['cc_cvc']" />
|
|
132
|
+
</div>
|
|
133
|
+
</div>
|
|
134
134
|
</div>
|
|
135
135
|
</div>
|
|
136
136
|
</template>
|
|
@@ -101,7 +101,7 @@ const debounceEmail = debounce(() => {
|
|
|
101
101
|
const closeUserAcctError = (): void => {
|
|
102
102
|
if (group.value.type == 'media') {
|
|
103
103
|
errors.value['user'] = [];
|
|
104
|
-
}
|
|
104
|
+
}
|
|
105
105
|
showLogin.value = false;
|
|
106
106
|
};
|
|
107
107
|
|
|
@@ -414,4 +414,4 @@ onMounted(() => {
|
|
|
414
414
|
</template>
|
|
415
415
|
</CommonModal>
|
|
416
416
|
</div>
|
|
417
|
-
</template>
|
|
417
|
+
</template>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import { toRefs } from
|
|
2
|
+
import { toRefs } from 'vue';
|
|
3
|
+
import { storeToRefs } from 'pinia';
|
|
3
4
|
import { get } from 'lodash-es';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { storeToRefs } from "pinia";
|
|
5
|
+
import { useUserStore } from '../../store/user';
|
|
6
|
+
import { useTemplateConfigsStore } from '../../store/templateConfigs';
|
|
7
|
+
import type { Group } from '../../models/group';
|
|
8
8
|
|
|
9
9
|
type Props = {
|
|
10
10
|
content: any[];
|
|
@@ -80,8 +80,12 @@ const checkAlreadyRegistered = (_group_id: number): boolean => {
|
|
|
80
80
|
:class="index != content.length - 1 ? 'border-b border-gray-400' : ''"
|
|
81
81
|
>
|
|
82
82
|
<div class="flex flex-1 flex-col py-2">
|
|
83
|
-
<div class="flex-1 mb-2 text-xl font-bold">
|
|
84
|
-
|
|
83
|
+
<div class="flex-1 mb-2 text-xl font-bold">
|
|
84
|
+
{{ group.name }}
|
|
85
|
+
</div>
|
|
86
|
+
<div class="flex-1">
|
|
87
|
+
{{ group.description }}
|
|
88
|
+
</div>
|
|
85
89
|
</div>
|
|
86
90
|
|
|
87
91
|
<div class="flex flex-col grow-0 items-center justify-between">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import { ref, toRefs, unref, computed, onBeforeMount
|
|
2
|
+
import { ref, toRefs, unref, computed, onBeforeMount } from 'vue';
|
|
3
3
|
import { StripeElements, StripeElement } from 'vue-stripe-js'
|
|
4
4
|
import { loadStripe } from '@stripe/stripe-js'
|
|
5
5
|
|
|
@@ -86,16 +86,22 @@ onBeforeMount(() => {
|
|
|
86
86
|
<div class="flex-1">
|
|
87
87
|
Payment Information
|
|
88
88
|
</div>
|
|
89
|
-
<div class="flex-1 text-right">
|
|
89
|
+
<div class="flex-1 text-right">
|
|
90
|
+
{{ totalFormatted }}
|
|
91
|
+
</div>
|
|
90
92
|
</div>
|
|
91
93
|
|
|
92
|
-
<p
|
|
94
|
+
<p
|
|
95
|
+
v-if="errors.payment"
|
|
96
|
+
class="text-red-600 my-3"
|
|
97
|
+
>
|
|
93
98
|
{{ errors.payment[0] }}
|
|
94
99
|
</p>
|
|
95
100
|
|
|
101
|
+
<!-- TODO - incorporate instance in v-slot -->
|
|
96
102
|
<StripeElements
|
|
97
103
|
v-if="stripeLoaded"
|
|
98
|
-
v-slot="{ elements
|
|
104
|
+
v-slot="{ elements }"
|
|
99
105
|
ref="elms"
|
|
100
106
|
:stripe-key="stripeKey"
|
|
101
107
|
:instance-options="instanceOptions"
|
|
@@ -111,31 +117,5 @@ onBeforeMount(() => {
|
|
|
111
117
|
</template>
|
|
112
118
|
|
|
113
119
|
<style>
|
|
114
|
-
|
|
115
|
-
box-sizing: border-box;
|
|
116
|
-
|
|
117
|
-
height: 40px;
|
|
118
|
-
|
|
119
|
-
padding: 10px 12px;
|
|
120
|
-
|
|
121
|
-
border: 1px solid transparent;
|
|
122
|
-
border-radius: 4px;
|
|
123
|
-
background-color: white;
|
|
124
|
-
|
|
125
|
-
box-shadow: 0 1px 3px 0 #e6ebf1;
|
|
126
|
-
-webkit-transition: box-shadow 150ms ease;
|
|
127
|
-
transition: box-shadow 150ms ease;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
.StripeElement--focus {
|
|
131
|
-
box-shadow: 0 1px 3px 0 #cfd7df;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
.StripeElement--invalid {
|
|
135
|
-
border-color: #fa755a;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
.StripeElement--webkit-autofill {
|
|
139
|
-
background-color: #fefde5 !important;
|
|
140
|
-
}
|
|
120
|
+
.StripeElement{background-color:#fff;border:1px solid transparent;border-radius:4px;box-shadow:0 1px 3px 0 #e6ebf1;box-sizing:border-box;height:40px;padding:10px 12px;transition:box-shadow .15s ease}.StripeElement--focus{box-shadow:0 1px 3px 0 #cfd7df}.StripeElement--invalid{border-color:#fa755a}.StripeElement--webkit-autofill{background-color:#fefde5!important}
|
|
141
121
|
</style>
|