@openeventkit/event-site 2.1.49 → 2.1.51

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 (135) hide show
  1. package/gatsby-node.js +21 -4
  2. package/package.json +3 -3
  3. package/src/actions/user-actions.js +9 -10
  4. package/src/cms/config/collections/configurationsCollection/siteSettings/index.js +21 -0
  5. package/src/cms/config/collections/configurationsCollection/siteSettings/typeDefs.js +5 -0
  6. package/src/cms/config/collections/contentPagesCollection/index.js +11 -1
  7. package/src/cms/config/collections/contentPagesCollection/typeDefs.js +1 -0
  8. package/src/cms/config/collections/defaultPagesCollection/marketingPage/index.js +2 -6
  9. package/src/cms/config/collections/defaultPagesCollection/marketingPage/typeDefs.js +0 -1
  10. package/src/cms/preview-templates/ContentPagePreview.js +12 -1
  11. package/src/components/AuthComponent.js +2 -1
  12. package/src/components/MarketingHero/MainColumn.js +23 -11
  13. package/src/components/RegisterButton.js +59 -0
  14. package/src/components/RegistrationFormShortcode.js +82 -0
  15. package/src/components/RegistrationModalComponent.js +124 -0
  16. package/src/components/VimeoPlayer.js +2 -2
  17. package/src/content/marketing-page/index.json +1 -2
  18. package/src/content/site-settings/index.json +1 -1
  19. package/src/content/sponsors.json +1 -1
  20. package/src/pages/index.js +0 -1
  21. package/src/styles/register-page.module.scss +23 -0
  22. package/src/templates/content-page/shortcodes.js +3 -5
  23. package/src/templates/extra-questions-page.js +1 -1
  24. package/src/templates/full-profile-page.js +2 -3
  25. package/src/templates/register-page.js +96 -0
  26. package/src/utils/alerts.js +34 -27
  27. package/src/utils/customErrorHandler.js +4 -4
  28. package/src/utils/registrationConstants.js +7 -0
  29. package/src/utils/ticketConstants.js +10 -0
  30. package/src/utils/useRegistrationWidgetProps.js +204 -0
  31. package/src/utils/useSiteSettings.js +4 -0
  32. package/.playwright-mcp/console-2026-02-26T16-44-19-373Z.log +0 -4
  33. package/.playwright-mcp/console-2026-02-26T16-47-01-636Z.log +0 -2
  34. package/.playwright-mcp/console-2026-02-26T16-49-02-149Z.log +0 -4
  35. package/.playwright-mcp/console-2026-02-26T16-49-40-507Z.log +0 -2
  36. package/.playwright-mcp/console-2026-02-26T16-50-19-509Z.log +0 -2
  37. package/.playwright-mcp/console-2026-02-26T16-57-54-251Z.log +0 -3
  38. package/.playwright-mcp/console-2026-02-26T19-57-40-442Z.log +0 -1
  39. package/.playwright-mcp/console-2026-02-26T19-57-58-088Z.log +0 -2
  40. package/.playwright-mcp/console-2026-02-26T20-05-42-541Z.log +0 -2
  41. package/.playwright-mcp/console-2026-02-26T20-06-33-506Z.log +0 -9
  42. package/.playwright-mcp/console-2026-02-26T20-42-10-293Z.log +0 -34
  43. package/.playwright-mcp/console-2026-02-26T20-42-57-262Z.log +0 -65
  44. package/.playwright-mcp/console-2026-02-26T21-01-25-696Z.log +0 -33
  45. package/.playwright-mcp/console-2026-02-26T21-03-18-294Z.log +0 -47
  46. package/.playwright-mcp/console-2026-02-27T00-27-06-325Z.log +0 -131
  47. package/.playwright-mcp/console-2026-02-27T00-49-26-441Z.log +0 -104
  48. package/.playwright-mcp/page-2026-02-26T16-51-33-776Z.png +0 -0
  49. package/src/components/RegistrationLiteComponent.js +0 -293
  50. package/src/components/summit-my-orders-tickets/components/ConfirmPopup/ConfirmPopup.js +0 -96
  51. package/src/components/summit-my-orders-tickets/components/ConfirmPopup/confirm-popup.scss +0 -57
  52. package/src/components/summit-my-orders-tickets/components/DelegatePopup/DelegatePopup.js +0 -50
  53. package/src/components/summit-my-orders-tickets/components/DelegatePopup/delegate-popup.scss +0 -57
  54. package/src/components/summit-my-orders-tickets/components/MyOrdersTickets.js +0 -79
  55. package/src/components/summit-my-orders-tickets/components/OrderDetails/OrderDetails.js +0 -112
  56. package/src/components/summit-my-orders-tickets/components/OrderDetails/order-details.scss +0 -128
  57. package/src/components/summit-my-orders-tickets/components/OrderList/OrderList.js +0 -80
  58. package/src/components/summit-my-orders-tickets/components/OrderList/OrderListItem.js +0 -85
  59. package/src/components/summit-my-orders-tickets/components/OrderList/order-list.scss +0 -60
  60. package/src/components/summit-my-orders-tickets/components/OrderOptions/OrderOptions.js +0 -83
  61. package/src/components/summit-my-orders-tickets/components/OrderOptions/order-options.scss +0 -50
  62. package/src/components/summit-my-orders-tickets/components/OrderSummary/OrderSummary.js +0 -64
  63. package/src/components/summit-my-orders-tickets/components/OrderSummary/OrderSummaryTable.js +0 -97
  64. package/src/components/summit-my-orders-tickets/components/OrderSummary/order-summary.scss +0 -178
  65. package/src/components/summit-my-orders-tickets/components/OrderTicketDetails/OrderTicketDetails.js +0 -102
  66. package/src/components/summit-my-orders-tickets/components/OrderTicketDetails/order-ticket-details.scss +0 -129
  67. package/src/components/summit-my-orders-tickets/components/OrderTicketList/OrderTicketList.js +0 -19
  68. package/src/components/summit-my-orders-tickets/components/OrderTicketList/OrderTicketListItem.js +0 -13
  69. package/src/components/summit-my-orders-tickets/components/OrderTicketList/order-ticket-list.scss +0 -21
  70. package/src/components/summit-my-orders-tickets/components/TicketDetails/TicketDetails.js +0 -93
  71. package/src/components/summit-my-orders-tickets/components/TicketDetails/ticket-details.scss +0 -129
  72. package/src/components/summit-my-orders-tickets/components/TicketList/TicketList.js +0 -65
  73. package/src/components/summit-my-orders-tickets/components/TicketList/TicketListItem.js +0 -16
  74. package/src/components/summit-my-orders-tickets/components/TicketList/ticket-list.scss +0 -21
  75. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopup.js +0 -186
  76. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupAssignForm.js +0 -136
  77. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupEditDetailsForm/TicketPopupEditDetailsForm.js +0 -468
  78. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupEditDetailsForm/ticket-popup-edit-details-form.scss +0 -71
  79. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupNotifyForm.js +0 -64
  80. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupReassignForm.js +0 -193
  81. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupRefundForm.js +0 -64
  82. package/src/components/summit-my-orders-tickets/components/TicketPopup/ticket-popup.scss +0 -416
  83. package/src/components/summit-my-orders-tickets/context/TicketAssignedContext.js +0 -24
  84. package/src/components/summit-my-orders-tickets/global/constants.js +0 -10
  85. package/src/components/summit-my-orders-tickets/i18n/index.js +0 -37
  86. package/src/components/summit-my-orders-tickets/i18n/locales/en.json +0 -296
  87. package/src/components/summit-my-orders-tickets/i18n/locales/es.json +0 -296
  88. package/src/components/summit-my-orders-tickets/index.js +0 -1
  89. package/src/components/summit-my-orders-tickets/store/actions/base-actions.js +0 -7
  90. package/src/components/summit-my-orders-tickets/store/actions/order-actions.js +0 -96
  91. package/src/components/summit-my-orders-tickets/store/actions/summit-actions.js +0 -64
  92. package/src/components/summit-my-orders-tickets/store/actions/ticket-actions.js +0 -666
  93. package/src/components/summit-my-orders-tickets/store/actions/timer-actions.js +0 -29
  94. package/src/components/summit-my-orders-tickets/store/actions/user-actions.js +0 -42
  95. package/src/components/summit-my-orders-tickets/store/history.js +0 -16
  96. package/src/components/summit-my-orders-tickets/store/index.js +0 -117
  97. package/src/components/summit-my-orders-tickets/store/reducers/base-reducer.js +0 -67
  98. package/src/components/summit-my-orders-tickets/store/reducers/clock-reducer.js +0 -31
  99. package/src/components/summit-my-orders-tickets/store/reducers/order-reducer.js +0 -95
  100. package/src/components/summit-my-orders-tickets/store/reducers/summit-reducer.js +0 -52
  101. package/src/components/summit-my-orders-tickets/store/reducers/ticket-reducer.js +0 -92
  102. package/src/components/summit-my-orders-tickets/store/reducers/user-reducer.js +0 -35
  103. package/src/components/summit-my-orders-tickets/styles/_variables.scss +0 -17
  104. package/src/components/summit-my-orders-tickets/styles/general.scss +0 -17
  105. package/src/components/summit-my-orders-tickets/summit-my-orders-tickets.js +0 -86
  106. package/src/components/summit-my-orders-tickets/util/helpers/capitalizeFirstLetter.js +0 -1
  107. package/src/components/summit-my-orders-tickets/util/helpers/createReducer.js +0 -11
  108. package/src/components/summit-my-orders-tickets/util/helpers/formatCurrency.js +0 -15
  109. package/src/components/summit-my-orders-tickets/util/helpers/getDayNumberFromDate.js +0 -9
  110. package/src/components/summit-my-orders-tickets/util/helpers/getDaysBetweenDates.js +0 -16
  111. package/src/components/summit-my-orders-tickets/util/helpers/getDocumentOffset.js +0 -8
  112. package/src/components/summit-my-orders-tickets/util/helpers/getFormattedDate.js +0 -7
  113. package/src/components/summit-my-orders-tickets/util/helpers/getFormattedTime.js +0 -9
  114. package/src/components/summit-my-orders-tickets/util/helpers/getWindowScroll.js +0 -6
  115. package/src/components/summit-my-orders-tickets/util/helpers/index.js +0 -22
  116. package/src/components/summit-my-orders-tickets/util/index.js +0 -5
  117. package/src/components/summit-my-orders-tickets/util/order/calculateOrderTotals.js +0 -28
  118. package/src/components/summit-my-orders-tickets/util/order/getOrderStatusData.js +0 -71
  119. package/src/components/summit-my-orders-tickets/util/order/index.js +0 -2
  120. package/src/components/summit-my-orders-tickets/util/summit/checkSummitPast.js +0 -10
  121. package/src/components/summit-my-orders-tickets/util/summit/checkSummitStarted.js +0 -5
  122. package/src/components/summit-my-orders-tickets/util/summit/getSummitFormattedDate.js +0 -29
  123. package/src/components/summit-my-orders-tickets/util/summit/getSummitFormattedReassignDate.js +0 -8
  124. package/src/components/summit-my-orders-tickets/util/summit/getSummitLocation.js +0 -9
  125. package/src/components/summit-my-orders-tickets/util/summit/getSummitReassignDate.js +0 -7
  126. package/src/components/summit-my-orders-tickets/util/summit/index.js +0 -7
  127. package/src/components/summit-my-orders-tickets/util/summit/useSummitDetails.js +0 -36
  128. package/src/components/summit-my-orders-tickets/util/ticket/getTicketRole.js +0 -11
  129. package/src/components/summit-my-orders-tickets/util/ticket/getTicketStatusData.js +0 -48
  130. package/src/components/summit-my-orders-tickets/util/ticket/getTicketType.js +0 -1
  131. package/src/components/summit-my-orders-tickets/util/ticket/index.js +0 -4
  132. package/src/components/summit-my-orders-tickets/util/ticket/useTicketDetails.js +0 -60
  133. package/src/components/summit-my-orders-tickets/util/timer/index.js +0 -1
  134. package/src/components/summit-my-orders-tickets/util/timer/useNow.js +0 -8
  135. package/src/templates/login-page.js +0 -49
