@icvdeveloper/common-module 2.0.0 → 2.1.0
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 +2 -0
- package/dist/module.d.mts +1051 -2
- package/dist/module.d.ts +1051 -2
- package/dist/module.json +1 -1
- package/dist/module.mjs +21 -17
- package/dist/runtime/analytics.d.ts +1 -6
- 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 +21 -24
- package/dist/runtime/components/agenda/components/AgendaListAccordion.vue +8 -3
- package/dist/runtime/components/agenda/components/Calendar.vue +17 -17
- 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 +46 -47
- 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 +4 -61
- 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 +6 -9
- 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 -3
- 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/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 +24 -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/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 +1 -1
- 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 +12 -12
- 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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import { ref, toRefs } from "vue";
|
|
2
|
+
import { inject, ref, toRefs } from "vue";
|
|
3
3
|
import { get } from "lodash-es";
|
|
4
4
|
import type { Conference } from "../../models/conference";
|
|
5
5
|
import { useAgenda } from "../../composables/useAgenda";
|
|
@@ -7,13 +7,13 @@ import { usePresentation } from "../../composables/usePresentation";
|
|
|
7
7
|
import { usePresenters } from "../../composables/usePresenters";
|
|
8
8
|
import { usePresenter } from "../../composables/usePresenter";
|
|
9
9
|
import { useClassBinding } from "../../composables/useClassBinding";
|
|
10
|
+
import type { Ref } from "#imports";
|
|
10
11
|
import type { Presenter } from "../../models/conference";
|
|
11
12
|
import type {
|
|
12
13
|
AgendaListClassObj,
|
|
13
14
|
AgendaListCompObj,
|
|
14
15
|
AgendaListAccordionClassObj,
|
|
15
16
|
} from "../../@types/components";
|
|
16
|
-
import AgendaAccordion from "./components/AgendaListAccordion.vue";
|
|
17
17
|
import Calendar from "./components/Calendar.vue";
|
|
18
18
|
|
|
19
19
|
type Props = {
|
|
@@ -59,14 +59,16 @@ const { getPresentersLabel, getSortedPresenters } = usePresenters(conference);
|
|
|
59
59
|
|
|
60
60
|
const { classBinding } = useClassBinding();
|
|
61
61
|
|
|
62
|
+
const isExpanded: Ref<boolean> = inject('isExpanded', ref<boolean>(false));
|
|
63
|
+
|
|
62
64
|
// data
|
|
63
65
|
const expandedPres = ref<number>(0);
|
|
64
66
|
|
|
65
67
|
// methods
|
|
66
68
|
const presentersToComposables = (presenters: Presenter[]) => {
|
|
67
|
-
const data = [];
|
|
69
|
+
const data: Presenter[] = [] as Presenter[];
|
|
68
70
|
|
|
69
|
-
getSortedPresenters(presenters).forEach((presenter) => {
|
|
71
|
+
getSortedPresenters(presenters).forEach((presenter: Presenter) => {
|
|
70
72
|
data.push({
|
|
71
73
|
presenter,
|
|
72
74
|
...usePresenter(presenter),
|
|
@@ -101,17 +103,20 @@ const isPres = (_presId: number): boolean => {
|
|
|
101
103
|
<template v-for="track in getCombinedTrackList(day)">
|
|
102
104
|
<div
|
|
103
105
|
v-for="presentation in track.presentations"
|
|
104
|
-
:key="presentation.id"
|
|
105
106
|
:id="'agenda-presentation-'+presentation.id"
|
|
107
|
+
:key="presentation.id"
|
|
106
108
|
:class="classBinding(classObject, 'accordionContainer', '')"
|
|
107
109
|
class="agenda-presentation"
|
|
108
110
|
>
|
|
109
|
-
<
|
|
111
|
+
<CommonComponentsAgendaListAccordion
|
|
110
112
|
:item-id="presentation.id"
|
|
111
|
-
:class-object="classObject.components
|
|
113
|
+
:class-object="classObject.components?.agendaListAccordion"
|
|
112
114
|
@expanded="setPres"
|
|
113
115
|
>
|
|
114
|
-
<template
|
|
116
|
+
<template
|
|
117
|
+
v-if="isExpanded"
|
|
118
|
+
#header
|
|
119
|
+
>
|
|
115
120
|
<div
|
|
116
121
|
:class="
|
|
117
122
|
classBinding(
|
|
@@ -226,15 +231,14 @@ const isPres = (_presId: number): boolean => {
|
|
|
226
231
|
v-for="presenter in presentersToComposables(
|
|
227
232
|
presentation.presenters
|
|
228
233
|
)"
|
|
229
|
-
:key="presenter.presenter.id"
|
|
230
234
|
:id="'agenda-presenter-'+presenter.presenter.id"
|
|
235
|
+
:key="presenter.presenter.id"
|
|
231
236
|
:class="
|
|
232
237
|
classBinding(
|
|
233
238
|
classObject,
|
|
234
239
|
'presenterElement',
|
|
235
240
|
''
|
|
236
|
-
)
|
|
237
|
-
+ ((presenter.role == 'moderator') ? ' agenda-moderator' : '')
|
|
241
|
+
) + ((presenter.role == 'moderator') ? ' agenda-moderator' : '')
|
|
238
242
|
"
|
|
239
243
|
class="agenda-presenter"
|
|
240
244
|
>
|
|
@@ -252,7 +256,7 @@ const isPres = (_presId: number): boolean => {
|
|
|
252
256
|
<span
|
|
253
257
|
v-if="presenter.role == 'moderator'"
|
|
254
258
|
class="agenda-presenter-moderator-tag text-xs font-bold text-neutral-400"
|
|
255
|
-
|
|
259
|
+
>
|
|
256
260
|
- MODERATOR
|
|
257
261
|
</span>
|
|
258
262
|
</p>
|
|
@@ -274,14 +278,14 @@ const isPres = (_presId: number): boolean => {
|
|
|
274
278
|
</div>
|
|
275
279
|
</div>
|
|
276
280
|
</template>
|
|
277
|
-
</
|
|
281
|
+
</CommonComponentsAgendaListAccordion>
|
|
278
282
|
</div>
|
|
279
283
|
</template>
|
|
280
284
|
</template>
|
|
281
285
|
</div>
|
|
282
286
|
</template>
|
|
283
287
|
|
|
284
|
-
<style>
|
|
288
|
+
<style lang="postcss">
|
|
285
289
|
.accord {
|
|
286
290
|
transition: height var(--vc-auto-duration) ease-out;
|
|
287
291
|
}
|
|
@@ -5,7 +5,7 @@ import { DateTime } from "luxon";
|
|
|
5
5
|
import { useAgenda } from "../../composables/useAgenda";
|
|
6
6
|
import { usePresentation } from "../../composables/usePresentation";
|
|
7
7
|
import { usePresenters } from "../../composables/usePresenters";
|
|
8
|
-
import type { Conference, Day, Presenter,
|
|
8
|
+
import type { Conference, Day, Presenter, Sponsor as SponsorType } from "../../models/conference";
|
|
9
9
|
|
|
10
10
|
type Props = {
|
|
11
11
|
conference: Conference;
|
|
@@ -52,7 +52,10 @@ const presentersContainer = computed(() => {
|
|
|
52
52
|
</script>
|
|
53
53
|
|
|
54
54
|
<template>
|
|
55
|
-
<div
|
|
55
|
+
<div
|
|
56
|
+
:id="'agenda-tabbed-'+conference.id"
|
|
57
|
+
class="agenda-tabbed container mx-auto my-8 shadow-lg"
|
|
58
|
+
>
|
|
56
59
|
<!-- TABS -->
|
|
57
60
|
<div class="flex flex-col w-full">
|
|
58
61
|
<div class="flex flex-row w-full">
|
|
@@ -72,7 +75,7 @@ const presentersContainer = computed(() => {
|
|
|
72
75
|
@click="setSelectedDay(day)"
|
|
73
76
|
>
|
|
74
77
|
{{ day.name }}
|
|
75
|
-
<small v-if="showTabDates(day)">{{
|
|
78
|
+
<small v-if="showTabDates(day)">{{
|
|
76
79
|
DateTime.fromSQL(day?.date as string, { zone: conference.timezone }).toFormat("MMMM d, yyyy")
|
|
77
80
|
}}</small>
|
|
78
81
|
</button>
|
|
@@ -122,12 +125,12 @@ const presentersContainer = computed(() => {
|
|
|
122
125
|
<div
|
|
123
126
|
v-for="(track, trackIndex) in getTracks(group_or_track)"
|
|
124
127
|
:id="
|
|
125
|
-
(group_or_track.type == 'track_group') ?
|
|
126
|
-
|
|
127
|
-
|
|
128
|
+
(group_or_track.type == 'track_group') ?
|
|
129
|
+
'agenda-track-group-'+group_or_track.id :
|
|
130
|
+
'agenda-track-'+group_or_track.id
|
|
128
131
|
"
|
|
129
132
|
:key="track.id"
|
|
130
|
-
:class="(group_or_track.type == 'track_group') ?
|
|
133
|
+
:class="(group_or_track.type == 'track_group') ?
|
|
131
134
|
'agenda-track-group' :
|
|
132
135
|
'agenda-track'
|
|
133
136
|
"
|
|
@@ -265,8 +268,8 @@ const presentersContainer = computed(() => {
|
|
|
265
268
|
v-if="get(presentation, 'presenters.length') > 0"
|
|
266
269
|
:title="
|
|
267
270
|
presentation.presenters != undefined ?
|
|
268
|
-
|
|
269
|
-
|
|
271
|
+
getPresentersLabel(presentation.presenters.length) :
|
|
272
|
+
'Presenters'
|
|
270
273
|
"
|
|
271
274
|
class="agenda-presenters"
|
|
272
275
|
>
|
|
@@ -327,7 +330,7 @@ const presentersContainer = computed(() => {
|
|
|
327
330
|
</div>
|
|
328
331
|
</template>
|
|
329
332
|
|
|
330
|
-
<style scoped>
|
|
333
|
+
<style lang="postcss" scoped>
|
|
331
334
|
.tracks-container {
|
|
332
335
|
display: grid;
|
|
333
336
|
grid-auto-columns: 1fr;
|
|
@@ -337,42 +340,36 @@ const presentersContainer = computed(() => {
|
|
|
337
340
|
display: contents;
|
|
338
341
|
}
|
|
339
342
|
|
|
340
|
-
.tracks-container .track-container:nth-child(4n+1) .track-header {
|
|
343
|
+
.tracks-container .track-container:nth-child(4n + 1) .track-header {
|
|
341
344
|
grid-row: 1;
|
|
342
345
|
grid-column: 1;
|
|
343
346
|
}
|
|
344
|
-
|
|
345
|
-
.tracks-container .track-container:nth-child(4n+2) .track-header {
|
|
347
|
+
.tracks-container .track-container:nth-child(4n + 2) .track-header {
|
|
346
348
|
grid-row: 1;
|
|
347
349
|
grid-column: 2;
|
|
348
350
|
}
|
|
349
|
-
|
|
350
|
-
.tracks-container .track-container:nth-child(4n+3) .track-header {
|
|
351
|
+
.tracks-container .track-container:nth-child(4n + 3) .track-header {
|
|
351
352
|
grid-row: 1;
|
|
352
353
|
grid-column: 3;
|
|
353
354
|
}
|
|
354
|
-
|
|
355
|
-
.tracks-container .track-container:nth-child(4n+4) .track-header {
|
|
355
|
+
.tracks-container .track-container:nth-child(4n + 4) .track-header {
|
|
356
356
|
grid-row: 1;
|
|
357
357
|
grid-column: 4;
|
|
358
358
|
}
|
|
359
359
|
|
|
360
|
-
.tracks-container .track-container:nth-child(4n+1) .track-sessions {
|
|
360
|
+
.tracks-container .track-container:nth-child(4n + 1) .track-sessions {
|
|
361
361
|
grid-row: 2;
|
|
362
362
|
grid-column: 1;
|
|
363
363
|
}
|
|
364
|
-
|
|
365
|
-
.tracks-container .track-container:nth-child(4n+2) .track-sessions {
|
|
364
|
+
.tracks-container .track-container:nth-child(4n + 2) .track-sessions {
|
|
366
365
|
grid-row: 2;
|
|
367
366
|
grid-column: 2;
|
|
368
367
|
}
|
|
369
|
-
|
|
370
|
-
.tracks-container .track-container:nth-child(4n+3) .track-sessions {
|
|
368
|
+
.tracks-container .track-container:nth-child(4n + 3) .track-sessions {
|
|
371
369
|
grid-row: 2;
|
|
372
370
|
grid-column: 3;
|
|
373
371
|
}
|
|
374
|
-
|
|
375
|
-
.tracks-container .track-container:nth-child(4n+4) .track-sessions {
|
|
372
|
+
.tracks-container .track-container:nth-child(4n + 4) .track-sessions {
|
|
376
373
|
grid-row: 2;
|
|
377
374
|
grid-column: 4;
|
|
378
375
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import { ref, toRefs } from "vue";
|
|
2
|
+
import { provide, ref, toRefs } from "vue";
|
|
3
3
|
import { useClassBinding } from "../../../composables/useClassBinding";
|
|
4
4
|
import type { AgendaListAccordionClassObj } from "../../../@types/components";
|
|
5
5
|
|
|
@@ -40,6 +40,8 @@ const toggle = () => {
|
|
|
40
40
|
emit("expanded", 0);
|
|
41
41
|
}
|
|
42
42
|
};
|
|
43
|
+
|
|
44
|
+
provide('isExpanded', expanded);
|
|
43
45
|
</script>
|
|
44
46
|
|
|
45
47
|
<template>
|
|
@@ -51,11 +53,14 @@ const toggle = () => {
|
|
|
51
53
|
:class="classBinding(classObject, 'headerButton', 'outline-none')"
|
|
52
54
|
@click="toggle"
|
|
53
55
|
>
|
|
54
|
-
<slot name="header"
|
|
56
|
+
<slot name="header" />
|
|
55
57
|
</button>
|
|
56
58
|
</div>
|
|
57
59
|
|
|
58
|
-
<transition
|
|
60
|
+
<transition
|
|
61
|
+
name="slide"
|
|
62
|
+
mode="out-in"
|
|
63
|
+
>
|
|
59
64
|
<div
|
|
60
65
|
v-show="expanded"
|
|
61
66
|
:class="classBinding(classObject, 'dropdownContainer', '')"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import {
|
|
2
|
+
import { toRefs, computed } from "vue";
|
|
3
3
|
import { storeToRefs } from "pinia";
|
|
4
4
|
import { useTemplateConfigsStore } from "../../../store";
|
|
5
5
|
import { usePresentation } from "../../../composables/usePresentation";
|
|
@@ -27,14 +27,14 @@ const showAddToMicrosoftCalendar = computed((): boolean => {
|
|
|
27
27
|
return pagesConfigValue.value("agenda.add_to_microsoft_calendar", false);
|
|
28
28
|
});
|
|
29
29
|
const calendarOptions = computed((): string => {
|
|
30
|
-
|
|
31
|
-
if (showAddToGoogleCalendar) {
|
|
30
|
+
const opts = [];
|
|
31
|
+
if (showAddToGoogleCalendar.value) {
|
|
32
32
|
opts.push("Google");
|
|
33
33
|
}
|
|
34
|
-
if (showAddToMicrosoftCalendar) {
|
|
34
|
+
if (showAddToMicrosoftCalendar.value) {
|
|
35
35
|
opts.push("iCal");
|
|
36
36
|
}
|
|
37
|
-
|
|
37
|
+
const optsQuoted = opts.map((opt) => `'${opt}'`);
|
|
38
38
|
return optsQuoted.join(",");
|
|
39
39
|
});
|
|
40
40
|
const cssPath = computed((): string => {
|
|
@@ -53,20 +53,20 @@ const cssPath = computed((): string => {
|
|
|
53
53
|
<add-to-calendar-button
|
|
54
54
|
:name="presentation.name"
|
|
55
55
|
:description="presentation.description"
|
|
56
|
-
:
|
|
57
|
-
:
|
|
58
|
-
:
|
|
59
|
-
:
|
|
56
|
+
:start-date="getPresentationStartTime(presentation,'yyyy-MM-dd',false)"
|
|
57
|
+
:start-time="getPresentationStartTime(presentation,'HH:mm',false)"
|
|
58
|
+
:end-time="getPresentationEndTime(presentation,'HH:mm',false)"
|
|
59
|
+
:time-zone="conference.timezone"
|
|
60
60
|
:location="conference.location"
|
|
61
|
-
|
|
61
|
+
list-style="dropdown"
|
|
62
62
|
trigger="click"
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
:
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
63
|
+
light-mode="bodyScheme"
|
|
64
|
+
button-style="custom"
|
|
65
|
+
:custom-css="cssPath"
|
|
66
|
+
hide-icon-button
|
|
67
|
+
hide-background
|
|
68
|
+
hide-checkmark
|
|
69
69
|
:options="calendarOptions"
|
|
70
70
|
/>
|
|
71
71
|
</div>
|
|
72
|
-
</template>
|
|
72
|
+
</template>
|
|
@@ -35,10 +35,12 @@ const favoriteStatusIcon = computed((): keyof Icons => {
|
|
|
35
35
|
</a>
|
|
36
36
|
</template>
|
|
37
37
|
|
|
38
|
-
<style scoped>
|
|
39
|
-
.favorite
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
<style lang="postcss" scoped>
|
|
39
|
+
.favorite {
|
|
40
|
+
svg {
|
|
41
|
+
stroke: #0070FF;
|
|
42
|
+
fill: blue;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
43
45
|
</style>
|
|
44
46
|
|
|
@@ -26,20 +26,30 @@ const getLinkText = computed(() => {
|
|
|
26
26
|
|
|
27
27
|
<template>
|
|
28
28
|
<span>
|
|
29
|
-
<a
|
|
29
|
+
<a
|
|
30
|
+
class="cursor-pointer"
|
|
31
|
+
@click="showDescModal = true"
|
|
32
|
+
>
|
|
30
33
|
<CommonSvgIcon
|
|
31
34
|
v-if="useIcon"
|
|
32
35
|
icon="info"
|
|
33
36
|
class="align-middle"
|
|
34
37
|
style="display: inline-block; margin-bottom: 2px"
|
|
35
38
|
:icon-width="'16px'"
|
|
36
|
-
|
|
37
|
-
<span
|
|
39
|
+
/>
|
|
40
|
+
<span
|
|
41
|
+
v-else
|
|
42
|
+
class="text-xs"
|
|
43
|
+
:class="{ 'new-line': newLine }"
|
|
44
|
+
>{{
|
|
38
45
|
getLinkText
|
|
39
46
|
}}</span>
|
|
40
47
|
</a>
|
|
41
48
|
|
|
42
|
-
<CommonModal
|
|
49
|
+
<CommonModal
|
|
50
|
+
:visible="showDescModal"
|
|
51
|
+
@trigger="showDescModal = false"
|
|
52
|
+
>
|
|
43
53
|
<template #modal-title>
|
|
44
54
|
<div class="text-lg font-bold text-left mb-4 pb-4 border-b">
|
|
45
55
|
{{ presentation.name }}
|
|
@@ -49,7 +59,7 @@ const getLinkText = computed(() => {
|
|
|
49
59
|
<div
|
|
50
60
|
class="text-base font-normal text-left"
|
|
51
61
|
v-html="presentation.description"
|
|
52
|
-
|
|
62
|
+
/>
|
|
53
63
|
</template>
|
|
54
64
|
</CommonModal>
|
|
55
65
|
</span>
|
|
@@ -31,16 +31,14 @@ const {
|
|
|
31
31
|
style="max-width: 15px"
|
|
32
32
|
:src="(getPresentationCustomPlayIcon(presentation) as unknown as string)"
|
|
33
33
|
alt=""
|
|
34
|
-
|
|
34
|
+
>
|
|
35
35
|
<CommonSvgIcon
|
|
36
36
|
v-else
|
|
37
37
|
:icon="icon"
|
|
38
38
|
class="align-middle mr-1"
|
|
39
39
|
style="display: inline-block; margin-bottom: 2px"
|
|
40
40
|
:icon-width="'20px'"
|
|
41
|
-
|
|
42
|
-
</CommonSvgIcon
|
|
43
|
-
>
|
|
41
|
+
/>
|
|
44
42
|
</span>
|
|
45
43
|
<small class="flex-initial uppercase text-base text-red-800">{{
|
|
46
44
|
getPresentationStreamingText(presentation)
|
|
@@ -59,26 +59,28 @@ const presentationNameClass = computed(() => {
|
|
|
59
59
|
<div v-if="!simpleLayout">
|
|
60
60
|
<!-- LIVE AGENDA GO TO WEBCAST PAGE -->
|
|
61
61
|
<div>
|
|
62
|
-
<h2
|
|
62
|
+
<h2
|
|
63
|
+
class="flex flex-initial flex-row"
|
|
64
|
+
:class="presentationNameClass"
|
|
65
|
+
>
|
|
63
66
|
<!-- zoom text & icon link -->
|
|
64
67
|
<CommonZoomModal
|
|
65
68
|
v-if="
|
|
66
69
|
isAgenda &&
|
|
67
|
-
|
|
68
|
-
|
|
70
|
+
conferenceIsLiveOrMixed(conference) &&
|
|
71
|
+
presentation.type == 'zoom'
|
|
69
72
|
"
|
|
70
73
|
:presentation-id="presentation.id"
|
|
71
74
|
modal-size="full"
|
|
72
75
|
>
|
|
73
76
|
<template #modal-link>
|
|
74
|
-
<span class="font-semibold heading-link"
|
|
75
|
-
>{{ presentation.name }}
|
|
77
|
+
<span class="font-semibold heading-link">{{ presentation.name }}
|
|
76
78
|
<PlayIcon
|
|
77
79
|
:presentation="presentation"
|
|
78
80
|
:conference="conference"
|
|
79
81
|
:class="'justify-center md:justify-start'"
|
|
80
82
|
icon="zoom"
|
|
81
|
-
|
|
83
|
+
/>
|
|
82
84
|
</span>
|
|
83
85
|
</template>
|
|
84
86
|
</CommonZoomModal>
|
|
@@ -96,9 +98,10 @@ const presentationNameClass = computed(() => {
|
|
|
96
98
|
> -->
|
|
97
99
|
<!-- TODO - ensure this conversion to <button> does not compromise behavior on other templates -->
|
|
98
100
|
<!-- is not a11y compliant, though. would be better if it was button on tradeshow template only -->
|
|
99
|
-
<button
|
|
101
|
+
<button
|
|
102
|
+
v-else-if="(isAgenda && conferenceIsLiveOrMixed(conference)) ||
|
|
100
103
|
(conferenceIsArchived(conference) && presentation.type != 'zoom')"
|
|
101
|
-
|
|
104
|
+
@click="playPresentation(track, presentation, conference, isActiveAgenda, isVirtual)"
|
|
102
105
|
>
|
|
103
106
|
{{ presentation.name }}
|
|
104
107
|
<transition name="fade">
|
|
@@ -114,7 +117,11 @@ const presentationNameClass = computed(() => {
|
|
|
114
117
|
<!-- </a> -->
|
|
115
118
|
|
|
116
119
|
<!-- text only catchall -->
|
|
117
|
-
<span
|
|
120
|
+
<span
|
|
121
|
+
v-else
|
|
122
|
+
class="font-semibold"
|
|
123
|
+
:class="presentationNameClass"
|
|
124
|
+
>
|
|
118
125
|
{{ presentation.name }}
|
|
119
126
|
</span>
|
|
120
127
|
|
|
@@ -81,10 +81,10 @@ const handleClick = () => {
|
|
|
81
81
|
:class="
|
|
82
82
|
inline
|
|
83
83
|
? classBinding(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
84
|
+
classObject,
|
|
85
|
+
'sponsorLabel',
|
|
86
|
+
'inline-block lg:pr-5 pb-2 lg:pb-0'
|
|
87
|
+
)
|
|
88
88
|
: classBinding(classObject, 'sponsorLabel', 'pb-2')
|
|
89
89
|
"
|
|
90
90
|
class="text-center uppercase font-medium"
|
|
@@ -96,10 +96,10 @@ const handleClick = () => {
|
|
|
96
96
|
:class="
|
|
97
97
|
inline
|
|
98
98
|
? classBinding(
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
99
|
+
classObject,
|
|
100
|
+
'imageContainer',
|
|
101
|
+
'flex-1 items-center pb-2 lg:pb-0'
|
|
102
|
+
)
|
|
103
103
|
: classBinding(classObject, 'imageContainer', 'w-full')
|
|
104
104
|
"
|
|
105
105
|
>
|
|
@@ -114,7 +114,7 @@ const handleClick = () => {
|
|
|
114
114
|
]"
|
|
115
115
|
:src="sponsor.photo"
|
|
116
116
|
@click="handleClick()"
|
|
117
|
-
|
|
117
|
+
>
|
|
118
118
|
</div>
|
|
119
119
|
</div>
|
|
120
120
|
|
|
@@ -123,31 +123,38 @@ const handleClick = () => {
|
|
|
123
123
|
<CommonAffiliatePage
|
|
124
124
|
v-if="enabledSponsor"
|
|
125
125
|
:affiliate="enabledSponsor"
|
|
126
|
-
|
|
126
|
+
/>
|
|
127
127
|
</template>
|
|
128
128
|
</CommonModal>
|
|
129
129
|
</div>
|
|
130
130
|
</template>
|
|
131
131
|
|
|
132
|
-
<style>
|
|
133
|
-
.small
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
max-height: 35px !important;
|
|
138
|
-
}
|
|
132
|
+
<style lang="postcss">
|
|
133
|
+
.small {
|
|
134
|
+
h2 {
|
|
135
|
+
font-size: 14px;
|
|
136
|
+
}
|
|
139
137
|
|
|
140
|
-
|
|
141
|
-
|
|
138
|
+
img {
|
|
139
|
+
max-height: 35px !important;
|
|
140
|
+
}
|
|
142
141
|
}
|
|
143
|
-
|
|
144
|
-
|
|
142
|
+
|
|
143
|
+
.medium {
|
|
144
|
+
h2 {
|
|
145
|
+
font-size: 0.9em;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
img {
|
|
149
|
+
max-height: 40px;
|
|
150
|
+
}
|
|
145
151
|
}
|
|
146
152
|
|
|
147
153
|
.default {
|
|
148
154
|
width: 100%;
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
155
|
+
|
|
156
|
+
img {
|
|
157
|
+
max-height: 60px;
|
|
158
|
+
}
|
|
152
159
|
}
|
|
153
160
|
</style>
|
|
@@ -42,16 +42,31 @@ const submitPasswordReset = () => {
|
|
|
42
42
|
|
|
43
43
|
<template>
|
|
44
44
|
<div :class="isCentered ? 'w-full max-w-xs mx-auto' : ''">
|
|
45
|
-
<div class="mb-4">
|
|
46
|
-
|
|
45
|
+
<div class="mb-4">
|
|
46
|
+
Enter your email address to reset your password.
|
|
47
|
+
</div>
|
|
48
|
+
<CommonMessage
|
|
49
|
+
v-if="message"
|
|
50
|
+
:success="true"
|
|
51
|
+
>
|
|
47
52
|
{{ message }}
|
|
48
53
|
</CommonMessage>
|
|
49
|
-
<CommonMessage
|
|
54
|
+
<CommonMessage
|
|
55
|
+
v-if="errors.length > 0"
|
|
56
|
+
:success="false"
|
|
57
|
+
>
|
|
50
58
|
{{ errors[0] }}
|
|
51
59
|
</CommonMessage>
|
|
52
60
|
<div @keyup.enter="submitPasswordReset()">
|
|
53
|
-
<CommonTextInput
|
|
54
|
-
|
|
61
|
+
<CommonTextInput
|
|
62
|
+
v-model="email"
|
|
63
|
+
placeholder="Email"
|
|
64
|
+
type="email"
|
|
65
|
+
/>
|
|
66
|
+
<button
|
|
67
|
+
class="btn my-2"
|
|
68
|
+
@click="submitPasswordReset()"
|
|
69
|
+
>
|
|
55
70
|
<span v-if="loading">Processing...</span>
|
|
56
71
|
<span v-else>Send Password Reset Link</span>
|
|
57
72
|
</button>
|
|
@@ -13,14 +13,24 @@ const submitRegistration = () => {};
|
|
|
13
13
|
|
|
14
14
|
<template>
|
|
15
15
|
<div v-if="isLoggedIn">
|
|
16
|
-
<CommonMessage :success="false">
|
|
16
|
+
<CommonMessage :success="false">
|
|
17
|
+
Already logged in.
|
|
18
|
+
</CommonMessage>
|
|
17
19
|
</div>
|
|
18
|
-
<div
|
|
20
|
+
<div
|
|
21
|
+
v-else
|
|
22
|
+
class="px-2"
|
|
23
|
+
>
|
|
19
24
|
<div class="flex flex-1 flex-col text-center pt-8">
|
|
20
|
-
<h1 class="mb-3 heading-color-3">
|
|
25
|
+
<h1 class="mb-3 heading-color-3">
|
|
26
|
+
Log In
|
|
27
|
+
</h1>
|
|
21
28
|
|
|
22
29
|
<div class="w-full max-w-xs mx-auto pb-12">
|
|
23
|
-
<form
|
|
30
|
+
<form
|
|
31
|
+
class="w-full"
|
|
32
|
+
@submit.prevent="submitRegistration"
|
|
33
|
+
/>
|
|
24
34
|
</div>
|
|
25
35
|
</div>
|
|
26
36
|
</div>
|