@icvdeveloper/common-module 1.4.14 → 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 (189) hide show
  1. package/CHANGELOG.md +4 -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 +29 -15
  6. package/dist/runtime/@types/components.d.ts +22 -0
  7. package/dist/runtime/@types/configVariables.d.ts +6 -0
  8. package/dist/runtime/analytics.d.ts +1 -6
  9. package/dist/runtime/assets/scss/_agenda.css +1 -0
  10. package/dist/runtime/assets/scss/_animations.css +1 -0
  11. package/dist/runtime/assets/scss/_container_variants.css +1 -0
  12. package/dist/runtime/assets/scss/_custom.css +3 -0
  13. package/dist/runtime/assets/scss/_forms.css +1 -0
  14. package/dist/runtime/assets/scss/_header.css +0 -0
  15. package/dist/runtime/assets/scss/_index_production.css +1 -0
  16. package/dist/runtime/assets/scss/_transitions.css +1 -0
  17. package/dist/runtime/assets/scss/_variables.css +1 -0
  18. package/dist/runtime/assets/scss/_variables2.css +0 -0
  19. package/dist/runtime/assets/scss/_webcast.css +1 -0
  20. package/dist/runtime/assets/scss/index.css +1 -705
  21. package/dist/runtime/assets/svg/icon-minus.svg +6 -0
  22. package/dist/runtime/assets/svg/icon-video.svg +6 -0
  23. package/dist/runtime/components/affiliates/AffiliateModal.vue +66 -0
  24. package/dist/runtime/components/affiliates/AffiliatePage.vue +329 -159
  25. package/dist/runtime/components/agenda/AgendaList.vue +18 -14
  26. package/dist/runtime/components/agenda/AgendaTabbed.vue +60 -54
  27. package/dist/runtime/components/agenda/components/AgendaListAccordion.vue +8 -3
  28. package/dist/runtime/components/agenda/components/Calendar.vue +23 -18
  29. package/dist/runtime/components/agenda/components/Favorite.vue +46 -0
  30. package/dist/runtime/components/agenda/components/InfoLink.vue +15 -5
  31. package/dist/runtime/components/agenda/components/PlayIcon.vue +3 -5
  32. package/dist/runtime/components/agenda/components/PresentationLink.vue +37 -19
  33. package/dist/runtime/components/agenda/components/Sponsor.vue +31 -24
  34. package/dist/runtime/components/auth/PasswordReset.vue +20 -5
  35. package/dist/runtime/components/auth/Registration.vue +14 -4
  36. package/dist/runtime/components/auth/Ucc.vue +44 -27
  37. package/dist/runtime/components/chat/ChatConversationList.vue +108 -0
  38. package/dist/runtime/components/chat/ChatCreateConversation.vue +199 -0
  39. package/dist/runtime/components/chat/ChatCreateGroupConversation.vue +154 -0
  40. package/dist/runtime/components/chat/ChatHeader.vue +97 -0
  41. package/dist/runtime/components/chat/ChatMessage.vue +40 -0
  42. package/dist/runtime/components/chat/ChatShowConversation.vue +76 -0
  43. package/dist/runtime/components/chat/ChatWidget.vue +40 -0
  44. package/dist/runtime/components/chat/ChatWindow.vue +154 -0
  45. package/dist/runtime/components/chat/ChatWindow.vue.d.ts +6 -0
  46. package/dist/runtime/components/chat/MessageInput.vue +27 -0
  47. package/dist/runtime/components/chat/SearchInput.vue +32 -0
  48. package/dist/runtime/components/core/Accordion.vue +12 -12
  49. package/dist/runtime/components/core/AttendeeList.vue +31 -36
  50. package/dist/runtime/components/core/CountdownTimer.vue +68 -52
  51. package/dist/runtime/components/core/DynamicHtml.vue.d.ts +6 -9
  52. package/dist/runtime/components/core/Modal.vue +24 -22
  53. package/dist/runtime/components/core/ModalButton.vue +43 -0
  54. package/dist/runtime/components/core/Navbar.vue +33 -21
  55. package/dist/runtime/components/core/Navigation.vue +286 -0
  56. package/dist/runtime/components/core/SvgIcon.vue +34 -1
  57. package/dist/runtime/components/core/VButton.vue +35 -0
  58. package/dist/runtime/components/core/ZoomModal.vue +9 -3
  59. package/dist/runtime/components/events/EventHeader.vue +14 -4
  60. package/dist/runtime/components/events/ListEvents.vue +21 -22
  61. package/dist/runtime/components/forms/CheckboxGroup.vue +46 -0
  62. package/dist/runtime/components/forms/ErrorField.vue +11 -2
  63. package/dist/runtime/components/forms/Message.vue +1 -1
  64. package/dist/runtime/components/forms/RadioGroup.vue +50 -0
  65. package/dist/runtime/components/forms/SearchInput.vue +8 -2
  66. package/dist/runtime/components/forms/SelectDropDown.vue +47 -0
  67. package/dist/runtime/components/forms/SupportForm.vue +22 -11
  68. package/dist/runtime/components/forms/SwitchInput.vue +50 -30
  69. package/dist/runtime/components/forms/TextArea.vue +1 -1
  70. package/dist/runtime/components/forms/TextInput.vue +1 -1
  71. package/dist/runtime/components/layouts/Accordion.vue +11 -6
  72. package/dist/runtime/components/media/ArchivePlayerAndContentContainer.vue +24 -5
  73. package/dist/runtime/components/media/ArchiveVideoPlayer.vue +19 -23
  74. package/dist/runtime/components/media/PlayerAndContentContainer.vue +4 -1
  75. package/dist/runtime/components/media/WebcastVideoPlayer.vue +6 -18
  76. package/dist/runtime/components/media/components/AgendaPanel.vue +7 -6
  77. package/dist/runtime/components/media/components/ArchiveMediaContainer.vue +17 -15
  78. package/dist/runtime/components/media/components/CeCreditNotification.vue +8 -8
  79. package/dist/runtime/components/media/components/ContentArea.vue +59 -18
  80. package/dist/runtime/components/media/components/ContentTabs.vue +40 -28
  81. package/dist/runtime/components/media/components/DocumentsPanel.vue +19 -17
  82. package/dist/runtime/components/media/components/MediaContainer.vue +11 -13
  83. package/dist/runtime/components/media/components/OverviewPanel.vue +5 -2
  84. package/dist/runtime/components/media/components/PresentersPanel.vue +74 -55
  85. package/dist/runtime/components/media/components/SessionReporting.vue +5 -4
  86. package/dist/runtime/components/media/components/SponsorsPanel.vue +13 -12
  87. package/dist/runtime/components/presenters/PresenterListing.vue +33 -25
  88. package/dist/runtime/components/presenters/PresenterModal.vue +26 -21
  89. package/dist/runtime/components/presenters/Presenters.vue +139 -0
  90. package/dist/runtime/components/profile/Profile.vue +10 -6
  91. package/dist/runtime/components/profile/components/Sidebar.vue +1 -1
  92. package/dist/runtime/components/profile/components/SidebarNavItem.vue +2 -4
  93. package/dist/runtime/components/profile/tabs/Favorites.vue +5 -4
  94. package/dist/runtime/components/profile/tabs/GeneralInformation.vue +26 -16
  95. package/dist/runtime/components/profile/tabs/ProfileImage.vue +7 -6
  96. package/dist/runtime/components/registration/AlreadyRegisteredModal.vue +102 -0
  97. package/dist/runtime/components/registration/PaymentForm.vue +136 -0
  98. package/dist/runtime/components/registration/RegistrationForm.vue +417 -0
  99. package/dist/runtime/components/registration/RegistrationGroupSelect.vue +146 -0
  100. package/dist/runtime/components/registration/StripePaymentForm.vue +121 -0
  101. package/dist/runtime/components/support/FAQAccordion.vue +8 -7
  102. package/dist/runtime/composables/useAdobeLaunch.d.ts +2 -7
  103. package/dist/runtime/composables/useAdobeLaunch.mjs +2 -2
  104. package/dist/runtime/composables/useAgenda.d.ts +13 -1
  105. package/dist/runtime/composables/useAgenda.mjs +125 -25
  106. package/dist/runtime/composables/useApi.d.ts +1 -1
  107. package/dist/runtime/composables/useAuth.d.ts +1 -1
  108. package/dist/runtime/composables/useAuth.mjs +1 -1
  109. package/dist/runtime/composables/useClassBinding.d.ts +3 -1
  110. package/dist/runtime/composables/useConferenceHelpers.d.ts +7 -3
  111. package/dist/runtime/composables/useConferenceHelpers.mjs +26 -15
  112. package/dist/runtime/composables/useEventHooks.d.ts +29 -0
  113. package/dist/runtime/composables/useEventHooks.mjs +21 -0
  114. package/dist/runtime/composables/useEvents.d.ts +17 -1
  115. package/dist/runtime/composables/useEvents.mjs +35 -9
  116. package/dist/runtime/composables/useLogin.mjs +9 -5
  117. package/dist/runtime/composables/useNavigation.d.ts +1 -1
  118. package/dist/runtime/composables/useNavigation.mjs +4 -2
  119. package/dist/runtime/composables/usePresentation.d.ts +2 -2
  120. package/dist/runtime/composables/usePresentation.mjs +8 -7
  121. package/dist/runtime/composables/usePresenter.d.ts +2 -2
  122. package/dist/runtime/composables/usePresenters.d.ts +2 -2
  123. package/dist/runtime/composables/usePusher.d.ts +4 -0
  124. package/dist/runtime/composables/usePusher.mjs +38 -26
  125. package/dist/runtime/composables/useScripts.mjs +1 -1
  126. package/dist/runtime/composables/useStream.d.ts +2 -3
  127. package/dist/runtime/composables/useStream.mjs +8 -2
  128. package/dist/runtime/composables/useUcc.d.ts +1 -1
  129. package/dist/runtime/composables/useUcc.mjs +29 -23
  130. package/dist/runtime/enums/general.d.ts +4 -1
  131. package/dist/runtime/enums/general.mjs +4 -1
  132. package/dist/runtime/models/adobeLaunch.d.ts +6 -0
  133. package/dist/runtime/models/adobeLaunch.mjs +0 -0
  134. package/dist/runtime/models/analytics.d.ts +6 -0
  135. package/dist/runtime/models/analytics.mjs +0 -0
  136. package/dist/runtime/models/attendeeList.d.ts +1 -1
  137. package/dist/runtime/models/conference.d.ts +122 -91
  138. package/dist/runtime/models/conversation.d.ts +11 -13
  139. package/dist/runtime/models/document.d.ts +5 -5
  140. package/dist/runtime/models/globalConfig.d.ts +9 -3
  141. package/dist/runtime/models/group.d.ts +38 -8
  142. package/dist/runtime/models/icons.d.ts +8 -1
  143. package/dist/runtime/models/index.d.ts +20 -0
  144. package/dist/runtime/models/index.mjs +20 -0
  145. package/dist/runtime/models/link.d.ts +4 -4
  146. package/dist/runtime/models/loginParams.d.ts +5 -0
  147. package/dist/runtime/models/loginParams.mjs +0 -0
  148. package/dist/runtime/models/navigationConfig.d.ts +7 -7
  149. package/dist/runtime/models/pagination.d.ts +11 -11
  150. package/dist/runtime/models/portal.d.ts +15 -10
  151. package/dist/runtime/models/templateConfig.d.ts +13 -7
  152. package/dist/runtime/models/ucc.d.ts +22 -0
  153. package/dist/runtime/models/ucc.mjs +0 -0
  154. package/dist/runtime/models/user.d.ts +25 -12
  155. package/dist/runtime/models/vButton.d.ts +7 -0
  156. package/dist/runtime/models/vButton.mjs +0 -0
  157. package/dist/runtime/models/video.d.ts +5 -4
  158. package/dist/runtime/models/virtualPagesConfig.d.ts +223 -0
  159. package/dist/runtime/models/virtualPagesConfig.mjs +0 -0
  160. package/dist/runtime/plugin.mjs +18 -9
  161. package/dist/runtime/store/affiliates.d.ts +4 -1
  162. package/dist/runtime/store/affiliates.mjs +38 -0
  163. package/dist/runtime/store/attendeeList.d.ts +1 -1
  164. package/dist/runtime/store/auth.d.ts +3 -7
  165. package/dist/runtime/store/auth.mjs +6 -0
  166. package/dist/runtime/store/conferences.d.ts +3 -1
  167. package/dist/runtime/store/conferences.mjs +14 -9
  168. package/dist/runtime/store/conversations.d.ts +78 -10
  169. package/dist/runtime/store/conversations.mjs +255 -22
  170. package/dist/runtime/store/modalPlayerConfig.d.ts +27 -0
  171. package/dist/runtime/store/modalPlayerConfig.mjs +58 -0
  172. package/dist/runtime/store/navigationConfig.d.ts +1 -1
  173. package/dist/runtime/store/presentations.d.ts +2 -2
  174. package/dist/runtime/store/templateConfigs.d.ts +7 -6
  175. package/dist/runtime/store/templateConfigs.mjs +7 -6
  176. package/dist/runtime/store/user.mjs +0 -1
  177. package/dist/runtime/v3plusCommonPlugin.d.ts +1 -1
  178. package/dist/types.d.mts +3 -2
  179. package/dist/types.d.ts +3 -2
  180. package/package.json +12 -9
  181. package/dist/runtime/components/media/components/JsonApi.vue +0 -33
  182. package/dist/runtime/components/media/components/JsonApi.vue.d.ts +0 -16
  183. package/dist/runtime/components/media/components/PresentersPanel.vue.d.ts +0 -32
  184. package/dist/runtime/components/media/components/WindowContent.vue +0 -118
  185. package/dist/runtime/components/media/components/WindowContent.vue.d.ts +0 -50
  186. package/dist/runtime/components/media/components/WindowSlide.vue +0 -92
  187. package/dist/runtime/components/media/components/WindowSlide.vue.d.ts +0 -36
  188. package/dist/runtime/models/authUser.d.ts +0 -16
  189. /package/dist/runtime/{models/authUser.mjs → assets/scss/_footer.css} +0 -0
