@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.
Files changed (162) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/module.d.mts +1051 -2
  3. package/dist/module.d.ts +1051 -2
  4. package/dist/module.json +1 -1
  5. package/dist/module.mjs +21 -17
  6. package/dist/runtime/analytics.d.ts +1 -6
  7. package/dist/runtime/assets/scss/_agenda.css +1 -0
  8. package/dist/runtime/assets/scss/_animations.css +1 -0
  9. package/dist/runtime/assets/scss/_container_variants.css +1 -0
  10. package/dist/runtime/assets/scss/_custom.css +3 -0
  11. package/dist/runtime/assets/scss/_forms.css +1 -0
  12. package/dist/runtime/assets/scss/_header.css +0 -0
  13. package/dist/runtime/assets/scss/_index_production.css +1 -0
  14. package/dist/runtime/assets/scss/_transitions.css +1 -0
  15. package/dist/runtime/assets/scss/_variables.css +1 -0
  16. package/dist/runtime/assets/scss/_variables2.css +0 -0
  17. package/dist/runtime/assets/scss/_webcast.css +1 -0
  18. package/dist/runtime/assets/scss/index.css +1 -0
  19. package/dist/runtime/components/affiliates/AffiliateModal.vue +1 -1
  20. package/dist/runtime/components/affiliates/AffiliatePage.vue +70 -105
  21. package/dist/runtime/components/agenda/AgendaList.vue +18 -14
  22. package/dist/runtime/components/agenda/AgendaTabbed.vue +21 -24
  23. package/dist/runtime/components/agenda/components/AgendaListAccordion.vue +8 -3
  24. package/dist/runtime/components/agenda/components/Calendar.vue +17 -17
  25. package/dist/runtime/components/agenda/components/Favorite.vue +7 -5
  26. package/dist/runtime/components/agenda/components/InfoLink.vue +15 -5
  27. package/dist/runtime/components/agenda/components/PlayIcon.vue +2 -4
  28. package/dist/runtime/components/agenda/components/PresentationLink.vue +16 -9
  29. package/dist/runtime/components/agenda/components/Sponsor.vue +31 -24
  30. package/dist/runtime/components/auth/PasswordReset.vue +20 -5
  31. package/dist/runtime/components/auth/Registration.vue +14 -4
  32. package/dist/runtime/components/auth/Ucc.vue +44 -27
  33. package/dist/runtime/components/chat/ChatConversationList.vue +11 -11
  34. package/dist/runtime/components/chat/ChatCreateConversation.vue +41 -47
  35. package/dist/runtime/components/chat/ChatCreateGroupConversation.vue +6 -11
  36. package/dist/runtime/components/chat/ChatHeader.vue +46 -47
  37. package/dist/runtime/components/chat/ChatShowConversation.vue +1 -2
  38. package/dist/runtime/components/chat/ChatWidget.vue +1 -26
  39. package/dist/runtime/components/chat/ChatWindow.vue +4 -61
  40. package/dist/runtime/components/chat/MessageInput.vue +1 -4
  41. package/dist/runtime/components/chat/SearchInput.vue +1 -1
  42. package/dist/runtime/components/core/Accordion.vue +11 -11
  43. package/dist/runtime/components/core/AttendeeList.vue +8 -22
  44. package/dist/runtime/components/core/CountdownTimer.vue +67 -51
  45. package/dist/runtime/components/core/DynamicHtml.vue.d.ts +6 -9
  46. package/dist/runtime/components/core/Modal.vue +3 -9
  47. package/dist/runtime/components/core/ModalButton.vue +2 -2
  48. package/dist/runtime/components/core/Navbar.vue +30 -18
  49. package/dist/runtime/components/core/Navigation.vue +22 -29
  50. package/dist/runtime/components/core/SvgIcon.vue +4 -1
  51. package/dist/runtime/components/core/VButton.vue +2 -8
  52. package/dist/runtime/components/core/ZoomModal.vue +9 -3
  53. package/dist/runtime/components/events/EventHeader.vue +14 -4
  54. package/dist/runtime/components/events/ListEvents.vue +18 -18
  55. package/dist/runtime/components/forms/Message.vue +1 -1
  56. package/dist/runtime/components/forms/SearchInput.vue +8 -2
  57. package/dist/runtime/components/forms/SelectDropDown.vue +4 -4
  58. package/dist/runtime/components/forms/SupportForm.vue +18 -7
  59. package/dist/runtime/components/forms/SwitchInput.vue +50 -30
  60. package/dist/runtime/components/forms/TextArea.vue +1 -1
  61. package/dist/runtime/components/forms/TextInput.vue +1 -1
  62. package/dist/runtime/components/layouts/Accordion.vue +9 -4
  63. package/dist/runtime/components/media/ArchivePlayerAndContentContainer.vue +4 -1
  64. package/dist/runtime/components/media/ArchiveVideoPlayer.vue +5 -17
  65. package/dist/runtime/components/media/PlayerAndContentContainer.vue +4 -1
  66. package/dist/runtime/components/media/WebcastVideoPlayer.vue +5 -17
  67. package/dist/runtime/components/media/components/AgendaPanel.vue +7 -6
  68. package/dist/runtime/components/media/components/ArchiveMediaContainer.vue +9 -7
  69. package/dist/runtime/components/media/components/CeCreditNotification.vue +6 -6
  70. package/dist/runtime/components/media/components/ContentArea.vue +8 -4
  71. package/dist/runtime/components/media/components/ContentTabs.vue +38 -26
  72. package/dist/runtime/components/media/components/DocumentsPanel.vue +17 -15
  73. package/dist/runtime/components/media/components/MediaContainer.vue +10 -8
  74. package/dist/runtime/components/media/components/OverviewPanel.vue +5 -2
  75. package/dist/runtime/components/media/components/PresentersPanel.vue +11 -11
  76. package/dist/runtime/components/media/components/SponsorsPanel.vue +10 -9
  77. package/dist/runtime/components/presenters/PresenterListing.vue +3 -5
  78. package/dist/runtime/components/presenters/Presenters.vue +8 -8
  79. package/dist/runtime/components/profile/components/SidebarNavItem.vue +1 -3
  80. package/dist/runtime/components/profile/tabs/ProfileImage.vue +7 -6
  81. package/dist/runtime/components/registration/AlreadyRegisteredModal.vue +10 -7
  82. package/dist/runtime/components/registration/PaymentForm.vue +10 -10
  83. package/dist/runtime/components/registration/RegistrationForm.vue +2 -2
  84. package/dist/runtime/components/registration/RegistrationGroupSelect.vue +11 -7
  85. package/dist/runtime/components/registration/StripePaymentForm.vue +11 -31
  86. package/dist/runtime/components/support/FAQAccordion.vue +8 -7
  87. package/dist/runtime/composables/useAdobeLaunch.d.ts +2 -7
  88. package/dist/runtime/composables/useAdobeLaunch.mjs +2 -2
  89. package/dist/runtime/composables/useAgenda.d.ts +1 -1
  90. package/dist/runtime/composables/useAgenda.mjs +28 -19
  91. package/dist/runtime/composables/useApi.d.ts +1 -1
  92. package/dist/runtime/composables/useAuth.d.ts +1 -1
  93. package/dist/runtime/composables/useClassBinding.d.ts +3 -1
  94. package/dist/runtime/composables/useConferenceHelpers.d.ts +2 -2
  95. package/dist/runtime/composables/useConferenceHelpers.mjs +11 -14
  96. package/dist/runtime/composables/useEventHooks.d.ts +6 -3
  97. package/dist/runtime/composables/useEvents.mjs +7 -9
  98. package/dist/runtime/composables/useLogin.mjs +2 -2
  99. package/dist/runtime/composables/useNavigation.d.ts +1 -1
  100. package/dist/runtime/composables/useNavigation.mjs +4 -2
  101. package/dist/runtime/composables/usePresentation.d.ts +2 -2
  102. package/dist/runtime/composables/usePresentation.mjs +7 -6
  103. package/dist/runtime/composables/usePresenter.d.ts +2 -2
  104. package/dist/runtime/composables/usePresenters.d.ts +2 -2
  105. package/dist/runtime/composables/useScripts.mjs +1 -1
  106. package/dist/runtime/composables/useStream.d.ts +2 -3
  107. package/dist/runtime/composables/useStream.mjs +1 -1
  108. package/dist/runtime/composables/useUcc.d.ts +1 -1
  109. package/dist/runtime/composables/useUcc.mjs +29 -23
  110. package/dist/runtime/models/adobeLaunch.d.ts +6 -0
  111. package/dist/runtime/models/adobeLaunch.mjs +0 -0
  112. package/dist/runtime/models/analytics.d.ts +6 -0
  113. package/dist/runtime/models/analytics.mjs +0 -0
  114. package/dist/runtime/models/attendeeList.d.ts +1 -1
  115. package/dist/runtime/models/conference.d.ts +109 -92
  116. package/dist/runtime/models/conversation.d.ts +10 -10
  117. package/dist/runtime/models/document.d.ts +5 -5
  118. package/dist/runtime/models/globalConfig.d.ts +4 -2
  119. package/dist/runtime/models/group.d.ts +18 -18
  120. package/dist/runtime/models/icons.d.ts +1 -1
  121. package/dist/runtime/models/index.d.ts +20 -0
  122. package/dist/runtime/models/index.mjs +20 -0
  123. package/dist/runtime/models/link.d.ts +4 -4
  124. package/dist/runtime/models/loginParams.d.ts +5 -0
  125. package/dist/runtime/models/loginParams.mjs +0 -0
  126. package/dist/runtime/models/navigationConfig.d.ts +7 -7
  127. package/dist/runtime/models/pagination.d.ts +11 -11
  128. package/dist/runtime/models/portal.d.ts +15 -10
  129. package/dist/runtime/models/templateConfig.d.ts +7 -7
  130. package/dist/runtime/models/ucc.d.ts +22 -0
  131. package/dist/runtime/models/ucc.mjs +0 -0
  132. package/dist/runtime/models/user.d.ts +24 -12
  133. package/dist/runtime/models/vButton.d.ts +7 -0
  134. package/dist/runtime/models/vButton.mjs +0 -0
  135. package/dist/runtime/models/video.d.ts +5 -4
  136. package/dist/runtime/models/virtualPagesConfig.d.ts +11 -123
  137. package/dist/runtime/plugin.mjs +12 -9
  138. package/dist/runtime/store/affiliates.d.ts +1 -1
  139. package/dist/runtime/store/attendeeList.d.ts +1 -1
  140. package/dist/runtime/store/auth.d.ts +3 -7
  141. package/dist/runtime/store/conferences.mjs +8 -8
  142. package/dist/runtime/store/conversations.d.ts +26 -3988
  143. package/dist/runtime/store/conversations.mjs +7 -7
  144. package/dist/runtime/store/modalPlayerConfig.d.ts +17 -488
  145. package/dist/runtime/store/modalPlayerConfig.mjs +1 -1
  146. package/dist/runtime/store/navigationConfig.d.ts +1 -1
  147. package/dist/runtime/store/presentations.d.ts +2 -2
  148. package/dist/runtime/store/templateConfigs.d.ts +6 -6
  149. package/dist/runtime/store/templateConfigs.mjs +6 -6
  150. package/dist/runtime/store/user.mjs +0 -1
  151. package/dist/runtime/v3plusCommonPlugin.d.ts +1 -1
  152. package/dist/types.d.mts +3 -2
  153. package/dist/types.d.ts +3 -2
  154. package/package.json +12 -12
  155. package/dist/runtime/components/media/components/JsonApi.vue +0 -33
  156. package/dist/runtime/components/media/components/JsonApi.vue.d.ts +0 -16
  157. package/dist/runtime/components/media/components/WindowContent.vue +0 -118
  158. package/dist/runtime/components/media/components/WindowContent.vue.d.ts +0 -50
  159. package/dist/runtime/components/media/components/WindowSlide.vue +0 -92
  160. package/dist/runtime/components/media/components/WindowSlide.vue.d.ts +0 -36
  161. package/dist/runtime/models/authUser.d.ts +0 -17
  162. /package/dist/runtime/{models/authUser.mjs → assets/scss/_footer.css} +0 -0