@@ -1,104 +0,0 @@
1
- [ 367ms] [ERROR] Failed to load resource: the server responded with a status of 401 () @ https://2026ocpapac.fnvirtual.app/a/schedule:0
2
- [ 453ms] [ERROR] Failed to load resource: the server responded with a status of 401 () @ https://2026ocpapac.fnvirtual.app/favicon.ico:0
3
- [ 20193ms] [WARNING] Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set. @ https://2026ocpapac.fnvirtual.app/app-8ce682e2ac5cd3dbf642.js:1
4
- [ 20204ms] [ERROR] Failed to load resource: the server responded with a status of 401 () @ https://2026ocpapac.fnvirtual.app/manifest.webmanifest:0
5
- [ 20204ms] [ERROR] Manifest fetch from https://2026ocpapac.fnvirtual.app/manifest.webmanifest failed, code 401 @ https://2026ocpapac.fnvirtual.app/a/schedule:0
6
- [ 20266ms] [ERROR] Failed to load resource: the server responded with a status of 401 () @ https://2026ocpapac.fnvirtual.app/manifest.webmanifest:0
7
- [ 20266ms] [ERROR] Manifest fetch from https://2026ocpapac.fnvirtual.app/manifest.webmanifest failed, code 401 @ https://2026ocpapac.fnvirtual.app/a/schedule:0
8
- [ 20369ms] [WARNING] VIDEOJS: WARN: videojs.extend is deprecated as of Video.js 7.22.0 and will be removed in Video.js 8.0.0 @ https://2026ocpapac.fnvirtual.app/app-8ce682e2ac5cd3dbf642.js:1
9
- [ 21296ms] Error: Minified React error #418; visit https://reactjs.org/docs/error-decoder.html?invariant=418 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
10
- at sa (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:61076)
11
- at _i (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:133760)
12
- at ws (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121330)
13
- at ys (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121258)
14
- at gs (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121121)
15
- at as (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:116284)
16
- at S (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143217)
17
- at MessagePort.z (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143749)
18
- [ 21297ms] Error: Minified React error #418; visit https://reactjs.org/docs/error-decoder.html?invariant=418 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
19
- at sa (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:61076)
20
- at _i (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:133760)
21
- at ws (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121330)
22
- at ys (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121258)
23
- at gs (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121121)
24
- at as (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:116284)
25
- at S (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143217)
26
- at MessagePort.z (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143749)
27
- [ 21299ms] Error: Minified React error #423; visit https://reactjs.org/docs/error-decoder.html?invariant=423 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
28
- at _i (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:133446)
29
- at ws (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121330)
30
- at ys (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121258)
31
- at gs (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121121)
32
- at os (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:117956)
33
- at as (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:116511)
34
- at S (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143217)
35
- at MessagePort.z (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143749)
36
- [ 22450ms] [WARNING] target Element not found @ https://2026ocpapac.fnvirtual.app/app-8ce682e2ac5cd3dbf642.js:1
37
- [ 40915ms] [ERROR] Failed to load resource: the server responded with a status of 401 () @ https://2026ocpapac.fnvirtual.app/manifest.webmanifest:0
38
- [ 40915ms] [ERROR] Manifest fetch from https://2026ocpapac.fnvirtual.app/manifest.webmanifest failed, code 401 @ https://2026ocpapac.fnvirtual.app/a/schedule:0
39
- [ 41011ms] [WARNING] Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set. @ https://2026ocpapac.fnvirtual.app/app-8ce682e2ac5cd3dbf642.js:1
40
- [ 41119ms] [WARNING] VIDEOJS: WARN: videojs.extend is deprecated as of Video.js 7.22.0 and will be removed in Video.js 8.0.0 @ https://2026ocpapac.fnvirtual.app/app-8ce682e2ac5cd3dbf642.js:1
41
- [ 41210ms] [ERROR] Failed to load resource: the server responded with a status of 401 () @ https://2026ocpapac.fnvirtual.app/manifest.webmanifest:0
42
- [ 41210ms] [ERROR] Manifest fetch from https://2026ocpapac.fnvirtual.app/manifest.webmanifest failed, code 401 @ https://2026ocpapac.fnvirtual.app/a/schedule:0
43
- [ 41236ms] Error: Minified React error #418; visit https://reactjs.org/docs/error-decoder.html?invariant=418 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
44
- at sa (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:61076)
45
- at _i (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:133760)
46
- at ws (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121330)
47
- at ys (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121258)
48
- at gs (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121121)
49
- at as (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:116284)
50
- at S (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143217)
51
- at MessagePort.z (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143749)
52
- [ 41236ms] Error: Minified React error #418; visit https://reactjs.org/docs/error-decoder.html?invariant=418 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
53
- at sa (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:61076)
54
- at _i (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:133760)
55
- at ws (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121330)
56
- at ys (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121258)
57
- at gs (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121121)
58
- at as (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:116284)
59
- at S (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143217)
60
- at MessagePort.z (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143749)
61
- [ 41237ms] Error: Minified React error #423; visit https://reactjs.org/docs/error-decoder.html?invariant=423 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
62
- at _i (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:133446)
63
- at ws (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121330)
64
- at ys (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121258)
65
- at gs (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121121)
66
- at os (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:117956)
67
- at as (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:116511)
68
- at S (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143217)
69
- at MessagePort.z (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143749)
70
- [ 41804ms] [WARNING] target Element not found @ https://2026ocpapac.fnvirtual.app/app-8ce682e2ac5cd3dbf642.js:1
71
- [ 42727ms] [WARNING] Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set. @ https://2026ocpapac.fnvirtual.app/app-8ce682e2ac5cd3dbf642.js:1
72
- [ 42731ms] [ERROR] Failed to load resource: the server responded with a status of 401 () @ https://2026ocpapac.fnvirtual.app/manifest.webmanifest:0
73
- [ 42731ms] [ERROR] Manifest fetch from https://2026ocpapac.fnvirtual.app/manifest.webmanifest failed, code 401 @ https://2026ocpapac.fnvirtual.app/a/schedule:0
74
- [ 42774ms] [ERROR] Failed to load resource: the server responded with a status of 401 () @ https://2026ocpapac.fnvirtual.app/manifest.webmanifest:0
75
- [ 42788ms] [ERROR] Manifest fetch from https://2026ocpapac.fnvirtual.app/manifest.webmanifest failed, code 401 @ https://2026ocpapac.fnvirtual.app/a/schedule:0
76
- [ 42801ms] [WARNING] VIDEOJS: WARN: videojs.extend is deprecated as of Video.js 7.22.0 and will be removed in Video.js 8.0.0 @ https://2026ocpapac.fnvirtual.app/app-8ce682e2ac5cd3dbf642.js:1
77
- [ 42895ms] Error: Minified React error #418; visit https://reactjs.org/docs/error-decoder.html?invariant=418 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
78
- at sa (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:61076)
79
- at _i (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:133760)
80
- at ws (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121330)
81
- at ys (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121258)
82
- at gs (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121121)
83
- at as (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:116284)
84
- at S (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143217)
85
- at MessagePort.z (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143749)
86
- [ 42896ms] Error: Minified React error #418; visit https://reactjs.org/docs/error-decoder.html?invariant=418 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
87
- at sa (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:61076)
88
- at _i (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:133760)
89
- at ws (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121330)
90
- at ys (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121258)
91
- at gs (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121121)
92
- at as (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:116284)
93
- at S (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143217)
94
- at MessagePort.z (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143749)
95
- [ 42897ms] Error: Minified React error #423; visit https://reactjs.org/docs/error-decoder.html?invariant=423 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
96
- at _i (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:133446)
97
- at ws (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121330)
98
- at ys (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121258)
99
- at gs (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:121121)
100
- at os (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:117956)
101
- at as (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:116511)
102
- at S (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143217)
103
- at MessagePort.z (https://2026ocpapac.fnvirtual.app/framework-357bc04c194dd9384808.js:2:143749)
104
- [ 43217ms] [WARNING] target Element not found @ https://2026ocpapac.fnvirtual.app/app-8ce682e2ac5cd3dbf642.js:1
@@ -1,293 +0,0 @@
1
- import React, { useEffect, useState } from "react";
2
- import PropTypes from "prop-types";
3
- import * as Sentry from "@sentry/react";
4
- import { navigate, withPrefix } from "gatsby";
5
- import { connect } from "react-redux";
6
- import URI from "urijs";
7
- import Swal from "sweetalert2";
8
- import {ERROR_TYPE_ERROR, ERROR_TYPE_VALIDATION, ERROR_TYPE_PAYMENT} from "summit-registration-lite/dist/utils/constants";
9
- import FragmentParser from "openstack-uicore-foundation/lib/utils/fragment-parser";
10
- import { doLogin, passwordlessStart, getAccessToken } from "openstack-uicore-foundation/lib/security/methods"
11
- import { doLogout } from "openstack-uicore-foundation/lib/security/actions"
12
- import { getUserProfile, setPasswordlessLogin, setUserOrder, checkOrderData } from "../actions/user-actions";
13
- import { getThirdPartyProviders } from "../actions/base-actions";
14
- import { checkRequireExtraQuestionsByAttendee } from "../actions/user-actions";
15
- import { getExtraQuestions } from "../actions/summit-actions";
16
-
17
- import IconButton from "./IconButton";
18
- import iconButtonStyles from "./IconButton/styles.module.scss";
19
-
20
- import { SentryFallbackFunction } from "./SentryErrorComponent";
21
- // these two libraries are client-side only
22
- import RegistrationLiteWidget from "summit-registration-lite/dist";
23
- import "summit-registration-lite/dist/index.css";
24
- import useSiteSettings from "@utils/useSiteSettings";
25
- import usePaymentSettings from "@utils/usePaymentSettings";
26
- import useMarketingSettings, { MARKETING_SETTINGS_KEYS } from "@utils/useMarketingSettings";
27
- import { getEnvVariable, SUMMIT_API_BASE_URL, OAUTH2_CLIENT_ID, REGISTRATION_BASE_URL, SUPPORT_EMAIL, TENANT_ID } from "@utils/envVariables";
28
- import { userHasAccessLevel, VIRTUAL_ACCESS_LEVEL } from "@utils/authorizedGroups";
29
- import { validateIdentityProviderButtons } from "@utils/loginUtils";
30
- import { triggerTagManagerTrackEvent } from "@utils/eventTriggers";
31
-
32
- const RegistrationLiteComponent = ({
33
- registrationProfile,
34
- userProfile,
35
- attendee,
36
- getThirdPartyProviders,
37
- availableThirdPartyProviders,
38
- getUserProfile,
39
- setPasswordlessLogin,
40
- setUserOrder,
41
- checkOrderData,
42
- loadingProfile,
43
- loadingIDP,
44
- summit,
45
- colorSettings,
46
- marketingPageSettings,
47
- allowsNativeAuth,
48
- allowsOtpAuth,
49
- checkRequireExtraQuestionsByAttendee,
50
- getExtraQuestions,
51
- children,
52
- ignoreAutoOpen
53
- }) => {
54
- const [isActive, setIsActive] = useState(false);
55
- const [initialEmailValue, setInitialEmailValue] = useState("");
56
-
57
- useEffect(() => {
58
- const fragmentParser = new FragmentParser();
59
- if(!ignoreAutoOpen) {
60
- setIsActive(fragmentParser.getParam("registration"));
61
- }
62
- const paramInitialEmailValue = fragmentParser.getParam("email");
63
- if (paramInitialEmailValue)
64
- setInitialEmailValue(paramInitialEmailValue);
65
- }, []);
66
-
67
- useEffect(() => {
68
- if (!availableThirdPartyProviders.length) getThirdPartyProviders();
69
- }, [availableThirdPartyProviders]);
70
-
71
- const getBackURL = () => {
72
- let backUrl = "/#registration=1";
73
- return URI.encode(backUrl);
74
- };
75
-
76
- const handleOpenPopup = () => {
77
- const { registerButton } = marketingPageSettings.hero.buttons;
78
- if(registerButton?.externalRegistrationLink){
79
- window.location = registerButton.externalRegistrationLink;
80
- return;
81
- }
82
- setIsActive(true);
83
- }
84
-
85
- const onClickLogin = (provider) => {
86
- doLogin(getBackURL(), provider, null, null, null, getEnvVariable(TENANT_ID));
87
- };
88
-
89
- const handleCompanyError = () => {
90
- console.log("company error...")
91
- Swal.fire("ERROR", "Hold on. Your session expired!.", "error").then(() => {
92
- // save current location and summit slug, for further redirect logic
93
- window.localStorage.setItem("post_logout_redirect_path", new URI(window.location.href).pathname());
94
- doLogout();
95
- });
96
- }
97
-
98
- const getPasswordlessCode = (email) => {
99
- const params = {
100
- connection: "email",
101
- send: "code",
102
- redirect_uri: `${window.location.origin}/auth/callback`,
103
- email,
104
- };
105
-
106
- return passwordlessStart(params)
107
- };
108
-
109
- const loginPasswordless = (code, email) => {
110
- const params = {
111
- connection: "email",
112
- otp: code,
113
- email
114
- };
115
- return setPasswordlessLogin(params);
116
- };
117
-
118
- const handleOnError = (e) => {
119
- // this is a basic implementation using swal
120
- const {type, msg, exception} = e;
121
- let icon = 'error';
122
- let title = 'ERROR';
123
- switch(type){
124
- case ERROR_TYPE_ERROR:
125
- icon = 'error';
126
- title = 'Error';
127
- break
128
- case ERROR_TYPE_VALIDATION:
129
- icon = 'warning';
130
- title = 'Warning'
131
- break;
132
- case ERROR_TYPE_PAYMENT:
133
- title = 'Payment Error'
134
- icon = 'warning';
135
- break;
136
- default:
137
- icon = 'error';
138
- title = 'Error';
139
- break;
140
- }
141
- Swal.fire(title, msg, icon)
142
- }
143
-
144
- const { getSettingByKey } = useMarketingSettings();
145
-
146
- const inPersonDisclaimer = getSettingByKey(MARKETING_SETTINGS_KEYS.registrationInPersonDisclaimer);
147
- const allowPromoCodes = !!Number(getSettingByKey(MARKETING_SETTINGS_KEYS.regLiteAllowPromoCodes));
148
- const companyDDLPlaceholder = getSettingByKey(MARKETING_SETTINGS_KEYS.regLiteCompanyDDLPlaceholder);
149
- const showCompanyInputDefaultOptions = !!Number(getSettingByKey(MARKETING_SETTINGS_KEYS.regLiteShowCompanyInputDefaultOptions));
150
- const showCompanyInput = !!Number(getSettingByKey(MARKETING_SETTINGS_KEYS.regLiteShowCompanyInput));
151
- const initialOrderComplete1stParagraph = getSettingByKey(MARKETING_SETTINGS_KEYS.regLiteInitialOrderComplete1stParagraph);
152
- const initialOrderComplete2ndParagraph = getSettingByKey(MARKETING_SETTINGS_KEYS.regLiteInitialOrderComplete2ndParagraph);
153
- const initialOrderCompleteButton = getSettingByKey(MARKETING_SETTINGS_KEYS.regLiteInitialOrderCompleteButton);
154
- const orderCompleteTitle = getSettingByKey(MARKETING_SETTINGS_KEYS.regLiteOrderCompleteTitle);
155
- const orderComplete1stParagraph = getSettingByKey(MARKETING_SETTINGS_KEYS.regLiteOrderComplete1stParagraph);
156
- const orderComplete2ndParagraph = getSettingByKey(MARKETING_SETTINGS_KEYS.regLiteOrderComplete2ndParagraph);
157
- const orderCompleteButton = getSettingByKey(MARKETING_SETTINGS_KEYS.regLiteOrderCompleteButton);
158
- const noAllowedTicketsMessage = getSettingByKey(MARKETING_SETTINGS_KEYS.regLiteNoAllowedTicketsMessage);
159
-
160
- const siteSettings = useSiteSettings();
161
-
162
- const paymentSettings = usePaymentSettings();
163
-
164
- const widgetProps = {
165
- apiBaseUrl: getEnvVariable(SUMMIT_API_BASE_URL),
166
- clientId: getEnvVariable(OAUTH2_CLIENT_ID),
167
- summitData: summit,
168
- profileData: registrationProfile,
169
- marketingData: colorSettings,
170
- loginOptions: validateIdentityProviderButtons(siteSettings?.identityProviderButtons, availableThirdPartyProviders),
171
- loading: loadingProfile || loadingIDP,
172
- // only show info if its not a recent purchase
173
- ticketOwned: userProfile?.summit_tickets?.length > 0,
174
- hasVIRTUAL_ACCESS_LEVEL: userHasAccessLevel(userProfile?.summit_tickets, VIRTUAL_ACCESS_LEVEL),
175
- ownedTickets: attendee?.ticket_types || [],
176
- authUser: (provider) => onClickLogin(provider),
177
- getPasswordlessCode: getPasswordlessCode,
178
- loginWithCode: (code, email) => loginPasswordless(code, email).then( () => navigate("/#registration=1")),
179
- getAccessToken: getAccessToken,
180
- closeWidget: () => {
181
- // reload user profile
182
- getUserProfile().catch((e) => console.log("getUserProfile error. Not logged in?"));
183
- setIsActive(false);
184
- },
185
- goToExtraQuestions: (attendeeId) => {
186
- navigate(`/a/extra-questions${attendeeId ? `/#attendee=${attendeeId}` : ''}`);
187
- },
188
- goToEvent: () => navigate("/a/"),
189
- goToRegistration: () => navigate(`${getEnvVariable(REGISTRATION_BASE_URL)}/a/${summit.slug}`),
190
- goToMyOrders: () => navigate("/a/my-tickets"),
191
- completedExtraQuestions: async (attendee) => {
192
- if (!attendee) return true;
193
- await getExtraQuestions(attendee?.id);
194
- return checkRequireExtraQuestionsByAttendee(attendee);
195
- },
196
- onPurchaseComplete: (order) => {
197
- // check if it"s necessary to update profile
198
- setUserOrder(order).then(()=> checkOrderData(order));
199
- },
200
- trackEvent: triggerTagManagerTrackEvent,
201
- inPersonDisclaimer: inPersonDisclaimer,
202
- handleCompanyError: () => handleCompanyError,
203
- allowsNativeAuth: allowsNativeAuth,
204
- allowsOtpAuth: allowsOtpAuth,
205
- providerOptions: {
206
- fonts: [{ cssSrc: withPrefix("/fonts/fonts.css") }],
207
- style: { base: { fontFamily: `"Nunito Sans", sans-serif`, fontWeight: 300 } }
208
- },
209
- loginInitialEmailInputValue: initialEmailValue,
210
- authErrorCallback: (error) => {
211
- // we have an auth Error, perform logout
212
- const fragment = window?.location?.hash;
213
- return navigate("/auth/logout", {
214
- state: {
215
- backUrl: "/" + fragment
216
- }
217
- });
218
- },
219
- allowPromoCodes: allowPromoCodes,
220
- companyDDLPlaceholder: companyDDLPlaceholder,
221
- supportEmail: summit.support_email || getEnvVariable(SUPPORT_EMAIL),
222
- initialOrderComplete1stParagraph: initialOrderComplete1stParagraph,
223
- initialOrderComplete2ndParagraph: initialOrderComplete2ndParagraph,
224
- initialOrderCompleteButton: initialOrderCompleteButton,
225
- orderCompleteTitle: orderCompleteTitle,
226
- orderComplete1stParagraph: orderComplete1stParagraph,
227
- orderComplete2ndParagraph: orderComplete2ndParagraph,
228
- orderCompleteButton: orderCompleteButton,
229
- noAllowedTicketsMessage: noAllowedTicketsMessage,
230
- showCompanyInput: showCompanyInput,
231
- showCompanyInputDefaultOptions: showCompanyInputDefaultOptions,
232
- idpLogoLight: siteSettings?.idpLogo?.idpLogoLight?.publicURL,
233
- idpLogoDark: siteSettings?.idpLogo?.idpLogoDark?.publicURL,
234
- idpLogoAlt: siteSettings?.idpLogo?.idpLogoAlt,
235
- hidePostalCode: paymentSettings?.hidePostalCode,
236
- successfulPaymentReturnUrl: `${window.location.origin}/a/my-tickets/`,
237
- onError: handleOnError,
238
- };
239
-
240
- const { registerButton } = marketingPageSettings.hero.buttons;
241
-
242
- return (
243
- <>
244
- {children ?
245
- React.cloneElement(children, { onClick: handleOpenPopup })
246
- :
247
- registerButton.display &&
248
- <IconButton
249
- className={iconButtonStyles.register}
250
- iconClass="fa fa-2x fa-edit"
251
- buttonText={registerButton.text}
252
- onClick={handleOpenPopup}
253
- disabled={isActive}
254
- />
255
- }
256
- <Sentry.ErrorBoundary fallback={SentryFallbackFunction({componentName: "Registration Lite"})}>
257
- {isActive && <RegistrationLiteWidget {...widgetProps} />}
258
- </Sentry.ErrorBoundary>
259
- </>
260
- )
261
- };
262
-
263
- RegistrationLiteComponent.defaultProps = {
264
- ignoreAutoOpen: false,
265
- };
266
-
267
- RegistrationLiteComponent.propTypes = {
268
- ignoreAutoOpen: PropTypes.bool,
269
- };
270
-
271
- const mapStateToProps = ({userState, summitState, settingState}) => ({
272
- registrationProfile: userState.idpProfile,
273
- userProfile: userState.userProfile,
274
- attendee: userState.attendee,
275
- loadingProfile: userState.loading,
276
- loadingIDP: userState.loadingIDP,
277
- availableThirdPartyProviders: summitState.third_party_providers,
278
- allowsNativeAuth: summitState.allows_native_auth,
279
- allowsOtpAuth: summitState.allows_otp_auth,
280
- summit: summitState.summit,
281
- colorSettings: settingState.colorSettings,
282
- marketingPageSettings: settingState.marketingPageSettings
283
- });
284
-
285
- export default connect(mapStateToProps, {
286
- getThirdPartyProviders,
287
- getUserProfile,
288
- setPasswordlessLogin,
289
- setUserOrder,
290
- checkOrderData,
291
- checkRequireExtraQuestionsByAttendee,
292
- getExtraQuestions,
293
- })(RegistrationLiteComponent);
@@ -1,96 +0,0 @@
1
- /**
2
- * Copyright 2022
3
- * Licensed under the Apache License, Version 2.0 (the "License");
4
- * you may not use this file except in compliance with the License.
5
- * You may obtain a copy of the License at
6
- * http://www.apache.org/licenses/LICENSE-2.0
7
- * Unless required by applicable law or agreed to in writing, software
8
- * distributed under the License is distributed on an "AS IS" BASIS,
9
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
- * See the License for the specific language governing permissions and
11
- * limitations under the License.
12
- **/
13
- import React from 'react'
14
- import { useTranslation } from "react-i18next";
15
- import usePortal from 'react-useportal';
16
-
17
- import './confirm-popup.scss';
18
-
19
- export const CONFIRM_POPUP_CASE = {
20
- CANCEL_ORDER: 'CANCEL_ORDER',
21
- CANCEL_TICKET: 'CANCEL_TICKET',
22
- ASSIGN_TICKET: 'ASSIGN_TICKET',
23
- REASSIGN_TICKET: 'REASSIGN_TICKET',
24
- UNASSIGN_TICKET: 'UNASSIGN_TICKET',
25
- SAVE: 'SAVE',
26
- NOTIFICATION: 'NOTIFICATION',
27
- }
28
-
29
- export const getConfirmPopupContent = ({ popupCase }) => {
30
- const popupCaseContentMap = {
31
- [CONFIRM_POPUP_CASE.CANCEL_ORDER]: {
32
- title: 'confirm_popup.question_title_cancel_order',
33
- text: 'confirm_popup.question_text_cancel_order'
34
- },
35
- [CONFIRM_POPUP_CASE.CANCEL_TICKET]: {
36
- title: 'confirm_popup.question_title_cancel',
37
- text: "confirm_popup.question_text_cancel"
38
- },
39
- [CONFIRM_POPUP_CASE.ASSIGN_TICKET]: {
40
- title: 'confirm_popup.question_title_assign',
41
- text: 'confirm_popup.question_text_assign'
42
- },
43
- [CONFIRM_POPUP_CASE.REASSIGN_TICKET]: {
44
- title: 'confirm_popup.question_title_reassign',
45
- text: 'confirm_popup.question_text_reassign'
46
- },
47
- [CONFIRM_POPUP_CASE.UNASSIGN_TICKET]: {
48
- title: 'confirm_popup.question_title_unassign',
49
- text: 'confirm_popup.question_text_unassign'
50
- },
51
- [CONFIRM_POPUP_CASE.SAVE]: {
52
- title: 'confirm_popup.question_title_save',
53
- text: 'confirm_popup.question_text_save'
54
- },
55
- [CONFIRM_POPUP_CASE.NOTIFICATION]: {
56
- title: 'confirm_popup.question_title_notification',
57
- text: 'confirm_popup.question_text_notification'
58
- }
59
- };
60
-
61
- return popupCaseContentMap[popupCase];
62
- };
63
-
64
- export const ConfirmPopup = ({ isOpen, popupCase, onAccept, onReject }) => {
65
- var { Portal } = usePortal();
66
- const { t } = useTranslation();
67
- const content = getConfirmPopupContent({ popupCase });
68
-
69
- const handleAcceptClick = () => {
70
- if (onAccept) onAccept();
71
- };
72
-
73
- const handleRejectClick = () => {
74
- if (onReject) onReject();
75
- };
76
-
77
- return (
78
- <>
79
- {isOpen && (
80
- <Portal>
81
- <div className="confirm-popup-bg">
82
- <div className="confirm-popup">
83
- <h4>{t(content.title)}</h4>
84
- <p>{t(content.text)}</p>
85
-
86
- <div className="buttons">
87
- <span onClick={handleRejectClick}>{t("confirm_popup.cancel")}</span>
88
- <span onClick={handleAcceptClick}>{t("confirm_popup.accept")}</span>
89
- </div>
90
- </div>
91
- </div>
92
- </Portal>
93
- )}
94
- </>
95
- );
96
- };
@@ -1,57 +0,0 @@
1
- @import "../../styles/variables";
2
-
3
- .confirm-popup-bg {
4
- z-index: 1000;
5
- position: fixed;
6
- width: 100%;
7
- height: 100%;
8
- top: 0;
9
- left: 0;
10
- right: 0;
11
- bottom: 0;
12
- margin: auto;
13
- }
14
-
15
- .confirm-popup {
16
- position: absolute;
17
- right: 1%;
18
- top: 5%;
19
- padding: 40px 20px 20px;
20
- background: $color-white;
21
- z-index: 35;
22
- text-align: center;
23
- box-shadow: 1px 1px 5px grey;
24
- min-width: 300px;
25
-
26
- h4 {
27
- font-weight: bold;
28
- }
29
-
30
- p {
31
- margin: 0 40px 20px;
32
- }
33
-
34
- .buttons {
35
- margin-top: 35px;
36
- display: flex;
37
- justify-content: space-evenly;
38
- align-items: baseline;
39
-
40
- span {
41
- cursor: pointer;
42
- }
43
-
44
- span:last-child {
45
- background: $color-secondary-contrast;
46
- border-radius: 4px;
47
- color: $color-white;
48
- padding: 5px 30px;
49
- text-align: center;
50
-
51
- &:hover {
52
- background-color: #286090;
53
- border-color: #204d74;
54
- }
55
- }
56
- }
57
- }
@@ -1,50 +0,0 @@
1
- /**
2
- * Copyright 2022
3
- * Licensed under the Apache License, Version 2.0 (the "License");
4
- * you may not use this file except in compliance with the License.
5
- * You may obtain a copy of the License at
6
- * http://www.apache.org/licenses/LICENSE-2.0
7
- * Unless required by applicable law or agreed to in writing, software
8
- * distributed under the License is distributed on an "AS IS" BASIS,
9
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
- * See the License for the specific language governing permissions and
11
- * limitations under the License.
12
- **/
13
- import React, { useState } from 'react'
14
- import { useTranslation } from "react-i18next";
15
- import usePortal from 'react-useportal';
16
-
17
- import './delegate-popup.scss';
18
-
19
- export const DelegatePopup = ({ isOpen, onAccept, onReject }) => {
20
- var { Portal } = usePortal();
21
- const { t } = useTranslation();
22
-
23
- const handleAcceptClick = () => {
24
- if (onAccept) onAccept();
25
- };
26
-
27
- const handleRejectClick = () => {
28
- if (onReject) onReject();
29
- };
30
-
31
- return (
32
- <>
33
- {isOpen && (
34
- <Portal>
35
- <div className="confirm-popup-bg">
36
- <div className="confirm-popup">
37
- <h4>Delegate Ticket</h4>
38
- <p>Delegation will create a new attendee and require to you to fill the first Name, last Name and to answer the extra questions again</p>
39
-
40
- <div className="buttons">
41
- <span onClick={handleRejectClick}>{t("confirm_popup.cancel")}</span>
42
- <span onClick={handleAcceptClick}>{t("confirm_popup.accept")}</span>
43
- </div>
44
- </div>
45
- </div>
46
- </Portal>
47
- )}
48
- </>
49
- );
50
- };
@@ -1,57 +0,0 @@
1
- @import "../../styles/variables";
2
-
3
- .confirm-popup-bg {
4
- z-index: 1000;
5
- position: fixed;
6
- width: 100%;
7
- height: 100%;
8
- top: 0;
9
- left: 0;
10
- right: 0;
11
- bottom: 0;
12
- margin: auto;
13
- }
14
-
15
- .confirm-popup {
16
- position: absolute;
17
- right: 1%;
18
- top: 5%;
19
- padding: 40px 20px 20px;
20
- background: $color-white;
21
- z-index: 35;
22
- text-align: center;
23
- box-shadow: 1px 1px 5px grey;
24
- min-width: 300px;
25
-
26
- h4 {
27
- font-weight: bold;
28
- }
29
-
30
- p {
31
- margin: 0 40px 20px;
32
- }
33
-
34
- .buttons {
35
- margin-top: 35px;
36
- display: flex;
37
- justify-content: space-evenly;
38
- align-items: baseline;
39
-
40
- span {
41
- cursor: pointer;
42
- }
43
-
44
- span:last-child {
45
- background: $color-secondary-contrast;
46
- border-radius: 4px;
47
- color: $color-white;
48
- padding: 5px 30px;
49
- text-align: center;
50
-
51
- &:hover {
52
- background-color: #286090;
53
- border-color: #204d74;
54
- }
55
- }
56
- }
57
- }