@@ -1,17 +1,30 @@
1
1
  import type { Group } from "./group";
2
2
  import type { Conference } from "./conference";
3
3
  export type User = {
4
- id?: number;
5
- name?: string;
6
- email?: string;
7
- company?: string | null;
8
- title?: string | null;
9
- online?: boolean;
10
- profile_image?: string | null;
11
- linkedin_url?: string | null;
12
- twitter_url?: string | null;
13
- video_chat?: boolean | null;
14
- type?: string;
15
- groups?: Group[];
4
+ company: string | null;
5
+ email: string | null;
6
+ id: number;
7
+ linkedin_url: string | null;
8
+ name: string | null;
9
+ online: boolean;
10
+ profile_image: string | null;
11
+ title: string | null;
12
+ twitter_url: string | null;
13
+ type: string;
14
+ uuid?: string;
15
+ video_chat: boolean | null;
16
16
  conferences?: Conference[];
17
+ groups?: Group[];
18
+ group_ids?: number[];
19
+ };
20
+ export type UsersResult = {
21
+ page: number;
22
+ lastPage: number | null;
23
+ data: User[];
24
+ };
25
+ export type AuthUser = User & {
26
+ uid: string;
27
+ token: string;
28
+ expires_at: string;
29
+ token_type: string;
17
30
  };