@@ -74,9 +74,7 @@ const { classBinding } = useClassBinding();
74
74
  :class-object="classObject.components?.accordion"
75
75
  >
76
76
  <template #question>
77
- <span class="font-bold"
78
- >Q: Have you run the pre-event streaming test?</span
79
- >
77
+ <span class="font-bold">Q: Have you run the pre-event streaming test?</span>
80
78
  </template>
81
79
  <template #answer>
82
80
  <p>
@@ -92,7 +90,10 @@ const { classBinding } = useClassBinding();
92
90
  </p>
93
91
  </template>
94
92
  </CommonAccordion>
95
- <template v-for="(question, index) in questionArray" :key="index">
93
+ <template
94
+ v-for="(question, index) in questionArray"
95
+ :key="index"
96
+ >
96
97
  <CommonAccordion
97
98
  :class="
98
99
  classBinding(classObject.components?.accordion, 'container', '')
@@ -120,11 +121,11 @@ const { classBinding } = useClassBinding();
120
121
  <template #answer>
121
122
  <div>
122
123
  <div v-if="showForm">
123
- <span class="font-bold">Support Form</span><br />You can email
124
+ <span class="font-bold">Support Form</span><br>You can email
124
125
  support using the support form below.
125
126
  </div>
126
127
  <div v-else>
