@openeventkit/event-site 2.1.49 → 2.1.50

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 (114) hide show
  1. package/package.json +2 -2
  2. package/src/actions/user-actions.js +9 -10
  3. package/src/components/RegistrationLiteComponent.js +1 -1
  4. package/src/components/VimeoPlayer.js +2 -2
  5. package/src/content/site-settings/index.json +1 -1
  6. package/src/content/sponsors.json +1 -1
  7. package/src/styles/colors.scss +11 -11
  8. package/src/templates/extra-questions-page.js +1 -1
  9. package/src/templates/full-profile-page.js +2 -3
  10. package/src/utils/alerts.js +34 -27
  11. package/src/utils/customErrorHandler.js +4 -4
  12. package/src/utils/ticketConstants.js +10 -0
  13. package/.playwright-mcp/console-2026-02-26T16-44-19-373Z.log +0 -4
  14. package/.playwright-mcp/console-2026-02-26T16-47-01-636Z.log +0 -2
  15. package/.playwright-mcp/console-2026-02-26T16-49-02-149Z.log +0 -4
  16. package/.playwright-mcp/console-2026-02-26T16-49-40-507Z.log +0 -2
  17. package/.playwright-mcp/console-2026-02-26T16-50-19-509Z.log +0 -2
  18. package/.playwright-mcp/console-2026-02-26T16-57-54-251Z.log +0 -3
  19. package/.playwright-mcp/console-2026-02-26T19-57-40-442Z.log +0 -1
  20. package/.playwright-mcp/console-2026-02-26T19-57-58-088Z.log +0 -2
  21. package/.playwright-mcp/console-2026-02-26T20-05-42-541Z.log +0 -2
  22. package/.playwright-mcp/console-2026-02-26T20-06-33-506Z.log +0 -9
  23. package/.playwright-mcp/console-2026-02-26T20-42-10-293Z.log +0 -34
  24. package/.playwright-mcp/console-2026-02-26T20-42-57-262Z.log +0 -65
  25. package/.playwright-mcp/console-2026-02-26T21-01-25-696Z.log +0 -33
  26. package/.playwright-mcp/console-2026-02-26T21-03-18-294Z.log +0 -47
  27. package/.playwright-mcp/console-2026-02-27T00-27-06-325Z.log +0 -131
  28. package/.playwright-mcp/console-2026-02-27T00-49-26-441Z.log +0 -104
  29. package/.playwright-mcp/page-2026-02-26T16-51-33-776Z.png +0 -0
  30. package/src/components/summit-my-orders-tickets/components/ConfirmPopup/ConfirmPopup.js +0 -96
  31. package/src/components/summit-my-orders-tickets/components/ConfirmPopup/confirm-popup.scss +0 -57
  32. package/src/components/summit-my-orders-tickets/components/DelegatePopup/DelegatePopup.js +0 -50
  33. package/src/components/summit-my-orders-tickets/components/DelegatePopup/delegate-popup.scss +0 -57
  34. package/src/components/summit-my-orders-tickets/components/MyOrdersTickets.js +0 -79
  35. package/src/components/summit-my-orders-tickets/components/OrderDetails/OrderDetails.js +0 -112
  36. package/src/components/summit-my-orders-tickets/components/OrderDetails/order-details.scss +0 -128
  37. package/src/components/summit-my-orders-tickets/components/OrderList/OrderList.js +0 -80
  38. package/src/components/summit-my-orders-tickets/components/OrderList/OrderListItem.js +0 -85
  39. package/src/components/summit-my-orders-tickets/components/OrderList/order-list.scss +0 -60
  40. package/src/components/summit-my-orders-tickets/components/OrderOptions/OrderOptions.js +0 -83
  41. package/src/components/summit-my-orders-tickets/components/OrderOptions/order-options.scss +0 -50
  42. package/src/components/summit-my-orders-tickets/components/OrderSummary/OrderSummary.js +0 -64
  43. package/src/components/summit-my-orders-tickets/components/OrderSummary/OrderSummaryTable.js +0 -97
  44. package/src/components/summit-my-orders-tickets/components/OrderSummary/order-summary.scss +0 -178
  45. package/src/components/summit-my-orders-tickets/components/OrderTicketDetails/OrderTicketDetails.js +0 -102
  46. package/src/components/summit-my-orders-tickets/components/OrderTicketDetails/order-ticket-details.scss +0 -129
  47. package/src/components/summit-my-orders-tickets/components/OrderTicketList/OrderTicketList.js +0 -19
  48. package/src/components/summit-my-orders-tickets/components/OrderTicketList/OrderTicketListItem.js +0 -13
  49. package/src/components/summit-my-orders-tickets/components/OrderTicketList/order-ticket-list.scss +0 -21
  50. package/src/components/summit-my-orders-tickets/components/TicketDetails/TicketDetails.js +0 -93
  51. package/src/components/summit-my-orders-tickets/components/TicketDetails/ticket-details.scss +0 -129
  52. package/src/components/summit-my-orders-tickets/components/TicketList/TicketList.js +0 -65
  53. package/src/components/summit-my-orders-tickets/components/TicketList/TicketListItem.js +0 -16
  54. package/src/components/summit-my-orders-tickets/components/TicketList/ticket-list.scss +0 -21
  55. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopup.js +0 -186
  56. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupAssignForm.js +0 -136
  57. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupEditDetailsForm/TicketPopupEditDetailsForm.js +0 -468
  58. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupEditDetailsForm/ticket-popup-edit-details-form.scss +0 -71
  59. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupNotifyForm.js +0 -64
  60. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupReassignForm.js +0 -193
  61. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupRefundForm.js +0 -64
  62. package/src/components/summit-my-orders-tickets/components/TicketPopup/ticket-popup.scss +0 -416
  63. package/src/components/summit-my-orders-tickets/context/TicketAssignedContext.js +0 -24
  64. package/src/components/summit-my-orders-tickets/global/constants.js +0 -10
  65. package/src/components/summit-my-orders-tickets/i18n/index.js +0 -37
  66. package/src/components/summit-my-orders-tickets/i18n/locales/en.json +0 -296
  67. package/src/components/summit-my-orders-tickets/i18n/locales/es.json +0 -296
  68. package/src/components/summit-my-orders-tickets/index.js +0 -1
  69. package/src/components/summit-my-orders-tickets/store/actions/base-actions.js +0 -7
  70. package/src/components/summit-my-orders-tickets/store/actions/order-actions.js +0 -96
  71. package/src/components/summit-my-orders-tickets/store/actions/summit-actions.js +0 -64
  72. package/src/components/summit-my-orders-tickets/store/actions/ticket-actions.js +0 -666
  73. package/src/components/summit-my-orders-tickets/store/actions/timer-actions.js +0 -29
  74. package/src/components/summit-my-orders-tickets/store/actions/user-actions.js +0 -42
  75. package/src/components/summit-my-orders-tickets/store/history.js +0 -16
  76. package/src/components/summit-my-orders-tickets/store/index.js +0 -117
  77. package/src/components/summit-my-orders-tickets/store/reducers/base-reducer.js +0 -67
  78. package/src/components/summit-my-orders-tickets/store/reducers/clock-reducer.js +0 -31
  79. package/src/components/summit-my-orders-tickets/store/reducers/order-reducer.js +0 -95
  80. package/src/components/summit-my-orders-tickets/store/reducers/summit-reducer.js +0 -52
  81. package/src/components/summit-my-orders-tickets/store/reducers/ticket-reducer.js +0 -92
  82. package/src/components/summit-my-orders-tickets/store/reducers/user-reducer.js +0 -35
  83. package/src/components/summit-my-orders-tickets/styles/_variables.scss +0 -17
  84. package/src/components/summit-my-orders-tickets/styles/general.scss +0 -17
  85. package/src/components/summit-my-orders-tickets/summit-my-orders-tickets.js +0 -86
  86. package/src/components/summit-my-orders-tickets/util/helpers/capitalizeFirstLetter.js +0 -1
  87. package/src/components/summit-my-orders-tickets/util/helpers/createReducer.js +0 -11
  88. package/src/components/summit-my-orders-tickets/util/helpers/formatCurrency.js +0 -15
  89. package/src/components/summit-my-orders-tickets/util/helpers/getDayNumberFromDate.js +0 -9
  90. package/src/components/summit-my-orders-tickets/util/helpers/getDaysBetweenDates.js +0 -16
  91. package/src/components/summit-my-orders-tickets/util/helpers/getDocumentOffset.js +0 -8
  92. package/src/components/summit-my-orders-tickets/util/helpers/getFormattedDate.js +0 -7
  93. package/src/components/summit-my-orders-tickets/util/helpers/getFormattedTime.js +0 -9
  94. package/src/components/summit-my-orders-tickets/util/helpers/getWindowScroll.js +0 -6
  95. package/src/components/summit-my-orders-tickets/util/helpers/index.js +0 -22
  96. package/src/components/summit-my-orders-tickets/util/index.js +0 -5
  97. package/src/components/summit-my-orders-tickets/util/order/calculateOrderTotals.js +0 -28
  98. package/src/components/summit-my-orders-tickets/util/order/getOrderStatusData.js +0 -71
  99. package/src/components/summit-my-orders-tickets/util/order/index.js +0 -2
  100. package/src/components/summit-my-orders-tickets/util/summit/checkSummitPast.js +0 -10
  101. package/src/components/summit-my-orders-tickets/util/summit/checkSummitStarted.js +0 -5
  102. package/src/components/summit-my-orders-tickets/util/summit/getSummitFormattedDate.js +0 -29
  103. package/src/components/summit-my-orders-tickets/util/summit/getSummitFormattedReassignDate.js +0 -8
  104. package/src/components/summit-my-orders-tickets/util/summit/getSummitLocation.js +0 -9
  105. package/src/components/summit-my-orders-tickets/util/summit/getSummitReassignDate.js +0 -7
  106. package/src/components/summit-my-orders-tickets/util/summit/index.js +0 -7
  107. package/src/components/summit-my-orders-tickets/util/summit/useSummitDetails.js +0 -36
  108. package/src/components/summit-my-orders-tickets/util/ticket/getTicketRole.js +0 -11
  109. package/src/components/summit-my-orders-tickets/util/ticket/getTicketStatusData.js +0 -48
  110. package/src/components/summit-my-orders-tickets/util/ticket/getTicketType.js +0 -1
  111. package/src/components/summit-my-orders-tickets/util/ticket/index.js +0 -4
  112. package/src/components/summit-my-orders-tickets/util/ticket/useTicketDetails.js +0 -60
  113. package/src/components/summit-my-orders-tickets/util/timer/index.js +0 -1
  114. package/src/components/summit-my-orders-tickets/util/timer/useNow.js +0 -8