@@ -0,0 +1,7 @@
1
+ export type ContentData = {
2
+ contentObj?: {};
3
+ contentArray?: [];
4
+ contentString?: string;
5
+ contentType?: string;
6
+ modalSize?: number;
7
+ };
File without changes
@@ -1,6 +1,7 @@
1
1
  export type Video = {
2
- id?: number;
3
- name?: string;
4
- url?: string;
5
- description?: string | null;
2
+ id: number;
3
+ name: string;
4
+ url: string;
5
+ description: string | null;
6
+ meta?: string | null;
6
7
  };
@@ -0,0 +1,223 @@
1
+ import type { ColorVariable, HTMLVariable, ToggleVariable, ImageVariable, HotspotVariable } from "../@types/configVariables";
2
+ import type { AgendaPlayerPageConfigs, ArchivePlayerPageConfigs, ExhibitorPageConfigs, MainPageConfigs, PresenterPageConfigs, RegistrationPageConfigs, SponsorsPageConfigs, SupportPageConfigs, WebcastPageConfigs } from './pagesConfig';
3
+ export type VirtualMainPageConfigs = MainPageConfigs & {
4
+ background: ImageVariable;
5
+ Row01_spot_01: HotspotVariable;
6
+ Row01_spot_02: HotspotVariable;
7
+ Row01_spot_03: HotspotVariable;
8
+ Row01_spot_0234: HotspotVariable;
9
+ Row01_spot_04: HotspotVariable;
10
+ Row01_spot_05: HotspotVariable;
11
+ Row02_spot_06: HotspotVariable;
12
+ Row02_spot_06a: HotspotVariable;
13
+ Row02_spot_07: HotspotVariable;
14
+ Row02_spot_08: HotspotVariable;
15
+ Row02_spot_09: HotspotVariable;
16
+ Row02_spot_10: HotspotVariable;
17
+ Row02_spot_10a: HotspotVariable;
18
+ Row02_spot_11: HotspotVariable;
19
+ Row03_spot_12: HotspotVariable;
20
+ Row03_spot_13: HotspotVariable;
21
+ Row03_spot_14: HotspotVariable;
22
+ Row03_spot_15: HotspotVariable;
23
+ Row03_spot_16: HotspotVariable;
24
+ Row04_spot_17: HotspotVariable;
25
+ Row04_spot_18: HotspotVariable;
26
+ Row04_spot_19: HotspotVariable;
27
+ SideNav_R_1: HotspotVariable;
28
+ SideNav_R_2: HotspotVariable;
29
+ SideNav_R_3: HotspotVariable;
30
+ SideNav_R_4: HotspotVariable;
31
+ SideNav_R_5: HotspotVariable;
32
+ SideNav_L_1: HotspotVariable;
33
+ SideNav_L_2: HotspotVariable;
34
+ SideNav_L_3: HotspotVariable;
35
+ SideNav_L_4: HotspotVariable;
36
+ SideNav_L_5: HotspotVariable;
37
+ };
38
+ export type AttendeesConfigs = VirtualMainPageConfigs;
39
+ export type MeetingsConfigs = VirtualMainPageConfigs;
40
+ export type PresentersConfigs = VirtualMainPageConfigs;
41
+ export type SpotlightConfigs = VirtualMainPageConfigs;
42
+ export type Spotlight1Configs = VirtualMainPageConfigs;
43
+ export type Spotlight2Configs = VirtualMainPageConfigs;
44
+ export type EntryWayConfigs = {
45
+ background: ImageVariable;
46
+ Row01_spot01: HotspotVariable;
47
+ Row02_spot02: HotspotVariable;
48
+ Row02_spot03: HotspotVariable;
49
+ Row03_spot04: HotspotVariable;
50
+ Row04_spot05: HotspotVariable;
51
+ Row04_spot06: HotspotVariable;
52
+ Row04_spot07: HotspotVariable;
53
+ };
54
+ export type ExhibitHallConfigs = {
55
+ background: ImageVariable;
56
+ modular_layout: ToggleVariable;
57
+ Row01_spot01: HotspotVariable;
58
+ Row01_spot02: HotspotVariable;
59
+ Row01_spot03: HotspotVariable;
60
+ Row01_spot04: HotspotVariable;
61
+ Row01_spot05: HotspotVariable;
62
+ Row01_spot06: HotspotVariable;
63
+ Row01_spot07: HotspotVariable;
64
+ Row02_spot08: HotspotVariable;
65
+ Row02_spot09: HotspotVariable;
66
+ Row02_spot10: HotspotVariable;
67
+ Row02_spot11: HotspotVariable;
68
+ Row02_spot12: HotspotVariable;
69
+ Row02_spot13: HotspotVariable;
70
+ Row03_spot14: HotspotVariable;
71
+ Row03_spot15: HotspotVariable;
72
+ Row03_spot16: HotspotVariable;
73
+ Row04_spot17: HotspotVariable;
74
+ Row04_spot18: HotspotVariable;
75
+ hotspot_border_color: ColorVariable;
76
+ modular_row_1: HotspotVariable;
77
+ modular_row_2: HotspotVariable;
78
+ modular_row_3: HotspotVariable;
79
+ modular_row_4: HotspotVariable;
80
+ modular_row_5: HotspotVariable;
81
+ modular_row_6: HotspotVariable;
82
+ modular_row_7: HotspotVariable;
83
+ modular_row_8: HotspotVariable;
84
+ modular_row_9: HotspotVariable;
85
+ modular_row_10: HotspotVariable;
86
+ };
87
+ export type AffiliateBoothSmallConfigs = {
88
+ background: ImageVariable;
89
+ custom_js: HTMLVariable;
90
+ Spot_01_Top_Banner_1: HotspotVariable;
91
+ Spot_02_Top_Banner_2: HotspotVariable;
92
+ Spot_03_Monitor_screen: HotspotVariable;
93
+ Spot_04_Shelf_Left_Top: HotspotVariable;
94
+ Spot_05_Shelf_Left_Middle: HotspotVariable;
95
+ Spot_06_Shelf_Left_Bottom: HotspotVariable;
96
+ Spot_07_Shelf_Right_Top: HotspotVariable;
97
+ Spot_08_Shelf_Right_Middle: HotspotVariable;
98
+ Spot_09_Shelf_Right_Bottom: HotspotVariable;
99
+ Spot_10_Floor_Banner_left: HotspotVariable;
100
+ Spot_11_Counter_Left: HotspotVariable;
101
+ Spot_12_Counter_Right: HotspotVariable;
102
+ Spot_13_Counter_Left_and_Right: HotspotVariable;
103
+ Spot_14_Floor_Banner_Right: HotspotVariable;
104
+ Blue_Stool_Left: ToggleVariable;
105
+ Blue_Stool_Right: ToggleVariable;
106
+ Plant_Right: ToggleVariable;
107
+ Plant_Left: ToggleVariable;
108
+ Booth_Rep_4_Right_Facing: ToggleVariable;
109
+ Booth_Rep_4_Left_Facing: ToggleVariable;
110
+ Booth_Rep_3_Right_Facing: ToggleVariable;
111
+ Booth_Rep_3_Left_Facing: ToggleVariable;
112
+ Booth_Rep_2_Right_Facing: ToggleVariable;
113
+ Booth_Rep_2_Left_Facing: ToggleVariable;
114
+ Booth_Rep_1_Right_Facing: ToggleVariable;
115
+ Booth_Rep_1_Left_Facing: ToggleVariable;
116
+ };
117
+ export type AffiliateBoothMedConfigs = {
118
+ background: ImageVariable;
119
+ custom_js: HTMLVariable;
120
+ Row01_spot01: HotspotVariable;
121
+ Row01_spot02: HotspotVariable;
122
+ Row02_spot03: HotspotVariable;
123
+ Row02_spot04: HotspotVariable;
124
+ Row02_spot05: HotspotVariable;
125
+ Row03_spot06: HotspotVariable;
126
+ Row03_spot07: HotspotVariable;
127
+ Row03_spot08: HotspotVariable;
128
+ Row03_spot09: HotspotVariable;
129
+ Row03_spot10: HotspotVariable;
130
+ Row03_spot11: HotspotVariable;
131
+ Row04_spot12: HotspotVariable;
132
+ Row04_spot13: HotspotVariable;
133
+ Row04_spot14: HotspotVariable;
134
+ Row04_spot15: HotspotVariable;
135
+ Row04_spot16: HotspotVariable;
136
+ Row04_spot17: HotspotVariable;
137
+ Row04_spot18: HotspotVariable;
138
+ Row04_spot19: HotspotVariable;
139
+ acc_booth_rep: ToggleVariable;
140
+ acc_booth_seat: ToggleVariable;
141
+ };
142
+ export type AffiliateBoothLgConfigs = {
143
+ background: ImageVariable;
144
+ custom_js: HTMLVariable;
145
+ Row01_spot01: HotspotVariable;
146
+ Row02_spot02: HotspotVariable;
147
+ Row02_spot03: HotspotVariable;
148
+ Row02_spot04: HotspotVariable;
149
+ Row03_spot05: HotspotVariable;
150
+ Row03_spot06: HotspotVariable;
151
+ Row03_spot07: HotspotVariable;
152
+ Row03_spot08: HotspotVariable;
153
+ Row03_spot09: HotspotVariable;
154
+ Row03_spot10: HotspotVariable;
155
+ Row03_spot11: HotspotVariable;
156
+ Row03_spot12: HotspotVariable;
157
+ Row03_spot13: HotspotVariable;
158
+ Row03_spot14: HotspotVariable;
159
+ Row03_spot15: HotspotVariable;
160
+ Row04_spot16: HotspotVariable;
161
+ Row04_spot17: HotspotVariable;
162
+ Row04_spot18: HotspotVariable;
163
+ Arch_left: ToggleVariable;
164
+ Arch_right: ToggleVariable;
165
+ };
166
+ export type AuditoriumConfigs = {
167
+ background: ImageVariable;
168
+ Row01_spot01: HotspotVariable;
169
+ Row01_spot02: HotspotVariable;
170
+ Row01_spot03: HotspotVariable;
171
+ Row01_spot04: HotspotVariable;
172
+ Row01_spot05: HotspotVariable;
173
+ Row02_spot06: HotspotVariable;
174
+ Row02_spot07: HotspotVariable;
175
+ Row02_spot08: HotspotVariable;
176
+ Row02_spot09: HotspotVariable;
177
+ };
178
+ export type NetworkingConfigs = {
179
+ background: ImageVariable;
180
+ Row01_spot01: HotspotVariable;
181
+ Row01_spot02: HotspotVariable;
182
+ Row02_spot03: HotspotVariable;
183
+ Row03_spot04: HotspotVariable;
184
+ Row03_spot05: HotspotVariable;
185
+ Row03_spot06: HotspotVariable;
186
+ Row04_spot07: HotspotVariable;
187
+ Row04_spot08: HotspotVariable;
188
+ };
189
+ export type ResourcesConfigs = {
190
+ background: ImageVariable;
191
+ Row01_spot01: HotspotVariable;
192
+ Row01_spot02: HotspotVariable;
193
+ Row02_spot03: HotspotVariable;
194
+ Row03_spot04: HotspotVariable;
195
+ Row03_spot05: HotspotVariable;
196
+ Row03_spot06: HotspotVariable;
197
+ Row04_spot07: HotspotVariable;
198
+ Row04_spot08: HotspotVariable;
199
+ };
200
+ export interface VirtualPages {
201
+ agenda: AgendaPlayerPageConfigs;
202
+ archive_player: ArchivePlayerPageConfigs;
203
+ attendees: AttendeesConfigs;
204
+ auditorium: AuditoriumConfigs;
205
+ exhibitors: ExhibitorPageConfigs;
206
+ entryway: EntryWayConfigs;
207
+ exhibit_hall: ExhibitHallConfigs;
208
+ main: MainPageConfigs;
209
+ meetings: MeetingsConfigs;
210
+ networking: NetworkingConfigs;
211
+ presenters: PresenterPageConfigs;
212
+ registration: RegistrationPageConfigs;
213
+ resources: ResourcesConfigs;
214
+ sponsors: SponsorsPageConfigs;
215
+ spotlight: SpotlightConfigs;
216
+ spotlight_1: SpotlightConfigs;
217
+ spotlight_2: SpotlightConfigs;
218
+ support: SupportPageConfigs;
219
+ webcast: WebcastPageConfigs;
220
+ }
221
+ export type VirtualNestedKeyOf<ObjectType extends object> = {
222
+ [Key in keyof ObjectType & (string | number)]: ObjectType[Key] extends AgendaPlayerPageConfigs | ArchivePlayerPageConfigs | ExhibitorPageConfigs | MainPageConfigs | EntryWayConfigs | ExhibitHallConfigs | AffiliateBoothSmallConfigs | AffiliateBoothMedConfigs | AffiliateBoothLgConfigs | AuditoriumConfigs | NetworkingConfigs | ResourcesConfigs | AttendeesConfigs | MeetingsConfigs | PresentersConfigs | SpotlightConfigs | Spotlight1Configs | Spotlight2Configs | PresenterPageConfigs | RegistrationPageConfigs | SponsorsPageConfigs | SupportPageConfigs | WebcastPageConfigs ? "" | `${Key}.${VirtualNestedKeyOf<ObjectType[Key]>}` : `${Key}`;
223
+ }[keyof ObjectType & (string | number)];
File without changes
@@ -35,7 +35,8 @@ export default defineNuxtPlugin((nuxtApp) => {
35
35
  return text;
36
36
  };
37
37
  let docTitle = "";
38
- const routeArray = to.name.toLowerCase().split("-");
38
+ const routeName = to.name;
39
+ const routeArray = routeName.toLowerCase().split("-");
39
40
  if (portal.value === null) {
40
41
  Promise.all([
41
42
  // fetch portal config then increment loading indicator
@@ -49,11 +50,12 @@ export default defineNuxtPlugin((nuxtApp) => {
49
50
  await conferencesStore.getCurrentConference(true).then(() => NProgress.inc())
50
51
  ]);
51
52
  }
52
- if (to.name.includes("events-id") && to.params.id) {
53
- await conferencesStore.getSelectedConference(to.params.id, false).then(() => {
53
+ const routeParamId = parseInt(to.params.id);
54
+ if (routeName.includes("events-id") && routeParamId) {
55
+ await conferencesStore.getSelectedConference(routeParamId, false).then(() => {
54
56
  if (conferencesStore.selectedConference) {
55
57
  docTitle = `${conferencesStore.selectedConference.name}`;
56
- if (to.name.includes("webcast-channelid")) {
58
+ if (routeName.includes("webcast-channelid")) {
57
59
  docTitle += ` | Live Webcast`;
58
60
  }
59
61
  }
@@ -62,14 +64,15 @@ export default defineNuxtPlugin((nuxtApp) => {
62
64
  } else {
63
65
  conferencesStore.selectedConference = null;
64
66
  }
67
+ const routeParamPresId = parseInt(to.params.presid);
65
68
  if (to.params.presid) {
66
- await presentationsStore.getSelectedPresentation(to.params.presid).then(() => {
69
+ await presentationsStore.getSelectedPresentation(routeParamPresId).then(() => {
67
70
  if (conferencesStore.selectedConference) {
68
71
  docTitle = `${presentationsStore.selectedPresentation.name}`;
69
72
  }
70
73
  });
71
74
  } else {
72
- presentationsStore.selectedPresentation = null;
75
+ presentationsStore.selectedPresentation = {};
73
76
  }
74
77
  if (!docTitle && portal.value) {
75
78
  docTitle = portal.value.name;
@@ -80,10 +83,10 @@ export default defineNuxtPlugin((nuxtApp) => {
80
83
  if (navObj) {
81
84
  docTitle += ` | ${navObj.label}`;
82
85
  } else {
83
- const routeName = routeArray.map(function(word) {
86
+ const routeName2 = routeArray.map(function(word) {
84
87
  return word.charAt(0).toUpperCase() + word.slice(1);
85
88
  }).join(" ");
86
- docTitle += ` | ${routeName}`;
89
+ docTitle += ` | ${routeName2}`;
87
90
  }
88
91
  }
89
92
  }
@@ -94,7 +97,7 @@ export default defineNuxtPlugin((nuxtApp) => {
94
97
  let metaDesc = portal.value.description;
95
98
  let socialImage = "";
96
99
  if (get(conferencesStore, "selectedConference.description.length", 0) > 0) {
97
- metaDesc = stripHtml(conferencesStore.selectedConference.description);
100
+ metaDesc = stripHtml(conferencesStore.selectedConference?.description);
98
101
  } else if (get(portal.value, "social_description.length", 0) > 0) {
99
102
  metaDesc = get(portal.value, "social_description");
100
103
  }
@@ -137,6 +140,12 @@ export default defineNuxtPlugin((nuxtApp) => {
137
140
  {
138
141
  children: customCss
139
142
  }
143
+ ],
144
+ script: [
145
+ {
146
+ src: "https://cdn.jsdelivr.net/npm/add-to-calendar-button@2",
147
+ async: true
148
+ }
140
149
  ]
141
150
  });
142
151
  } else {
@@ -5,9 +5,12 @@ export type AffiliatesState = {
5
5
  };
6
6
  };
7
7
  export declare const useAffiliatesStore: import("pinia").StoreDefinition<"affiliates", AffiliatesState, {
8
- getConferenceAffiliates: (state: AffiliatesState) => (conferenceId: number) => Sponsor[];
8
+ getConferenceAffiliates: (state: AffiliatesState) => (conferenceId: number) => import("../models/conference").Affiliate[];
9
9
  }, {
10
10
  getAffiliates(conferenceId: number): Promise<unknown>;
11
+ getSponsors(conferenceId: number): Promise<unknown>;
12
+ getExhibitors(conferenceId: number): Promise<unknown>;
13
+ getAllAffiliates(conferenceId: number): Promise<unknown>;
11
14
  /**
12
15
  * no longer in use by nejm-template
13
16
  * replaced with conference.value.hasOwnProperty('affiliates')
@@ -28,6 +28,44 @@ export const useAffiliatesStore = defineStore("affiliates", {
28
28
  });
29
29
  });
30
30
  },
31
+ getSponsors(conferenceId) {
32
+ return new Promise((resolve, reject) => {
33
+ const request = useApi();
34
+ request(
35
+ `/conferences/${conferenceId}/affiliates?filter[role]=sponsor&orderBy=name&orderDir=asc`
36
+ ).then((response) => {
37
+ return response.data;
38
+ }).catch((error) => {
39
+ reject(error);
40
+ });
41
+ });
42
+ },
43
+ // TODO - correctly assign return type
44
+ getExhibitors(conferenceId) {
45
+ return new Promise((resolve, reject) => {
46
+ const request = useApi();
47
+ request(
48
+ `/conferences/${conferenceId}/affiliates?filter[role]=exhibitor&orderBy=name&orderDir=asc`
49
+ ).then((response) => {
50
+ return response.data;
51
+ }).catch((error) => {
52
+ reject(error);
53
+ });
54
+ });
55
+ },
56
+ // TODO - correctly assign return type
57
+ getAllAffiliates(conferenceId) {
58
+ return new Promise((resolve, reject) => {
59
+ const request = useApi();
60
+ request(
61
+ `/conferences/${conferenceId}/affiliates?orderBy=name&orderDir=asc`
62
+ ).then((response) => {
63
+ return response.data;
64
+ }).catch((error) => {
65
+ reject(error);
66
+ });
67
+ });
68
+ },
31
69
  /**
32
70
  * no longer in use by nejm-template
33
71
  * replaced with conference.value.hasOwnProperty('affiliates')
@@ -15,7 +15,7 @@ export interface AttendeeListState {
15
15
  export declare const useAttendeeListStore: import("pinia").StoreDefinition<"attendeeList", AttendeeListState, {}, {
16
16
  getAttendeeList(params: {
17
17
  pageNumber: number;
18
- searchParams?: string | undefined;
18
+ searchParams?: string;
19
19
  }): Promise<AttendeeList>;
20
20
  clearAttendeeList(): void;
21
21
  setOnlineUsers(users: User[]): void;
@@ -1,16 +1,12 @@
1
- import type { AuthUser } from "../models/authUser";
1
+ import type { AuthUser } from "../models/user";
2
+ import type { LoginParams } from "../models/loginParams";
2
3
  export type AuthStoreState = {
3
4
  user: null | AuthUser;
4
5
  };
5
- export type LoginParams = {
6
- email: string;
7
- password: string;
8
- revoke?: boolean;
9
- };
10
6
  export declare const useAuthStore: import("pinia").StoreDefinition<"auth", AuthStoreState, {
11
7
  isLoggedIn: (state: AuthStoreState) => boolean;
12
8
  }, {
13
- loginEmailOnly(data: object): Promise<AuthUser>;
9
+ loginEmailOnly(data: any): Promise<any>;
14
10
  reset(): void;
15
11
  login(params: LoginParams): Promise<AuthUser>;
16
12
  logout(): Promise<void>;
@@ -3,6 +3,9 @@ import { merge } from "lodash-es";
3
3
  import { DateTime } from "luxon";
4
4
  import { useApi } from "../composables/useApi.mjs";
5
5
  import { useConferencesStore } from "./conferences.mjs";
6
+ import {
7
+ loginEventHook
8
+ } from "../composables/useEventHooks.mjs";
6
9
  export const useAuthStore = defineStore("auth", {
7
10
  persist: {
8
11
  afterRestore(context) {
@@ -39,6 +42,7 @@ export const useAuthStore = defineStore("auth", {
39
42
  this.user = mergedUser;
40
43
  const { updateConferencesAccess } = useConferencesStore();
41
44
  updateConferencesAccess(this.user.conferences);
45
+ loginEventHook.trigger(true);
42
46
  resolve(response);
43
47
  }).catch((error) => {
44
48
  reject(error);
@@ -60,6 +64,7 @@ export const useAuthStore = defineStore("auth", {
60
64
  conferencesStore.getConferences().then(() => {
61
65
  conferencesStore.getCurrentConference(true);
62
66
  });
67
+ loginEventHook.trigger(false);
63
68
  resolve(response);
64
69
  }).catch((error) => {
65
70
  reject(error);
@@ -73,6 +78,7 @@ export const useAuthStore = defineStore("auth", {
73
78
  conferencesStore.getConferences().then(() => {
74
79
  conferencesStore.getCurrentConference(true);
75
80
  });
81
+ loginEventHook.trigger(false);
76
82
  resolve();
77
83
  });
78
84
  },
@@ -3,6 +3,7 @@ export interface ConferencesState {
3
3
  conferenceList: Conference[];
4
4
  currentConference: null | Conference;
5
5
  selectedConference: null | Conference;
6
+ featuredConference: null | Conference;
6
7
  }
7
8
  export declare const useConferencesStore: import("pinia").StoreDefinition<"conferences", ConferencesState, {
8
9
  upcomingEvents: (state: ConferencesState) => Conference[];
@@ -11,5 +12,6 @@ export declare const useConferencesStore: import("pinia").StoreDefinition<"confe
11
12
  getConferences(): Promise<Conference[]>;
12
13
  getSelectedConference(id: number, skipDetails?: boolean): Promise<Conference>;
13
14
  getCurrentConference(skipDetails?: boolean): Promise<Conference>;
14
- updateConferencesAccess(userConferences: any): void;
15
+ getRegisteredConferences(): Conference[];
16
+ updateConferencesAccess(userConferences: Conference[]): void;
15
17
  }>;
@@ -10,7 +10,8 @@ export const useConferencesStore = defineStore("conferences", {
10
10
  state: () => ({
11
11
  conferenceList: [],
12
12
  currentConference: null,
13
- selectedConference: null
13
+ selectedConference: null,
14
+ featuredConference: null
14
15
  }),
15
16
  getters: {
16
17
  upcomingEvents: (state) => {
@@ -60,7 +61,7 @@ export const useConferencesStore = defineStore("conferences", {
60
61
  getCurrentConference(skipDetails) {
61
62
  return new Promise((resolve, reject) => {
62
63
  const request = useApi();
63
- let conference = null;
64
+ let conference;
64
65
  const liveConference = this.conferenceList.find(
65
66
  (conf) => conf.state === ConferenceState.LIVE || conf.state === ConferenceState.MIXED
66
67
  );
@@ -72,14 +73,15 @@ export const useConferencesStore = defineStore("conferences", {
72
73
  } else if (upcomingConference !== void 0) {
73
74
  conference = upcomingConference;
74
75
  } else {
75
- conference = findLast(this.conferenceList, [
76
+ const lastConference = findLast(this.conferenceList, [
76
77
  "state",
77
78
  ConferenceState.ARCHIVED
78
79
  ]);
79
- }
80
- if (!conference) {
81
- reject(new Error("could not determine current conference."));
82
- return;
80
+ if (lastConference != void 0) {
81
+ conference = lastConference;
82
+ } else {
83
+ return reject(new Error("could not determine current conference."));
84
+ }
83
85
  }
84
86
  if (skipDetails === true) {
85
87
  this.currentConference = conference;
@@ -98,16 +100,19 @@ export const useConferencesStore = defineStore("conferences", {
98
100
  );
99
101
  }
100
102
  this.currentConference = data;
103
+ this.featuredConference = data;
101
104
  resolve(this.currentConference);
102
105
  });
103
106
  }
104
107
  });
105
108
  },
109
+ getRegisteredConferences() {
110
+ return this.conferenceList.filter((item) => item.access == true);
111
+ },
106
112
  updateConferencesAccess(userConferences) {
107
113
  userConferences.forEach((userConf) => {
108
114
  const conf = find(this.conferenceList, { id: userConf.id });
109
- if (conf)
110
- conf.access = true;
115
+ if (conf) conf.access = true;
111
116
  });
112
117
  }
113
118
  }
@@ -1,10 +1,78 @@
1
- import type { User } from "../models/user";
2
- import type { Conversation } from "../models/conversation";
3
- export interface ConversationState {
4
- chatOpen: boolean;
5
- selectedConversation: Conversation;
6
- }
7
- export declare const useConversationStore: import("pinia").StoreDefinition<"conversations", ConversationState, {}, {
8
- toggleChat(): void;
9
- createConversation(users: User[]): Promise<Conversation>;
10
- }>;
1
+ import type { Ref } from 'vue';
2
+ import type { User, UsersResult } from '../models/user';
3
+ import type { Conversation, Message } from '../models/conversation';
4
+ type ConversationStore = {
5
+ chatOpen: Ref<boolean>;
6
+ conversations: Ref<Conversation[]>;
7
+ selectedConversation: Ref<Conversation>;
8
+ attendeeList: Ref<UsersResult>;
9
+ users: Ref<UsersResult>;
10
+ onlineUsers: Ref<{
11
+ data: User[];
12
+ }>;
13
+ user: Ref<{
14
+ data: User;
15
+ errors: any[];
16
+ }>;
17
+ favorites: Ref<{
18
+ data: any[];
19
+ errors: any[];
20
+ }>;
21
+ usersResultsPage: Ref<number>;
22
+ attendeesResultsPage: Ref<number>;
23
+ prevSearch: Ref<string>;
24
+ isInitial: Ref<boolean>;
25
+ getConversations: Ref<Conversation[] | undefined>;
26
+ getUsers: Ref<UsersResult | undefined>;
27
+ getSelectedConversation: Ref<Conversation | undefined>;
28
+ getUser: Ref<{
29
+ data: User | undefined;
30
+ errors: any[];
31
+ }>;
32
+ getFavorites: Ref<{
33
+ data: any[];
34
+ errors: any[];
35
+ }>;
36
+ getOnlineUsers: Ref<User[]>;
37
+ getName: (user: User) => string;
38
+ hasConversation: (id: number) => Conversation[];
39
+ hasFavorite: (presId: number) => any[];
40
+ commitConversations: (payload: Conversation[]) => void;
41
+ commitConversation: (payload: Conversation) => void;
42
+ commitUsers: (payload: {
43
+ data: User[];
44
+ meta: {
45
+ current_page: number;
46
+ last_page: number;
47
+ };
48
+ }) => void;
49
+ commitAttendeeList: (payload: {
50
+ data: User[];
51
+ meta: {
52
+ current_page: number;
53
+ last_page: number;
54
+ };
55
+ }) => void;
56
+ setRemoteUserOnline: (payload: number) => void;
57
+ setRemoteUserOffline: (payload: number) => void;
58
+ clearUsers: () => void;
59
+ clearAttendeeList: () => void;
60
+ commitSelectedConversation: (payload: Conversation) => void;
61
+ commitMessage: (payload: Message) => void;
62
+ commitChatOpen: (payload: boolean) => void;
63
+ commitFavorites: (payload: any[]) => void;
64
+ commitOnlineUsers: (payload: User[]) => void;
65
+ commitOnlineUser: (payload: User) => void;
66
+ removeOnlineUser: (payload: User) => void;
67
+ getConversationsApi: () => Promise<void>;
68
+ getUsersApi: (search?: string, page?: number, isAttendeeList?: boolean) => Promise<void>;
69
+ getFavoritesApi: () => Promise<void>;
70
+ hideConversation: (conversation: Conversation) => Promise<void>;
71
+ setConversationRead: (conversation: Conversation) => Promise<void>;
72
+ createConversation: (users: User[]) => Promise<void>;
73
+ sendMessage: (message: string) => Promise<void>;
74
+ search: (query: string) => Promise<void>;
75
+ toggleChat: () => void;
76
+ };
77
+ export declare const useConversationStore: import("pinia").StoreDefinition<"conversations", import("pinia")._UnwrapAll<Pick<ConversationStore, "user" | "attendeeList" | "onlineUsers" | "conversations" | "chatOpen" | "selectedConversation" | "users" | "favorites" | "usersResultsPage" | "attendeesResultsPage" | "prevSearch" | "isInitial" | "getConversations" | "getUsers" | "getSelectedConversation" | "getUser" | "getFavorites" | "getOnlineUsers">>, Pick<ConversationStore, never>, Pick<ConversationStore, "search" | "clearAttendeeList" | "removeOnlineUser" | "setRemoteUserOnline" | "setRemoteUserOffline" | "getName" | "hasConversation" | "hasFavorite" | "commitConversations" | "commitConversation" | "commitUsers" | "commitAttendeeList" | "clearUsers" | "commitSelectedConversation" | "commitMessage" | "commitChatOpen" | "commitFavorites" | "commitOnlineUsers" | "commitOnlineUser" | "getConversationsApi" | "getUsersApi" | "getFavoritesApi" | "hideConversation" | "setConversationRead" | "createConversation" | "sendMessage" | "toggleChat">>;
78
+ export {};