127
- <span class="font-bold">Support Email</span><br />You can email
128
+ <span class="font-bold">Support Email</span><br>You can email
128
129
  support at
129
130
  <a href="mailto:support@rubiconportals.com">support@rubiconportals.com</a>.
130
131
  </div>
@@ -134,7 +135,7 @@ const { classBinding } = useClassBinding();
134
135
  </div>
135
136
  During the webcast, live support will also be available to
136
137
  assist.You may request live support by
137
- <a
138
+ <a
138
139
  :href="liveSupportUrl"
139
140
  target="_blank"
140
141
  >clicking here</a>.
@@ -1,7 +1,2 @@
1
- export type adobeLaunchFunctions = {
2
- /**
3
- * load script
4
- */
5
- loadAdobeLaunch: () => void;
6
- };
7
- export declare const useAdobeLaunch: () => adobeLaunchFunctions;
1
+ import type { AdobeLaunchFunctions } from '../models/adobeLaunch';
2
+ export declare const useAdobeLaunch: () => AdobeLaunchFunctions;
@@ -5,8 +5,8 @@ export const useAdobeLaunch = () => {
5
5
  const router = useRouter();
6
6
  const portalStore = usePortalStore();
7
7
  const loadAdobeLaunch = () => {
8
- if (portalStore.data.adobe_launch_url) {
9
- let adtm = document.createElement("script");
8
+ if (portalStore.data?.adobe_launch_url) {
9
+ const adtm = document.createElement("script");
10
10
  adtm.setAttribute("src", portalStore.data.adobe_launch_url);
11
11
  document.head.appendChild(adtm);
12
12
  adtm.onload = () => {
@@ -1,4 +1,4 @@
1
- import { Ref, ComputedRef } from "nuxt/dist/app/compat/capi";
1
+ import type { Ref, ComputedRef } from "vue";
2
2
  import type { Conference, Day, Presentation, Presenter, Sponsor, Track, TrackGroup } from "../models/conference";
3
3
  export type UseAgendaMethods = {
4
4
  /**
@@ -29,13 +29,14 @@ export const useAgenda = (conference) => {
29
29
  const selectedPresenter = ref(null);
30
30
  const days = computed(() => {
31
31
  const data = conference.value.days;
32
+ if (data == void 0) return [];
32
33
  if (isLoggedIn.value && !allowAgendaFullAccess) {
33
34
  remove(data, ["access", false]);
34
35
  }
35
36
  return data;
36
37
  });
37
38
  const enabledSponsors = computed(() => {
38
- return affiliateStore.getConferenceAffiliates(conference.value.id);
39
+ return affiliateStore.getConferenceAffiliates(conference.value?.id);
39
40
  });
40
41
  const horizontalTrackGroups = computed(() => {
41
42
  return displayTrackGroups === "Horizontal";
@@ -50,8 +51,8 @@ export const useAgenda = (conference) => {
50
51
  return get(day, "sponsors.length", 0) > 0 && pagesConfigValue("agenda.sponsors");
51
52
  };
52
53
  const getCombinedTrackList = (day) => {
53
- const trackGroups = cloneDeep(day.track_groups ?? {});
54
- const tracks = cloneDeep(day.tracks ?? {});
54
+ const trackGroups = cloneDeep(day.track_groups ?? []);
55
+ const tracks = cloneDeep(day.tracks ?? []);
55
56
  if (isLoggedIn.value && !allowAgendaFullAccess) {
56
57
  remove(tracks, ["access", false]);
57
58
  }
@@ -61,15 +62,19 @@ export const useAgenda = (conference) => {
61
62
  });
62
63
  return tracks;
63
64
  }
64
- let duplicateTracks = [];
65
+ let duplicateTracks;
65
66
  trackGroups.forEach((trackGroup) => {
66
- duplicateTracks = intersectionBy(tracks, trackGroup.tracks, "id");
67
+ if (trackGroup.tracks != void 0) {
68
+ duplicateTracks = intersectionBy(tracks, trackGroup.tracks, "id");
69
+ }
67
70
  pullAllBy(tracks, duplicateTracks, "id");
68
71
  if (isLoggedIn.value && !allowAgendaFullAccess) {
69
- remove(trackGroup.tracks, ["access", false]);
72
+ if (trackGroup.tracks != void 0) {
73
+ remove(trackGroup.tracks, ["access", false]);
74
+ }
70
75
  }
71
- trackGroup.tracks.sort((trackA, trackB) => {
72
- return DateTime.fromSQL(trackA.date).diff(DateTime.fromSQL(trackB.date)).milliseconds;
76
+ trackGroup.tracks?.sort((trackA, trackB) => {
77
+ return DateTime.fromSQL(trackA?.date).diff(DateTime.fromSQL(trackB.date)).milliseconds;
73
78
  });
74
79
  trackGroup.type = "track_group";
75
80
  });
@@ -82,10 +87,15 @@ export const useAgenda = (conference) => {
82
87
  });
83
88
  return combinedArray;
84
89
  };
90
+ const isGroupedTrack = (track) => {
91
+ return track.type === "track_group" && horizontalTrackGroups.value;
92
+ };
85
93
  const hasPresentations = (track) => {
86
- if (track.type === "track_group") {
94
+ if (isGroupedTrack(track)) {
87
95
  for (let i = 0; i < get(track, "tracks.length", 0); i++) {
88
- if (get(track.tracks[i], "presentations.length", 0) > 0) {
96
+ const currentTrack = track;
97
+ const tracks = currentTrack.tracks;
98
+ if (get(tracks[i], "presentations.length", 0) > 0) {
89
99
  return true;
90
100
  }
91
101
  }
@@ -94,9 +104,6 @@ export const useAgenda = (conference) => {
94
104
  return get(track, "presentations.length", 0) > 0;
95
105
  }
96
106
  };
97
- const isGroupedTrack = (track) => {
98
- return track.type === "track_group" && horizontalTrackGroups.value === true;
99
- };
100
107
  const isSmallGroupedTrack = (track) => {
101
108
  if (isGroupedTrack(track)) {
102
109
  if (get(track, "tracks.length", 0) > 1) {
@@ -106,7 +113,7 @@ export const useAgenda = (conference) => {
106
113
  return false;
107
114
  };
108
115
  const getTracks = (track) => {
109
- if (track.type === "track_group") {
116
+ if (isGroupedTrack(track)) {
110
117
  return track.tracks;
111
118
  } else {
112
119
  return [track];
@@ -151,7 +158,7 @@ export const useAgenda = (conference) => {
151
158
  return pagesConfigValue("agenda.use_presenter_modal");
152
159
  };
153
160
  const showPresenterDescription = (presenter, presentation) => {
154
- if (selectedPresenter.value.presentationId === presentation.id && selectedPresenter.value.id === presenter.id) {
161
+ if (selectedPresenter.value?.presentationId === presentation.id && selectedPresenter.value?.id === presenter.id) {
155
162
  selectedPresenter.value = null;
156
163
  } else {
157
164
  selectedPresenter.value = presenter;
@@ -220,9 +227,9 @@ export const useAgenda = (conference) => {
220
227
  _event.presentation.is_live ? tempPres[_event.track.id] = _event.presentation.id : delete tempPres[_event.track.id];
221
228
  commitLivePresentationsEventHook.trigger(tempPres);
222
229
  } else if (!Object.keys(livePresentations.value).length) {
223
- currentConference.value.days.forEach((day) => {
224
- day.tracks.forEach((track) => {
225
- track.presentations.forEach((presentation) => {
230
+ currentConference.value?.days?.forEach((day) => {
231
+ day?.tracks?.forEach((track) => {
232
+ track?.presentations?.forEach((presentation) => {
226
233
  if (presentation.is_live) {
227
234
  tempPres[track.id] = presentation.id;
228
235
  }
@@ -237,7 +244,8 @@ export const useAgenda = (conference) => {
237
244
  affiliateStore.getAffiliates(conference.value.id);
238
245
  }
239
246
  if (selectedDay.value === null) {
240
- selectedDay.value = conference.value.days[0];
247
+ const days2 = conference.value.days;
248
+ selectedDay.value = days2[0];
241
249
  }
242
250
  });
243
251
  return {
@@ -247,6 +255,7 @@ export const useAgenda = (conference) => {
247
255
  displayTrackGroups,
248
256
  horizontalTrackGroups,
249
257
  selectedPresenter,
258
+ allowAgendaFullAccess,
250
259
  setSelectedDay,
251
260
  showTabDates,
252
261
  shouldShowSponsors,
@@ -1 +1 @@
1
- export declare const useApi: (withoutAuth?: boolean) => any;
1
+ export declare const useApi: (withoutAuth?: boolean) => typeof $fetch;
@@ -1,4 +1,4 @@
1
- import { ComputedRef } from "vue";
1
+ import type { ComputedRef } from 'vue';
2
2
  export type UseAuthMethods = {
3
3
  isLoginDisabled: ComputedRef<boolean>;
4
4
  };
@@ -1,4 +1,6 @@
1
1
  export type UseClassBindingMethods = {
2
- classBinding(_classObject: {} | undefined, _element: string, _defaults: string): string;
2
+ classBinding(_classObject: {
3
+ [key: string]: string;
4
+ } | undefined, _element: string, _defaults: string): string;
3
5
  };
4
6
  export declare const useClassBinding: () => UseClassBindingMethods;
@@ -1,5 +1,5 @@
1
- import { Ref } from "vue";
2
- import type { Conference } from "../models/conference";
1
+ import type { Ref } from 'vue';
2
+ import type { Conference } from '../models/conference';
3
3
  export type UseConferenceHelpersMethods = {
4
4
  /**
5
5
  * Determine if conference is a single day event
@@ -48,11 +48,11 @@ export const useConferenceHelpers = (conference) => {
48
48
  };
49
49
  const hasAccessToEvent = (_conference) => {
50
50
  const _selectedConference = _getSelectedConference(_conference);
51
- let hasAccess = find(
51
+ const hasAccess = find(
52
52
  get(user, "value.conferences", []),
53
53
  { id: _selectedConference.id }
54
54
  );
55
- return isLoggedIn && (_selectedConference.access || hasAccess);
55
+ return isLoggedIn.value && (_selectedConference.access || hasAccess);
56
56
  };
57
57
  const showConferenceWebcastButton = (_conference) => {
58
58
  const _selectedConference = _getSelectedConference(_conference);
@@ -78,14 +78,15 @@ export const useConferenceHelpers = (conference) => {
78
78
  const getTimezoneDisplay = (sqlDate, timezone, showTwoCharTz) => {
79
79
  let tz = "";
80
80
  if (pagesConfigValue.value("main.use_event_text_tz")) {
81
- let threeCharTz = DateTime.fromSQL(
81
+ const threeCharTz = DateTime.fromSQL(
82
82
  sqlDate,
83
83
  { zone: timezone }
84
84
  ).toLocal().offsetNameShort;
85
+ if (threeCharTz == null) return "";
85
86
  tz = threeCharTz;
86
87
  if (showTwoCharTz) {
87
88
  if (threeCharTz.length >= 3 && threeCharTz.length <= 4 && (threeCharTz.charAt(threeCharTz.length - 2) == "S" || threeCharTz.charAt(threeCharTz.length - 2) == "D")) {
88
- let twoCharTz = threeCharTz.substring(0, threeCharTz.length - 2) + threeCharTz.charAt(threeCharTz.length - 1);
89
+ const twoCharTz = threeCharTz.substring(0, threeCharTz.length - 2) + threeCharTz.charAt(threeCharTz.length - 1);
89
90
  tz = twoCharTz;
90
91
  }
91
92
  }
@@ -140,10 +141,9 @@ export const useConferenceHelpers = (conference) => {
140
141
  };
141
142
  const showViewArchiveButton = (_conference) => {
142
143
  const _selectedConference = _getSelectedConference(_conference);
143
- if (_selectedConference.state !== "archive")
144
- return false;
144
+ if (_selectedConference.state !== "archive") return false;
145
145
  if (route.name === "index") {
146
- return isLoggedIn && _selectedConference.access;
146
+ return isLoggedIn.value && _selectedConference.access;
147
147
  } else {
148
148
  return _selectedConference.access || _selectedConference.agenda_enabled || pagesConfigValue.value("archive_player.preview_enabled", false);
149
149
  }
@@ -202,7 +202,7 @@ export const useConferenceHelpers = (conference) => {
202
202
  const getConferenceRegUrl = (_conference, _registerPath) => {
203
203
  const _selectedConference = _getSelectedConference(_conference);
204
204
  if (globalConfigValue.value("townhall_registration_enabled", false)) {
205
- if (_selectedConference.id === currentConference.value.id) {
205
+ if (_selectedConference.id === currentConference.value?.id) {
206
206
  return "/";
207
207
  } else if (_selectedConference.state === "live" || _selectedConference.state === "mixed") {
208
208
  return `/upcoming-events/${_selectedConference.id}`;
@@ -214,13 +214,10 @@ export const useConferenceHelpers = (conference) => {
214
214
  _selectedConference,
215
215
  "conference_external_reg_url"
216
216
  );
217
- if (confExternalUrl)
218
- return confExternalUrl;
217
+ if (confExternalUrl) return confExternalUrl;
219
218
  const portalExternalUrl = globalConfigValue.value("external_reg_url");
220
- if (portalExternalUrl)
221
- return portalExternalUrl;
222
- if (_registerPath)
223
- return _registerPath + _selectedConference.id;
219
+ if (portalExternalUrl) return portalExternalUrl;
220
+ if (_registerPath) return _registerPath + _selectedConference.id;
224
221
  return `/registration/options/${_selectedConference.id}`;
225
222
  };
226
223
  const getConferenceRegText = (_conference) => {
@@ -1,5 +1,6 @@
1
- import type { Conversation } from "../models/conversation";
2
- import type { User } from "../models/user";
1
+ import type { ContentData } from '../models/vButton';
2
+ import type { Conversation } from '../models/conversation';
3
+ import type { User } from '../models/user';
3
4
  export type UserSearchParams = {
4
5
  value?: string;
5
6
  iterate?: boolean;
@@ -7,7 +8,9 @@ export type UserSearchParams = {
7
8
  export declare const loginEventHook: import("@vueuse/shared").EventHook<boolean>;
8
9
  export declare const loggedOutEventHook: import("@vueuse/shared").EventHook<any>;
9
10
  export declare const modalClosedEventHook: import("@vueuse/shared").EventHook<any>;
10
- export declare const commitLivePresentationsEventHook: import("@vueuse/shared").EventHook<any>;
11
+ export declare const commitLivePresentationsEventHook: import("@vueuse/shared").EventHook<{
12
+ [index: number]: number;
13
+ }>;
11
14
  export declare const setIsPlayerVisibleEventHook: import("@vueuse/shared").EventHook<boolean>;
12
15
  export declare const setIsProfileVisibleEventHook: import("@vueuse/shared").EventHook<boolean>;
13
16
  export declare const setPlayerPresentationEventHook: import("@vueuse/shared").EventHook<any>;
@@ -1,12 +1,11 @@
1
1
  import { ref, computed } from "vue";
2
2
  import { storeToRefs } from "pinia";
3
- import { useRouter, useRoute } from "vue-router";
3
+ import { useRoute } from "vue-router";
4
4
  import { get, sortBy, filter } from "lodash-es";
5
5
  import { useRuntimeConfig } from "#app";
6
6
  import { useAuthStore, useTemplateConfigsStore } from "../store/index.mjs";
7
7
  export const useEvents = () => {
8
8
  const route = useRoute();
9
- const router = useRouter();
10
9
  const config = useRuntimeConfig();
11
10
  const { isLoggedIn } = storeToRefs(useAuthStore());
12
11
  const { pagesConfigValue } = storeToRefs(useTemplateConfigsStore());
@@ -20,10 +19,11 @@ export const useEvents = () => {
20
19
  });
21
20
  const getEventPage = (conference) => {
22
21
  const eventPathPrefix = config.public.eventPathPrefix;
22
+ const confId = conference.id;
23
23
  if (eventPathPrefix) {
24
- return eventPathPrefix + conference.id;
24
+ return eventPathPrefix + confId;
25
25
  } else {
26
- return `/upcoming-events/${conference.id}`;
26
+ return `/upcoming-events/${confId}`;
27
27
  }
28
28
  };
29
29
  const setConferenceToLoginTo = (conference) => {
@@ -31,15 +31,13 @@ export const useEvents = () => {
31
31
  loginModalVisible.value = true;
32
32
  };
33
33
  const orderAffiliates = (_affiliates) => {
34
- let tempSponsors = [];
35
- tempSponsors = sortBy(_affiliates, ["level", "price"]);
36
- return tempSponsors;
34
+ return sortBy(_affiliates, ["level", "price"]);
37
35
  };
38
36
  const getSponsors = (_affiliates) => {
39
37
  if (_affiliates === void 0) {
40
38
  return [];
41
39
  }
42
- let tempSponsors = [];
40
+ let tempSponsors;
43
41
  tempSponsors = filter(_affiliates, { "role": "sponsor" });
44
42
  tempSponsors = sortBy(tempSponsors, ["level", "name"]);
45
43
  return tempSponsors;
@@ -48,7 +46,7 @@ export const useEvents = () => {
48
46
  if (_affiliates === void 0) {
49
47
  return [];
50
48
  }
51
- let tempSponsors = [];
49
+ let tempSponsors;
52
50
  tempSponsors = filter(_affiliates, { "role": "exhibitor" });
53
51
  tempSponsors = sortBy(tempSponsors, ["level", "name"]);
54
52
  return tempSponsors;
@@ -25,12 +25,12 @@ export const useLogin = (conference) => {
25
25
  if (currentConference.value !== null) {
26
26
  if (globalConfigValue.value("login_redirect_enabled")) {
27
27
  const { getConferenceWebcastUrl } = useConferenceHelpers(currentConference);
28
- redirectUrl = getConferenceWebcastUrl();
28
+ redirectUrl = getConferenceWebcastUrl(currentConference.value);
29
29
  }
30
30
  } else if (conference.value !== null) {
31
31
  if (globalConfigValue.value("login_redirect_enabled")) {
32
32
  const { getConferenceWebcastUrl } = useConferenceHelpers(conference);
33
- redirectUrl = getConferenceWebcastUrl();
33
+ redirectUrl = getConferenceWebcastUrl(conference.value);
34
34
  }
35
35
  }
36
36
  if (redirectUrl === null) {
@@ -1,4 +1,4 @@
1
- import { NavigationConfig } from "../models/navigationConfig";
1
+ import type { NavigationConfig } from "../models/navigationConfig";
2
2
  interface UseNavigationMethods {
3
3
  /**
4
4
  * Checks if a given nav item is external.
@@ -6,7 +6,7 @@ export const useNavigation = () => {
6
6
  const { getConferenceWebcastUrl } = useConferenceHelpers(currentConference);
7
7
  const isExternalLink = (navItem) => {
8
8
  const url = formatLink(navItem);
9
- return url.startsWith("http") === true;
9
+ return url.startsWith("http");
10
10
  };
11
11
  const formatLink = (navItem) => {
12
12
  if (navItem.url && navItem.url.startsWith("#")) {
@@ -23,7 +23,9 @@ export const useNavigation = () => {
23
23
  link = navItem.url;
24
24
  }
25
25
  if (navItem.name === "webcast") {
26
- link = getConferenceWebcastUrl();
26
+ if (currentConference.value != null) {
27
+ link = getConferenceWebcastUrl(currentConference.value);
28
+ }
27
29
  }
28
30
  return link;
29
31
  };
@@ -1,5 +1,5 @@
1
- import { Ref } from "nuxt/dist/app/compat/capi";
2
- import type { Conference, Presentation, Track } from "../models/conference";
1
+ import type { Ref } from 'vue';
2
+ import type { Conference, Presentation, Track } from '../models/conference';
3
3
  export type UsePresentationMethods = {
4
4
  /**
5
5
  * show session time
@@ -1,8 +1,8 @@
1
1
  import { get } from "lodash-es";
2
2
  import { DateTime } from "luxon";
3
3
  import { useTemplateConfigsStore } from "../store/index.mjs";
4
- import { ConferenceState } from "../models/conference.mjs";
5
4
  import { useConferenceHelpers } from "./useConferenceHelpers.mjs";
5
+ import { ConferenceState } from "../models/conference.mjs";
6
6
  export const usePresentation = (conference) => {
7
7
  const { pagesConfigValue } = useTemplateConfigsStore();
8
8
  const { conferenceIsMixed, getConferenceRegUrl } = useConferenceHelpers(conference);
@@ -13,14 +13,14 @@ export const usePresentation = (conference) => {
13
13
  return pagesConfigValue("agenda.session_end_times", false);
14
14
  };
15
15
  const getPresentationStartTime = (presentation, format = "h:mm a", convertToLocal = true) => {
16
- let dt = DateTime.fromSQL(presentation.date, {
16
+ const dt = DateTime.fromSQL(presentation.date, {
17
17
  zone: conference.value.timezone
18
18
  });
19
19
  return convertToLocal ? dt.toLocal().toFormat(format) : dt.toFormat(format);
20
20
  };
21
21
  const getPresentationEndTime = (presentation, format = "h:mm a", convertToLocal = true) => {
22
- let duration = get(presentation, "duration", 0);
23
- let dt = DateTime.fromSQL(presentation.date, {
22
+ const duration = get(presentation, "duration", 0);
23
+ const dt = DateTime.fromSQL(presentation.date, {
24
24
  zone: conference.value.timezone
25
25
  }).plus(duration * 1e3);
26
26
  return convertToLocal ? dt.toLocal().toFormat(format) : dt.toFormat(format);
@@ -32,7 +32,7 @@ export const usePresentation = (conference) => {
32
32
  if (!conference.value.access && (!pagesConfigValue("archive_player.preview_enabled", false) || presentation.type === "link")) {
33
33
  return getConferenceRegUrl();
34
34
  } else if (presentation.type === "link") {
35
- return presentation.video_url;
35
+ return presentation.video_url == void 0 ? "" : presentation.video_url;
36
36
  }
37
37
  return `/archive/${presentation.id}`;
38
38
  };
@@ -83,7 +83,8 @@ export const usePresentation = (conference) => {
83
83
  return "";
84
84
  };
85
85
  const presentationIsLiveOrMixed = (presentation) => {
86
- return presentation.is_live || conference.value.state === ConferenceState.MIXED && (presentation.video_url.length > 0 || presentation.type === "embed");
86
+ const videoUrl = presentation.video_url;
87
+ return presentation.is_live || conference.value.state === ConferenceState.MIXED && (videoUrl != void 0 && videoUrl.length > 0 || presentation.type === "embed");
87
88
  };
88
89
  return {
89
90
  showPresentationTimes,
@@ -1,5 +1,5 @@
1
- import { ComputedRef, Ref } from "nuxt/dist/app/compat/capi";
2
- import type { Presenter } from "../models/conference";
1
+ import type { ComputedRef, Ref } from 'vue';
2
+ import type { Presenter } from '../models/conference';
3
3
  export type UsePresenterMethods = {
4
4
  fullName: ComputedRef<string>;
5
5
  role: string;
@@ -1,5 +1,5 @@
1
- import { Ref } from "nuxt/dist/app/compat/capi";
2
- import type { Conference, Presenter } from "../models/conference";
1
+ import type { Ref } from 'vue';
2
+ import type { Conference, Presenter } from '../models/conference';
3
3
  export type UsePresentersMethods = {
4
4
  /**
5
5
  * get presenters label
@@ -1,7 +1,7 @@
1
1
  export const useScripts = () => {
2
2
  const loadScripts = (scripts) => {
3
3
  scripts.forEach((src) => {
4
- let _script = document.createElement("script");
4
+ const _script = document.createElement("script");
5
5
  _script.setAttribute("src", src);
6
6
  document.head.appendChild(_script);
7
7
  });
@@ -1,6 +1,5 @@
1
- /// <reference types="node" />
2
- import { Ref, ComputedRef } from "vue";
3
- import type { Presentation, Stream } from "../models/conference";
1
+ import type { Ref, ComputedRef } from 'vue';
2
+ import type { Presentation, Stream } from '../models/conference';
4
3
  export type UseStreamMethods = {
5
4
  currentStreamData: Ref<Stream>;
6
5
  currentPresentation: Ref<Presentation>;
@@ -22,7 +22,7 @@ export const useStream = (_region, _prefix, _confId, _callback) => {
22
22
  return response.json();
23
23
  }).then((data) => {
24
24
  const newPresentation = data;
25
- if (!currentPresentation.value.id || newPresentation.id !== currentPresentation.value.id) {
25
+ if (!currentPresentation.value?.id || newPresentation.id !== currentPresentation.value?.id) {
26
26
  if (isStreamTest.value) {
27
27
  newPresentation.name = "Webcast Stream Test";
28
28
  }
@@ -1,4 +1,4 @@
1
- import { Conference } from "../models/conference";
1
+ import type { Conference } from "../models/conference";
2
2
  export type UccFunctions = {
3
3
  /**
4
4
  * load UCC script