@@ -1,19 +0,0 @@
1
- import React from "react"
2
- import classNames from 'classnames';
3
- import { OrderTicketListItem } from './OrderTicketListItem';
4
-
5
- import './order-ticket-list.scss';
6
-
7
- export const OrderTicketList = ({ ticketType, tickets, summit, order, className }) => (
8
- <>
9
- <div className="order-ticket-list__type">{ticketType.name} Tickets ({tickets.length})</div>
10
-
11
- {tickets.length > 0 && (
12
- <ul className={classNames('order-ticket-list', className)}>
13
- {tickets.map((ticket) => (
14
- <OrderTicketListItem key={ticket.id} ticket={ticket} summit={summit} order={order} />
15
- ))}
16
- </ul>
17
- )}
18
- </>
19
- );
@@ -1,13 +0,0 @@
1
- import React from "react"
2
- import classNames from 'classnames';
3
- import { OrderTicketDetails } from "../OrderTicketDetails/OrderTicketDetails";
4
-
5
- export const OrderTicketListItem = ({ ticket, summit, order, className }) => {
6
- if (!ticket || !summit || !order) return null;
7
-
8
- return (
9
- <li className={classNames('order-ticket-list__item', className)}>
10
- <OrderTicketDetails ticket={ticket} summit={summit} order={order} />
11
- </li>
12
- );
13
- };
@@ -1,21 +0,0 @@
1
- @import "../../styles/variables";
2
-
3
- .order-ticket-list {
4
- padding-left: 30px;
5
- margin-top: 15px;
6
-
7
- &__type {
8
- display: none;
9
- padding: 15px 20px;
10
- font-size: 18px;
11
- font-weight: 600;
12
- }
13
-
14
- &__item {
15
- margin-bottom: 10px;
16
-
17
- &:last-child {
18
- margin-bottom: 0;
19
- }
20
- }
21
- }
@@ -1,93 +0,0 @@
1
- import React from 'react';
2
- import { useSelector } from 'react-redux';
3
- import classNames from 'classnames';
4
- import { useTicketDetails } from "../../util";
5
- import { TicketPopup } from '../TicketPopup/TicketPopup';
6
-
7
- import './ticket-details.scss';
8
-
9
- export const TicketDetails = ({ ticket, className }) => {
10
- const summit = useSelector(state => state.summitState.summit);
11
- const {
12
- status,
13
- type,
14
- role,
15
- isActive,
16
- isUnassigned,
17
- handleClick,
18
- showPopup,
19
- handlePopupClose,
20
- isReassignable,
21
- formattedDate
22
- } = useTicketDetails({ ticket, summit });
23
-
24
- return (
25
- <>
26
- <div
27
- className={classNames(
28
- 'ticket-details',
29
- `ticket-details--${status.className}`,
30
- {
31
- 'ticket-details--disabled': isUnassigned && !isReassignable,
32
- [status.className]: isReassignable,
33
- },
34
- className
35
- )}
36
- onClick={handleClick}
37
- >
38
- <i className={`ticket-details__icon fa fa-2x ${status.icon}`} />
39
-
40
- <div className="ticket-details__content">
41
- <div className="ticket-details__header">
42
- <h4 className="ticket-details__name">{type.name}</h4>
43
-
44
- <h5 className="ticket-details__date">{formattedDate}</h5>
45
-
46
- <p className="ticket-details__status">
47
- {status.text}
48
- </p>
49
- </div>
50
-
51
- <div className="ticket-details__meta">
52
- <h4 className="ticket-details__type">
53
- {type.name}
54
- </h4>
55
-
56
- <h5 className="ticket-details__number" style={{ fontSize: 10 }}>
57
- {ticket.number}
58
- </h5>
59
-
60
- <p className="ticket-details__owner">
61
- Purchased By {ticket.order.owner_first_name} {ticket.order.owner_last_name} ({ticket.order.owner_email})
62
- </p>
63
-
64
- {role &&
65
- <p className="ticket-details__badge">
66
- Badge Features: {role}
67
- </p>
68
- }
69
- </div>
70
- </div>
71
-
72
-
73
- <div className="ticket-details__footer">
74
- {isActive && (
75
- <i className="ticket-details__arrow fa fa-angle-right" />
76
- )}
77
- </div>
78
- </div>
79
-
80
- {
81
- showPopup && (
82
- <TicketPopup
83
- ticket={ticket}
84
- summit={summit}
85
- order={ticket.order}
86
- fromTicketList={true}
87
- onClose={handlePopupClose}
88
- />
89
- )
90
- }
91
- </>
92
- );
93
- };
@@ -1,129 +0,0 @@
1
- @import "../../styles/variables";
2
-
3
- .ticket-details {
4
- position: relative;
5
- display: flex;
6
- background-color: var(--color_background_light);
7
- border: 1px solid var(--color_gray_light);
8
- border-radius: 4px;
9
- min-height: 6em;
10
- padding: 16px 16px 16px 32px;
11
- cursor: pointer;
12
- gap: 12px;
13
-
14
- @media screen and (min-width: 768px) {
15
- padding-left: 48px;
16
- }
17
-
18
- &:hover {
19
- background-color: $color-gray-lightest;
20
- }
21
-
22
- * {
23
- margin: 0;
24
- }
25
-
26
- ul {
27
- padding: 0;
28
- list-style-type: none;
29
- }
30
-
31
- &__content {
32
- display: flex;
33
- flex-direction: column;
34
- flex-basis: calc(80% - 6px);
35
- max-width: calc(80% - 6px);
36
- gap: 12px;
37
-
38
- @media screen and (min-width: 768px) {
39
- flex-flow: row nowrap;
40
- }
41
- }
42
-
43
- &__footer {
44
- display: flex;
45
- flex-basis: calc(20% - 6px);
46
- max-width: calc(20% - 6px);
47
- text-align: right;
48
- justify-content: end;
49
- text-align: right;
50
-
51
- @media screen and (min-width: 768px) {
52
- align-items: center;
53
- }
54
- }
55
-
56
- &__header,
57
- &__meta {
58
- display: flex;
59
- flex-direction: column;
60
- gap: 12px;
61
-
62
- > * {
63
- margin: 0;
64
- }
65
-
66
- @media screen and (min-width: 768px) {
67
- flex-basis: calc(50% - 6px);
68
- max-width: calc(50% - 6px);
69
- }
70
- }
71
-
72
- &__icon {
73
- position: absolute;
74
- top: 20px;
75
- left: -12px;
76
-
77
- &::before {
78
- background: $color-white;
79
- border-radius: 50%;
80
- height: 1em;
81
- width: 1em;
82
- }
83
- }
84
-
85
- &__status {
86
- margin-top: auto;
87
- font-size: 0.8em !important;
88
- color: $color-black;
89
- text-transform: uppercase;
90
- }
91
-
92
- &--warning {
93
- border-color: $color-warning;
94
- }
95
-
96
- &--warning &__icon,
97
- &--warning &__status {
98
- color: $color-warning;
99
- }
100
-
101
- &--complete &__icon,
102
- &--complete &__status {
103
- color: $color-success;
104
- }
105
-
106
- &--unset &__icon,
107
- &--unset &__status {
108
- color: $color-black;
109
- }
110
-
111
- &--cancel &__icon,
112
- &--cancel &__status {
113
- color: $color-danger;
114
- }
115
-
116
- &--disabled &__icon,
117
- &--disabled &__status {
118
- color: $color-black;
119
- }
120
-
121
- &--disabled {
122
- opacity: 0.6;
123
-
124
- &:hover {
125
- cursor: default;
126
- background-color: $color-white;
127
- }
128
- }
129
- }
@@ -1,65 +0,0 @@
1
- import React from 'react';
2
- import { useDispatch, useSelector } from 'react-redux';
3
- import { Pagination } from 'react-bootstrap';
4
- import { useTranslation } from "react-i18next";
5
- import classNames from 'classnames';
6
- import { getUserTickets } from "../../store/actions/ticket-actions";
7
- import { TicketListItem } from './TicketListItem';
8
-
9
- import './ticket-list.scss';
10
-
11
- export const TicketList = ({ className }) => {
12
- const { t } = useTranslation();
13
- const dispatch = useDispatch();
14
-
15
- const {
16
- memberTickets: tickets,
17
- current_page: currentPage,
18
- last_page: lastPage,
19
- per_page: perPage,
20
- total
21
- } = useSelector(state => state.ticketState || {});
22
-
23
- const handlePageChange = (page) => dispatch(getUserTickets({ page, perPage }));
24
-
25
- const hasTickets = tickets.length > 0;
26
- const hasMultiplePages = total > perPage;
27
-
28
- if (!hasTickets) return null;
29
-
30
- return (
31
- <>
32
- <h2 className="ticket-list__title">
33
- {t("tickets.title")}
34
- </h2>
35
-
36
- <ul className={classNames('ticket-list', className)}>
37
- {tickets.map(ticket => (
38
- <TicketListItem key={ticket.id} ticket={ticket} />
39
- ))}
40
- </ul>
41
-
42
- {hasMultiplePages && (
43
- <div className="ticket-list__pagination">
44
- <div className="row">
45
- <div className="col-md-8">
46
- <Pagination
47
- bsSize="medium"
48
- prev
49
- next
50
- first
51
- last
52
- ellipsis
53
- boundaryLinks
54
- maxButtons={5}
55
- items={lastPage}
56
- activePage={currentPage}
57
- onSelect={handlePageChange}
58
- />
59
- </div>
60
- </div>
61
- </div>
62
- )}
63
- </>
64
- );
65
- }
@@ -1,16 +0,0 @@
1
- import React from 'react';
2
- import { TicketDetails } from '../TicketDetails/TicketDetails';
3
-
4
- export const TicketListItem = ({ ticket, className }) => {
5
- if (!ticket) return null;
6
-
7
- return (
8
- <li className="ticket-list__item">
9
- <div className="ticket-list__item__content row">
10
- <div className="col-md-8">
11
- <TicketDetails ticket={ticket} className={className} />
12
- </div>
13
- </div>
14
- </li>
15
- );
16
- };
@@ -1,21 +0,0 @@
1
- @import "../../styles/variables";
2
-
3
- .ticket-list {
4
- &__title {
5
- margin-top: 30px;
6
- margin-bottom: 30px;
7
- }
8
-
9
- &__pagination {
10
- margin: 30px 0;
11
- text-align: center;
12
-
13
- .pagination {
14
- margin: 0;
15
- }
16
- }
17
-
18
- &__item {
19
- margin-top: 15px;
20
- }
21
- }
@@ -1,186 +0,0 @@
1
- import React, { useState, useEffect, useRef } from 'react';
2
- import { useDispatch, useSelector } from 'react-redux';
3
- import { Tabs, TabList, Tab, TabPanel } from 'react-tabs';
4
- import { useTranslation } from "react-i18next";
5
- import classNames from 'classnames';
6
- import { getTicketById, getTicketPDF } from '../../store/actions/ticket-actions';
7
- import { getWindowScroll, useTicketDetails } from '../../util';
8
- import { TicketPopupReassignForm } from './TicketPopupReassignForm';
9
- import { TicketPopupAssignForm } from './TicketPopupAssignForm';
10
- import { TicketPopupNotifyForm } from './TicketPopupNotifyForm';
11
- import { TicketPopupRefundForm } from './TicketPopupRefundForm';
12
- import { TicketPopupEditDetailsForm } from './TicketPopupEditDetailsForm/TicketPopupEditDetailsForm';
13
-
14
- import QRCode from "react-qr-code";
15
-
16
- import './ticket-popup.scss';
17
-
18
- export const TicketPopup = ({ ticket, order, summit, onClose, fromTicketList, fromOrderList, className }) => {
19
- const previousScrollPosition = useRef(getWindowScroll());
20
- const { t } = useTranslation();
21
- const dispatch = useDispatch();
22
- const userProfile = useSelector(state => state.userState.userProfile);
23
-
24
- const {
25
- isSummitStarted,
26
- type: ticketType,
27
- role: ticketRole,
28
- status: statusData,
29
- isUnassigned,
30
- isReassignable,
31
- isRefundable
32
- } = useTicketDetails({ ticket, summit });
33
-
34
- const ticketName = ticketType.name;
35
- const isUserOrderOwner = order.owner_id === userProfile.id;
36
- const isUserTicketOwner = ticket.owner?.email === userProfile.email;
37
-
38
- const canEditTicketData = (isUserTicketOwner || isUserOrderOwner) && summit.allow_update_attendee_extra_questions;
39
-
40
- const [tabIndex, setTabIndex] = useState(0);
41
-
42
- useEffect(() => {
43
- dispatch(getTicketById({order, ticket}));
44
- }, []);
45
-
46
- useEffect(() => {
47
- document.body.style.overflow = 'hidden';
48
-
49
- return () => {
50
- document.body.style.overflow = 'visible';
51
-
52
- window.scrollTo({
53
- top: previousScrollPosition.current.top
54
- });
55
- };
56
- }, []);
57
-
58
- const closePopup = () => {
59
- if (onClose) onClose();
60
- };
61
-
62
- const handleDownloadClick = () => dispatch(getTicketPDF({ ticket }));
63
-
64
- const handleCloseClick = () => closePopup();
65
-
66
- return (
67
- <div className={classNames('ticket-popup', className)}>
68
- <div className="ticket-popup-content">
69
- <header className="ticket-popup-header">
70
- <div className="ticket-popup-title">
71
- <h4>{ticketName}</h4>
72
-
73
- <h5>
74
- {ticket.number}
75
- </h5>
76
-
77
- <p>
78
- Purchased By {order.owner_first_name} {order.owner_last_name} ({order.owner_email})
79
- </p>
80
-
81
- <p>
82
- {ticketRole}
83
- </p>
84
-
85
- <p className={`status status-${statusData.className}`}>
86
- {statusData.text}
87
- </p>
88
- </div>
89
-
90
- <div className="ticket-popup-icons">
91
- <div className='ticket-popup-row-icon'>
92
- {!summit.is_virtual && statusData.type === 'STATUS_COMPLETE' && (
93
- <i onClick={handleDownloadClick} className="fa fa-file-pdf-o" />
94
- )}
95
-
96
- <i onClick={handleCloseClick} className="fa fa-times" />
97
- </div>
98
- {statusData.type === 'STATUS_COMPLETE' &&
99
- <div className='ticket-popup-qr'>
100
- <QRCode
101
- size={256}
102
- style={{ height: "auto", maxWidth: "100%", width: "100%" }}
103
- value={ticket.qr_code}
104
- viewBox={`0 0 256 256`}
105
- />
106
- </div>
107
- }
108
- </div>
109
- </header>
110
-
111
- <section className="ticket-popup-body">
112
- <Tabs selectedIndex={tabIndex} onSelect={(index) => setTabIndex(index)} selectedTabClassName="ticket-popup-tabs--active">
113
- <TabList className="ticket-popup-tabs">
114
- {isUnassigned && (
115
- <Tab>{t("ticket_popup.tab_assign")}</Tab>
116
- )}
117
-
118
- {!isUnassigned && (
119
- <Tab>{t("ticket_popup.tab_edit")}</Tab>
120
- )}
121
-
122
- {!isUnassigned && isReassignable && isUserOrderOwner && (
123
- <Tab>{t("ticket_popup.tab_reassign")}</Tab>
124
- )}
125
-
126
- {!isUnassigned && (isReassignable && !isUserTicketOwner && isUserOrderOwner) && (
127
- <Tab>{t("ticket_popup.tab_notify")}</Tab>
128
- )}
129
-
130
- {isUserOrderOwner && !isSummitStarted && isRefundable && (
131
- <Tab>{t("ticket_popup.tab_refund")}</Tab>
132
- )}
133
- </TabList>
134
-
135
- {isUnassigned && (
136
- <TabPanel className="ticket-popup-panel ticket-popup-panel--assign">
137
- <div className="ticket-popup-scroll">
138
- <TicketPopupAssignForm ticket={ticket} summit={summit} order={order} />
139
- </div>
140
- </TabPanel>
141
- )}
142
-
143
- {!isUnassigned && (
144
- <TabPanel className="ticket-popup-panel ticket-popup-panel--edit">
145
- <div className="ticket-popup-scroll">
146
- <TicketPopupEditDetailsForm
147
- ticket={ticket}
148
- summit={summit}
149
- order={order}
150
- canEditTicketData={canEditTicketData}
151
- goToReassignPanel={() => setTabIndex(1)}
152
- context={fromTicketList ? 'ticket-list' : 'order-list'}
153
- />
154
- </div>
155
- </TabPanel>
156
- )}
157
-
158
- {!isUnassigned && isReassignable && isUserOrderOwner && (
159
- <TabPanel className="ticket-popup-panel ticket-popup-panel--reassign">
160
- <div className="ticket-popup-scroll">
161
- <TicketPopupReassignForm ticket={ticket} summit={summit} order={order} />
162
- </div>
163
- </TabPanel>
164
- )}
165
-
166
- {!isUnassigned && (isReassignable && !isUserTicketOwner && isUserOrderOwner) && (
167
- <TabPanel className="ticket-popup-panel ticket-popup-panel--notify">
168
- <div className="ticket-popup-scroll">
169
- <TicketPopupNotifyForm ticket={ticket} summit={summit} order={order} />
170
- </div>
171
- </TabPanel>
172
- )}
173
-
174
- {isUserOrderOwner && !isSummitStarted && isRefundable && (
175
- <TabPanel className="ticket-popup-panel ticket-popup-panel--refund">
176
- <div className="ticket-popup-scroll">
177
- <TicketPopupRefundForm ticket={ticket} summit={summit} order={order} />
178
- </div>
179
- </TabPanel>
180
- )}
181
- </Tabs>
182
- </section>
183
- </div>
184
- </div>
185
- )
186
- };