@icvdeveloper/common-module 0.0.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.
Files changed (141) hide show
  1. package/README.md +6 -0
  2. package/dist/module.cjs +5 -0
  3. package/dist/module.d.ts +9 -0
  4. package/dist/module.json +8 -0
  5. package/dist/module.mjs +102051 -0
  6. package/dist/runtime/@types/configVariables.d.ts +78 -0
  7. package/dist/runtime/@types/configVariables.mjs +0 -0
  8. package/dist/runtime/analytics.d.ts +8 -0
  9. package/dist/runtime/analytics.mjs +38 -0
  10. package/dist/runtime/assets/scss/_agenda.scss +47 -0
  11. package/dist/runtime/assets/scss/_animations.scss +11 -0
  12. package/dist/runtime/assets/scss/_container_variants.scss +26 -0
  13. package/dist/runtime/assets/scss/_custom.scss +364 -0
  14. package/dist/runtime/assets/scss/_footer.scss +20 -0
  15. package/dist/runtime/assets/scss/_forms.scss +29 -0
  16. package/dist/runtime/assets/scss/_functions.scss +24 -0
  17. package/dist/runtime/assets/scss/_header.scss +41 -0
  18. package/dist/runtime/assets/scss/_index_production.scss +45 -0
  19. package/dist/runtime/assets/scss/_transitions.scss +24 -0
  20. package/dist/runtime/assets/scss/_variables.scss +62 -0
  21. package/dist/runtime/assets/scss/_variables2.scss +0 -0
  22. package/dist/runtime/assets/scss/_webcast.scss +141 -0
  23. package/dist/runtime/assets/scss/index.scss +42 -0
  24. package/dist/runtime/assets/svg/answer.svg +14 -0
  25. package/dist/runtime/assets/svg/avatar.svg +1 -0
  26. package/dist/runtime/assets/svg/bell-icon.svg +3 -0
  27. package/dist/runtime/assets/svg/chat-icon.svg +1 -0
  28. package/dist/runtime/assets/svg/checkmark-icon.svg +1 -0
  29. package/dist/runtime/assets/svg/close-icon.svg +1 -0
  30. package/dist/runtime/assets/svg/icon-avatar.svg +1 -0
  31. package/dist/runtime/assets/svg/icon-close.svg +1 -0
  32. package/dist/runtime/assets/svg/icon-down-arrow.svg +1 -0
  33. package/dist/runtime/assets/svg/icon-facebook.svg +1 -0
  34. package/dist/runtime/assets/svg/icon-info.svg +3 -0
  35. package/dist/runtime/assets/svg/icon-linkedin.svg +1 -0
  36. package/dist/runtime/assets/svg/icon-new-window.svg +11 -0
  37. package/dist/runtime/assets/svg/icon-offline.svg +3 -0
  38. package/dist/runtime/assets/svg/icon-online.svg +3 -0
  39. package/dist/runtime/assets/svg/icon-person.svg +3 -0
  40. package/dist/runtime/assets/svg/icon-play.svg +3 -0
  41. package/dist/runtime/assets/svg/icon-star-filled.svg +30 -0
  42. package/dist/runtime/assets/svg/icon-star.svg +25 -0
  43. package/dist/runtime/assets/svg/icon-twitter.svg +1 -0
  44. package/dist/runtime/assets/svg/icon-video-chat.svg +14 -0
  45. package/dist/runtime/assets/svg/icon-website.svg +3 -0
  46. package/dist/runtime/assets/svg/icon-youtube.svg +1 -0
  47. package/dist/runtime/assets/svg/icon-zoom.svg +10 -0
  48. package/dist/runtime/assets/svg/notification-icon.svg +32 -0
  49. package/dist/runtime/assets/svg/offline-icon.svg +1 -0
  50. package/dist/runtime/assets/svg/online-icon.svg +3 -0
  51. package/dist/runtime/assets/svg/peer2peer.svg +3 -0
  52. package/dist/runtime/assets/svg/phone.svg +1 -0
  53. package/dist/runtime/assets/svg/plus-icon.svg +1 -0
  54. package/dist/runtime/assets/svg/red-icon.svg +3 -0
  55. package/dist/runtime/assets/svg/reject.svg +14 -0
  56. package/dist/runtime/assets/svg/search-icon.svg +3 -0
  57. package/dist/runtime/components/affiliates/AffiliatePage.vue +16 -0
  58. package/dist/runtime/components/agenda/AgendaTabbed.vue +342 -0
  59. package/dist/runtime/components/agenda/components/InfoLink.vue +55 -0
  60. package/dist/runtime/components/agenda/components/PlayIcon.vue +48 -0
  61. package/dist/runtime/components/agenda/components/PresentationLink.vue +147 -0
  62. package/dist/runtime/components/agenda/components/Sponsor.vue +108 -0
  63. package/dist/runtime/components/auth/LoginFullWidth.vue +76 -0
  64. package/dist/runtime/components/core/CountdownTimer.vue +275 -0
  65. package/dist/runtime/components/core/DynamicHtml.vue +16 -0
  66. package/dist/runtime/components/core/DynamicHtml.vue.d.ts +2 -0
  67. package/dist/runtime/components/core/Modal.vue +84 -0
  68. package/dist/runtime/components/core/SvgIcon.vue +119 -0
  69. package/dist/runtime/components/core/ZoomModal.vue +37 -0
  70. package/dist/runtime/components/events/EventHeader.vue +131 -0
  71. package/dist/runtime/components/events/PastEvents.vue +150 -0
  72. package/dist/runtime/components/events/UpcomingEvents.vue +145 -0
  73. package/dist/runtime/components/forms/ErrorField.vue +19 -0
  74. package/dist/runtime/components/forms/Message.vue +25 -0
  75. package/dist/runtime/components/forms/SearchInput.vue +30 -0
  76. package/dist/runtime/components/forms/SupportForm.vue +109 -0
  77. package/dist/runtime/components/forms/TextArea.vue +26 -0
  78. package/dist/runtime/components/forms/TextInput.vue +22 -0
  79. package/dist/runtime/components/layouts/Accordion.vue +76 -0
  80. package/dist/runtime/components/presenters/PresenterListing.vue +89 -0
  81. package/dist/runtime/components/presenters/PresenterModal.vue +83 -0
  82. package/dist/runtime/composables/useAgenda.d.ts +81 -0
  83. package/dist/runtime/composables/useAgenda.mjs +178 -0
  84. package/dist/runtime/composables/useAnalytics.d.ts +7 -0
  85. package/dist/runtime/composables/useAnalytics.mjs +10 -0
  86. package/dist/runtime/composables/useApi.d.ts +1 -0
  87. package/dist/runtime/composables/useApi.mjs +16 -0
  88. package/dist/runtime/composables/useConferenceHelpers.d.ts +65 -0
  89. package/dist/runtime/composables/useConferenceHelpers.mjs +270 -0
  90. package/dist/runtime/composables/useDateFormat.d.ts +12 -0
  91. package/dist/runtime/composables/useDateFormat.mjs +21 -0
  92. package/dist/runtime/composables/useLogin.d.ts +30 -0
  93. package/dist/runtime/composables/useLogin.mjs +58 -0
  94. package/dist/runtime/composables/usePresentation.d.ts +53 -0
  95. package/dist/runtime/composables/usePresentation.mjs +98 -0
  96. package/dist/runtime/composables/usePresenter.d.ts +15 -0
  97. package/dist/runtime/composables/usePresenter.mjs +67 -0
  98. package/dist/runtime/composables/usePresenters.d.ts +13 -0
  99. package/dist/runtime/composables/usePresenters.mjs +21 -0
  100. package/dist/runtime/composables/useV3plusCommonModule.d.ts +2 -0
  101. package/dist/runtime/composables/useV3plusCommonModule.mjs +2 -0
  102. package/dist/runtime/models/affiliate.d.ts +1 -0
  103. package/dist/runtime/models/affiliate.mjs +0 -0
  104. package/dist/runtime/models/authUser.d.ts +16 -0
  105. package/dist/runtime/models/authUser.mjs +0 -0
  106. package/dist/runtime/models/conference.d.ts +124 -0
  107. package/dist/runtime/models/conference.mjs +18 -0
  108. package/dist/runtime/models/globalConfig.d.ts +80 -0
  109. package/dist/runtime/models/globalConfig.mjs +0 -0
  110. package/dist/runtime/models/group.d.ts +14 -0
  111. package/dist/runtime/models/group.mjs +0 -0
  112. package/dist/runtime/models/icons.d.ts +18 -0
  113. package/dist/runtime/models/icons.mjs +0 -0
  114. package/dist/runtime/models/navigationConfig.d.ts +8 -0
  115. package/dist/runtime/models/navigationConfig.mjs +0 -0
  116. package/dist/runtime/models/pagesConfig.d.ts +169 -0
  117. package/dist/runtime/models/pagesConfig.mjs +0 -0
  118. package/dist/runtime/models/portal.d.ts +8 -0
  119. package/dist/runtime/models/portal.mjs +0 -0
  120. package/dist/runtime/models/templateConfig.d.ts +44 -0
  121. package/dist/runtime/models/templateConfig.mjs +0 -0
  122. package/dist/runtime/plugin.d.ts +2 -0
  123. package/dist/runtime/plugin.mjs +55 -0
  124. package/dist/runtime/store/affiliates.d.ts +12 -0
  125. package/dist/runtime/store/affiliates.mjs +35 -0
  126. package/dist/runtime/store/auth.d.ts +14 -0
  127. package/dist/runtime/store/auth.mjs +32 -0
  128. package/dist/runtime/store/conferences.d.ts +13 -0
  129. package/dist/runtime/store/conferences.mjs +86 -0
  130. package/dist/runtime/store/navigationConfig.d.ts +7 -0
  131. package/dist/runtime/store/navigationConfig.mjs +14 -0
  132. package/dist/runtime/store/portal.d.ts +9 -0
  133. package/dist/runtime/store/portal.mjs +39 -0
  134. package/dist/runtime/store/support.d.ts +3 -0
  135. package/dist/runtime/store/support.mjs +20 -0
  136. package/dist/runtime/store/templateConfigs.d.ts +20 -0
  137. package/dist/runtime/store/templateConfigs.mjs +84 -0
  138. package/dist/runtime/v3plusCommonPlugin.d.ts +14 -0
  139. package/dist/runtime/v3plusCommonPlugin.mjs +8 -0
  140. package/dist/types.d.ts +10 -0
  141. package/package.json +57 -0
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="120" height="84" viewBox="0 0 120 84">
2
+ <image x="8" y="16" width="104" height="55" xlink:href="data:img/png;base64,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"/>
3
+ </svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm3.445 17.827c-3.684 1.684-9.401-9.43-5.8-11.308l1.053-.519 1.746 3.409-1.042.513c-1.095.587 1.185 5.04 2.305 4.497l1.032-.505 1.76 3.397-1.054.516z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#e3effa" width="15" height="15" viewBox="0 0 24 24"><path d="M24 10h-10v-10h-4v10h-10v4h10v10h4v-10h10z"/></svg>
@@ -0,0 +1,3 @@
1
+ <svg class="h-2 w-2 fill-current text-red mr-2" viewBox="0 0 20 20">
2
+ <circle cx="10" cy="10" r="10"/>
3
+ </svg>
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="50px" height="50px" viewBox="0 0 525 525" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 52.6 (67491) - http://www.bohemiancoding.com/sketch -->
4
+ <title>reject</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
+ <g id="Video-Call-yes-no-(1)" transform="translate(-622.000000, -134.000000)">
8
+ <g id="reject" transform="translate(622.000000, 134.000000)">
9
+ <circle id="Oval" fill="#9F2214" cx="262.32" cy="262.62" r="262.12"></circle>
10
+ <path d="M431.13,324.68 C439.848013,309.180629 442.302617,290.932119 437.99,273.68 C416.99,187.68 263.99,190.13 263.99,190.13 C263.99,190.13 111,182.69 87.24,267.92 C82.3719639,285.020231 84.2288246,303.334817 92.43,319.11 L92.5,319.26 C96.787592,327.204682 105.735171,331.447697 114.6,329.74 L185.18,316.46 C185.18,316.46 208.36,310.18 206.24,290.15 C205.764001,286.286139 204.631018,282.532076 202.89,279.05 C199.05,267.58 192.23,250.83 184.23,247.22 C194.73,243.76 220.14,237.37 263.05,238.07 C305.96,238.77 331.14,246 341.52,249.8 C333.41,253.15 326.05,269.66 321.82,281.01 C319.970001,284.440405 318.715528,288.159869 318.11,292.01 C315.33,311.95 338.29,319.01 338.29,319.01 L408.61,334.65 C417.413254,336.643207 426.492273,332.696687 431.04,324.9 L431.13,324.68 Z" id="Path" fill="#FFFFFF"></path>
11
+ </g>
12
+ </g>
13
+ </g>
14
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg class="fill-current text-grey h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
2
+ <path d="M12.9 14.32a8 8 0 1 1 1.41-1.41l5.35 5.33-1.42 1.42-5.33-5.34zM8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12z" />
3
+ </svg>
@@ -0,0 +1,16 @@
1
+ <script lang="ts" setup>
2
+ import { Affiliate } from "../../models/affiliate";
3
+ import { Sponsor } from "../../models/conference";
4
+
5
+ type Props = {
6
+ affiliate: Affiliate | Sponsor;
7
+ };
8
+
9
+ const props = defineProps<Props>();
10
+
11
+ const { affiliate } = toRefs(props);
12
+ </script>
13
+
14
+ <template>
15
+ <div class="flex w-full flex-col"></div>
16
+ </template>
@@ -0,0 +1,342 @@
1
+ <script lang="ts" setup>
2
+ import { storeToRefs } from "pinia";
3
+ import { useAgenda } from "../../composables/useAgenda";
4
+ import { Conference, Sponsor as SponsorType } from "../../models/conference";
5
+ import { useDateFormat } from "../../composables/useDateFormat";
6
+ import { usePresentation } from "../../composables/usePresentation";
7
+ import { usePresenters } from "../../composables/usePresenters";
8
+ import CommonAccordion from "../layouts/Accordion.vue";
9
+ import Sponsor from "./components/Sponsor.vue";
10
+ import PresentationLink from "./components/PresentationLink.vue";
11
+
12
+ type Props = {
13
+ conference: Conference;
14
+ };
15
+
16
+ const props = defineProps<Props>();
17
+
18
+ const { conference } = toRefs(props);
19
+
20
+ // Methods
21
+ const {
22
+ days,
23
+ enabledSponsors,
24
+ displayTrackGroups,
25
+ horizontalTrackGroups,
26
+ selectedDay,
27
+ setSelectedDay,
28
+ selectedPresenter,
29
+ showTabDates,
30
+ shouldShowSponsors,
31
+ getCombinedTrackList,
32
+ hasPresentations,
33
+ isSmallGroupedTrack,
34
+ isGroupedTrack,
35
+ getTracks,
36
+ getTrackClasses,
37
+ showInfoLink,
38
+ useAccordion,
39
+ usePresenterModal,
40
+ showPresenterDescription,
41
+ } = useAgenda(conference);
42
+ const {
43
+ showPresentationTimes,
44
+ showPresentationEndTimes,
45
+ getPresentationEndTime,
46
+ } = usePresentation(conference);
47
+ const { getPresentersLabel, getSortedPresenters } = usePresenters(conference);
48
+
49
+ const { formatDate, formatTimezoneToLocal } = useDateFormat();
50
+
51
+ // computed
52
+ const presentersContainer = computed(() => {
53
+ return useAccordion() ? CommonAccordion : "div";
54
+ });
55
+ </script>
56
+
57
+ <template>
58
+ <div class="container mx-auto my-8 shadow-lg">
59
+ <!-- TABS -->
60
+ <div class="flex flex-col w-full">
61
+ <div class="flex flex-row w-full">
62
+ <div
63
+ v-if="days.length > 0"
64
+ class="flex flex-row agenda-tab-sponsor-bg-color w-3/4"
65
+ >
66
+ <button
67
+ v-for="(day, index) in days"
68
+ :key="index"
69
+ class="flex-1 md:flex-initial py-5 px-4 md:px-6 text-base text-center cursor-pointer no-underline heading-color-2 focus:outline-none"
70
+ :class="{
71
+ 'agenda-tab-active-bg-color agenda-tab-color':
72
+ day === selectedDay,
73
+ 'agenda-tab-bg-color agenda-tab-color': day !== selectedDay,
74
+ }"
75
+ @click="setSelectedDay(day)"
76
+ >
77
+ {{ day.name }}
78
+ <small v-if="showTabDates(day)">{{ formatDate(day.date) }}</small>
79
+ </button>
80
+ </div>
81
+
82
+ <div
83
+ class="flex w-1/4 items-center agenda-tab-sponsor-bg-color flex-row-reverse pr-5"
84
+ >
85
+ <Sponsor
86
+ v-if="shouldShowSponsors(selectedDay)"
87
+ :sponsor="selectedDay.sponsors[0]"
88
+ :show-label="false"
89
+ size="small"
90
+ :enabled-sponsors="enabledSponsors"
91
+ >
92
+ </Sponsor>
93
+ </div>
94
+ </div>
95
+ </div>
96
+
97
+ <div
98
+ v-for="group_or_track in getCombinedTrackList(selectedDay)"
99
+ :key="group_or_track.id"
100
+ class="text-center lg:text-left"
101
+ >
102
+ <div v-if="hasPresentations(group_or_track)">
103
+ <!-- TRACK GROUP -->
104
+ <div
105
+ v-if="
106
+ displayTrackGroups != 'None' && group_or_track.type == 'track_group'
107
+ "
108
+ class="agenda-track-group-bg-color"
109
+ >
110
+ <div class="py-3">
111
+ <h2 class="font-light py-2 px-3 body-color-2">
112
+ {{ group_or_track.name }}
113
+ </h2>
114
+ </div>
115
+ </div>
116
+
117
+ <!-- ALL TRACKS CONTAINER -->
118
+ <div
119
+ class="bg-color-white"
120
+ :class="{ 'tracks-container': isSmallGroupedTrack(group_or_track) }"
121
+ >
122
+ <!-- TRACK + SESSIONS CONTAINER -->
123
+ <div
124
+ v-for="(track, trackIndex) in getTracks(group_or_track)"
125
+ :key="track.id"
126
+ class="track-container"
127
+ >
128
+ <!-- TRACK NAME + SPONSOR -->
129
+ <div
130
+ class="track-header flex flex-col min-w-full agenda-track-bg-color"
131
+ :class="getTrackClasses(group_or_track, trackIndex)"
132
+ >
133
+ <!-- TRACK NAME -->
134
+ <div
135
+ class="flex-1 py-3"
136
+ :class="{
137
+ 'lg:w-3/4':
138
+ !isSmallGroupedTrack(group_or_track) &&
139
+ track.sponsors.length,
140
+ }"
141
+ >
142
+ <h2
143
+ class="font-light p-2 md:py-2 sm:px-3 body-color-2"
144
+ :class="{
145
+ 'agenda-grouped-track-text-color text-lg':
146
+ isGroupedTrack(group_or_track),
147
+ }"
148
+ >
149
+ {{ track.name }}
150
+ </h2>
151
+ </div>
152
+ <!-- TRACK SPONSOR -->
153
+ <div
154
+ v-if="track.sponsors.length"
155
+ class="flex w-full pb-2 content-center items-center"
156
+ :class="{
157
+ 'lg:pb-0 lg:w-1/4 lg:pr-5':
158
+ !isSmallGroupedTrack(group_or_track),
159
+ }"
160
+ >
161
+ <sponsor
162
+ v-if="shouldShowSponsors(track)"
163
+ :sponsor="track.sponsors[0]"
164
+ :inline="true"
165
+ size="small"
166
+ :enabled-sponsors="enabledSponsors"
167
+ >
168
+ </sponsor>
169
+ </div>
170
+ </div>
171
+ <!-- ALL TRACK SESSIONS -->
172
+ <div
173
+ class="track-sessions"
174
+ :class="{ 'border-l': horizontalTrackGroups && trackIndex > 0 }"
175
+ >
176
+ <!-- EACH SESSION -->
177
+ <div
178
+ v-for="(presentation, presentationIndex) in track.presentations"
179
+ :key="presentation.id"
180
+ >
181
+ <div
182
+ v-if="presentation.visible"
183
+ class="flex flex-col"
184
+ :class="
185
+ presentationIndex < track.presentations.length - 1
186
+ ? 'border-b'
187
+ : ''
188
+ "
189
+ >
190
+ <!-- SESSION TIME, NAME & SPONSOR CONTAINER -->
191
+ <div
192
+ class="flex flex-col flex-1 items-center lg:items-start p-5"
193
+ :class="{
194
+ 'bg-color-white-darker':
195
+ selectedPresenter &&
196
+ selectedPresenter.presentationId === presentation.id,
197
+ 'lg:flex-row': !isSmallGroupedTrack(group_or_track),
198
+ }"
199
+ >
200
+ <!-- TIME + NAME CONTAINER -->
201
+ <div
202
+ class="flex-1"
203
+ :class="{
204
+ 'pb-2': presentation.sponsors.length,
205
+ 'lg:pb-0 lg:w-3/4':
206
+ !isSmallGroupedTrack(group_or_track) &&
207
+ presentation.sponsors.length,
208
+ }"
209
+ >
210
+ <!-- TIME -->
211
+ <h4
212
+ v-if="showPresentationTimes(presentation)"
213
+ class="font-light mb-3"
214
+ >
215
+ {{
216
+ formatTimezoneToLocal(
217
+ presentation.date,
218
+ "h:m a",
219
+ conference.timezone
220
+ )
221
+ }}
222
+
223
+ <span v-if="showPresentationEndTimes()"
224
+ >- {{ getPresentationEndTime(presentation) }}</span
225
+ >
226
+ {{
227
+ formatTimezoneToLocal(
228
+ presentation.date,
229
+ "z",
230
+ conference.timezone
231
+ )
232
+ }}
233
+ </h4>
234
+
235
+ <!-- NAME + PLAY BUTTON -->
236
+ <div class="pb-1">
237
+ <presentation-link
238
+ :conference="conference"
239
+ :track="track"
240
+ :presentation="presentation"
241
+ :show-info-link="showInfoLink()"
242
+ :is-small-grouped-track="
243
+ isSmallGroupedTrack(group_or_track)
244
+ "
245
+ ></presentation-link>
246
+ </div>
247
+
248
+ <!-- PRESENTERS LIST (ACCORDION OR STANDARD/DIV) -->
249
+ <component
250
+ :is="presentersContainer"
251
+ v-if="presentation.presenters.length > 0"
252
+ :title="
253
+ getPresentersLabel(presentation.presenters.length)
254
+ "
255
+ >
256
+ <p
257
+ v-for="presenter in getSortedPresenters(
258
+ presentation.presenters
259
+ )"
260
+ :key="presenter.id"
261
+ class="font-bold my-1"
262
+ >
263
+ <CommonPresenterModal
264
+ v-if="usePresenterModal"
265
+ :use-icon="false"
266
+ :presenter="presenter"
267
+ :is-small-grouped-track="
268
+ isSmallGroupedTrack(group_or_track)
269
+ "
270
+ ></CommonPresenterModal>
271
+ <CommonPresenterListing
272
+ v-else
273
+ :presenter="presenter"
274
+ :enable-bio="true"
275
+ :show-bio="false"
276
+ text-class="font-bold text-base"
277
+ link-class="agenda-presenter-color"
278
+ :is-small-grouped-track="
279
+ isSmallGroupedTrack(group_or_track)
280
+ "
281
+ @clicked="
282
+ showPresenterDescription(presenter, presentation)
283
+ "
284
+ />
285
+ </p>
286
+ </component>
287
+ </div>
288
+ </div>
289
+ </div>
290
+ </div>
291
+ </div>
292
+ </div>
293
+ </div>
294
+ </div>
295
+ </div>
296
+ </div>
297
+ </template>
298
+
299
+ <style lang="scss" scoped>
300
+ .tracks-container {
301
+ display: grid;
302
+ grid-auto-columns: 1fr;
303
+ }
304
+
305
+ .tracks-container .track-container {
306
+ display: contents;
307
+ }
308
+
309
+ .tracks-container .track-container:nth-child(4n + 1) .track-header {
310
+ grid-row: 1;
311
+ grid-column: 1;
312
+ }
313
+ .tracks-container .track-container:nth-child(4n + 2) .track-header {
314
+ grid-row: 1;
315
+ grid-column: 2;
316
+ }
317
+ .tracks-container .track-container:nth-child(4n + 3) .track-header {
318
+ grid-row: 1;
319
+ grid-column: 3;
320
+ }
321
+ .tracks-container .track-container:nth-child(4n + 4) .track-header {
322
+ grid-row: 1;
323
+ grid-column: 4;
324
+ }
325
+
326
+ .tracks-container .track-container:nth-child(4n + 1) .track-sessions {
327
+ grid-row: 2;
328
+ grid-column: 1;
329
+ }
330
+ .tracks-container .track-container:nth-child(4n + 2) .track-sessions {
331
+ grid-row: 2;
332
+ grid-column: 2;
333
+ }
334
+ .tracks-container .track-container:nth-child(4n + 3) .track-sessions {
335
+ grid-row: 2;
336
+ grid-column: 3;
337
+ }
338
+ .tracks-container .track-container:nth-child(4n + 4) .track-sessions {
339
+ grid-row: 2;
340
+ grid-column: 4;
341
+ }
342
+ </style>
@@ -0,0 +1,55 @@
1
+ <script lang="ts" setup>
2
+ import { Presentation } from "../../../models/conference";
3
+
4
+ type Props = {
5
+ linkText: string;
6
+ presentation: Presentation;
7
+ useIcon?: boolean;
8
+ newLine?: boolean;
9
+ };
10
+
11
+ const props = withDefaults(defineProps<Props>(), {
12
+ useIcon: true,
13
+ newLine: false,
14
+ });
15
+
16
+ // data
17
+ const { useIcon, newLine, linkText, presentation } = toRefs(props);
18
+ const showDescModal = ref<boolean>(false);
19
+
20
+ // computed
21
+ const getLinkText = computed(() => {
22
+ return linkText.value.length > 0 ? linkText.value : "Session Details";
23
+ });
24
+ </script>
25
+
26
+ <template>
27
+ <span>
28
+ <a class="cursor-pointer" @click="showDescModal = true">
29
+ <CommonSvgIcon
30
+ v-if="useIcon"
31
+ icon="info"
32
+ class="align-middle"
33
+ style="display: inline-block; margin-bottom: 2px"
34
+ :icon-width="'16px'"
35
+ ></CommonSvgIcon>
36
+ <span v-else class="text-xs" :class="{ 'new-line': newLine }">{{
37
+ getLinkText
38
+ }}</span>
39
+ </a>
40
+
41
+ <CommonModal :visible="showDescModal" @trigger="showDescModal = false">
42
+ <template #modal-title>
43
+ <div class="text-lg font-bold text-left mb-4 pb-4 border-b">
44
+ {{ presentation.name }}
45
+ </div>
46
+ </template>
47
+ <template #modal-body>
48
+ <div
49
+ class="text-base font-normal text-left"
50
+ v-html="presentation.description"
51
+ ></div>
52
+ </template>
53
+ </CommonModal>
54
+ </span>
55
+ </template>
@@ -0,0 +1,48 @@
1
+ <script lang="ts" setup>
2
+ import { usePresentation } from "../../../composables/usePresentation";
3
+ import { Conference, Presentation } from "../../../models/conference";
4
+ import { Icons } from "../../../models/icons";
5
+
6
+ type Props = {
7
+ icon?: keyof Icons;
8
+ conference: Conference;
9
+ presentation: Presentation;
10
+ };
11
+
12
+ const props = withDefaults(defineProps<Props>(), {
13
+ icon: "playarrow",
14
+ });
15
+
16
+ const { icon, conference, presentation } = toRefs(props);
17
+
18
+ const {
19
+ showPresentationPlayIcon,
20
+ getPresentationCustomPlayIcon,
21
+ getPresentationStreamingText,
22
+ } = usePresentation(conference);
23
+ </script>
24
+
25
+ <template>
26
+ <span class="flex-initial flex flex-row items-center py-2 lg:py-1">
27
+ <span v-if="showPresentationPlayIcon(presentation)">
28
+ <img
29
+ v-if="getPresentationCustomPlayIcon(presentation)"
30
+ style="max-width: 15px"
31
+ :src="(getPresentationCustomPlayIcon(presentation) as unknown as string)"
32
+ alt=""
33
+ />
34
+ <CommonSvgIcon
35
+ v-else
36
+ :icon="icon"
37
+ class="align-middle mr-1"
38
+ style="display: inline-block; margin-bottom: 2px"
39
+ :icon-width="'20px'"
40
+ >
41
+ </CommonSvgIcon
42
+ >&nbsp;
43
+ </span>
44
+ <small class="flex-initial uppercase text-base text-red-darker">{{
45
+ getPresentationStreamingText(presentation)
46
+ }}</small>
47
+ </span>
48
+ </template>
@@ -0,0 +1,147 @@
1
+ <script lang="ts" setup>
2
+ import { useAgenda } from "../../../composables/useAgenda";
3
+ import { useConferenceHelpers } from "../../../composables/useConferenceHelpers";
4
+ import { usePresentation } from "../../../composables/usePresentation";
5
+ import {
6
+ Conference,
7
+ Presentation,
8
+ Track,
9
+ TrackGroup,
10
+ } from "../../../models/conference";
11
+ import InfoLink from "./InfoLink.vue";
12
+ import PlayIcon from "./PlayIcon.vue";
13
+
14
+ type Props = {
15
+ conference: Conference;
16
+ presentation: Presentation;
17
+ track: Track | TrackGroup;
18
+ showInfoLink?: boolean;
19
+ };
20
+
21
+ const props = withDefaults(defineProps<Props>(), {
22
+ showInfoLink: true,
23
+ });
24
+
25
+ const { conference, track, presentation } = toRefs(props);
26
+
27
+ // Methods
28
+ const { conferenceIsLive, conferenceIsArchived } =
29
+ useConferenceHelpers(conference);
30
+ const { isSmallGroupedTrack } = useAgenda(conference);
31
+ const {
32
+ getPresentationLinkTarget,
33
+ getLivePresentationLinkDestination,
34
+ showPresentationLinkIcon,
35
+ getPresentationLinkText,
36
+ presentationIsLiveOrMixed,
37
+ getArchivePresentationLinkDestination,
38
+ } = usePresentation(conference);
39
+
40
+ // Computed
41
+ const presentationNameClass = computed(() => {
42
+ return isSmallGroupedTrack(track.value) ? "text-base" : "text-lg";
43
+ });
44
+ </script>
45
+
46
+ <template>
47
+ <div>
48
+ <!-- LIVE AGENDA GO TO WEBCAST PAGE -->
49
+ <div v-if="conferenceIsLive()">
50
+ <div class="flex flex-col flex-wrap py-1">
51
+ <h2 class="flex-initial" :class="presentationNameClass">
52
+ <!-- zoom text link -->
53
+ <CommonZoomModal
54
+ v-if="presentation.type == 'zoom'"
55
+ :presentation-id="presentation.id"
56
+ modal-size="full"
57
+ >
58
+ <template #modal-link>
59
+ <span class="font-semibold no-underline heading-link">{{
60
+ presentation.name
61
+ }}</span>
62
+ </template>
63
+ </CommonZoomModal>
64
+
65
+ <!-- stream text link -->
66
+ <a
67
+ v-else
68
+ class="font-semibold no-underline heading-link"
69
+ :target="getPresentationLinkTarget(presentation)"
70
+ :href="getLivePresentationLinkDestination(presentation, track)"
71
+ >{{ presentation.name }}</a
72
+ >
73
+
74
+ <!-- session details -->
75
+ <InfoLink
76
+ v-if="showInfoLink && presentation.description"
77
+ :presentation="presentation"
78
+ :use-icon="showPresentationLinkIcon()"
79
+ :link-text="getPresentationLinkText()"
80
+ :new-line="isSmallGroupedTrack(track)"
81
+ class="ml-1"
82
+ ></InfoLink>
83
+ </h2>
84
+
85
+ <!-- zoom icon link -->
86
+ <CommonZoomModal
87
+ v-if="presentation.type == 'zoom'"
88
+ :presentation-id="presentation.id"
89
+ modal-size="full"
90
+ >
91
+ <template #modal-link>
92
+ <PlayIcon
93
+ :presentation="presentation"
94
+ :conference="conference"
95
+ :class="'justify-center md:justify-start'"
96
+ icon="zoom"
97
+ ></PlayIcon>
98
+ </template>
99
+ </CommonZoomModal>
100
+ <!-- stream icon link -->
101
+ <a
102
+ v-else
103
+ class="no-underline"
104
+ :target="getPresentationLinkTarget(presentation)"
105
+ :href="getLivePresentationLinkDestination(presentation, track)"
106
+ >
107
+ <PlayIcon
108
+ v-if="presentationIsLiveOrMixed(presentation)"
109
+ :presentation="presentation"
110
+ :conference="conference"
111
+ :class="'justify-center md:justify-start'"
112
+ icon="playarrow"
113
+ ></PlayIcon>
114
+ </a>
115
+ </div>
116
+ </div>
117
+ <!-- ARCHIVE AGENDA GO TO MEDIA PAGE -->
118
+ <div v-if="conferenceIsArchived()">
119
+ <h2 class="font-semibold" :class="presentationNameClass">
120
+ <a
121
+ class="no-underline heading-link"
122
+ :target="getPresentationLinkTarget(presentation)"
123
+ :href="getArchivePresentationLinkDestination(presentation)"
124
+ >{{ presentation.name }}</a
125
+ >
126
+ <a
127
+ :target="getPresentationLinkTarget(presentation)"
128
+ :href="getArchivePresentationLinkDestination(presentation)"
129
+ ><CommonSvgIcon
130
+ icon="playarrow"
131
+ class="ml-1 align-middle"
132
+ style="display: inline-block; margin-bottom: 2px"
133
+ :icon-width="'20px'"
134
+ ></CommonSvgIcon
135
+ ></a>
136
+ <InfoLink
137
+ v-if="showInfoLink && presentation.description"
138
+ :presentation="presentation"
139
+ :use-icon="showPresentationLinkIcon()"
140
+ :link-text="getPresentationLinkText()"
141
+ :new-line="isSmallGroupedTrack(track)"
142
+ class="ml-1"
143
+ ></InfoLink>
144
+ </h2>
145
+ </div>
146
+ </div>
147
+ </template>