@openeventkit/event-site 2.1.48 → 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 (97) hide show
  1. package/package.json +3 -3
  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/src/components/summit-my-orders-tickets/components/ConfirmPopup/ConfirmPopup.js +0 -96
  14. package/src/components/summit-my-orders-tickets/components/ConfirmPopup/confirm-popup.scss +0 -57
  15. package/src/components/summit-my-orders-tickets/components/DelegatePopup/DelegatePopup.js +0 -50
  16. package/src/components/summit-my-orders-tickets/components/DelegatePopup/delegate-popup.scss +0 -57
  17. package/src/components/summit-my-orders-tickets/components/MyOrdersTickets.js +0 -79
  18. package/src/components/summit-my-orders-tickets/components/OrderDetails/OrderDetails.js +0 -112
  19. package/src/components/summit-my-orders-tickets/components/OrderDetails/order-details.scss +0 -128
  20. package/src/components/summit-my-orders-tickets/components/OrderList/OrderList.js +0 -80
  21. package/src/components/summit-my-orders-tickets/components/OrderList/OrderListItem.js +0 -85
  22. package/src/components/summit-my-orders-tickets/components/OrderList/order-list.scss +0 -60
  23. package/src/components/summit-my-orders-tickets/components/OrderOptions/OrderOptions.js +0 -83
  24. package/src/components/summit-my-orders-tickets/components/OrderOptions/order-options.scss +0 -50
  25. package/src/components/summit-my-orders-tickets/components/OrderSummary/OrderSummary.js +0 -64
  26. package/src/components/summit-my-orders-tickets/components/OrderSummary/OrderSummaryTable.js +0 -97
  27. package/src/components/summit-my-orders-tickets/components/OrderSummary/order-summary.scss +0 -178
  28. package/src/components/summit-my-orders-tickets/components/OrderTicketDetails/OrderTicketDetails.js +0 -102
  29. package/src/components/summit-my-orders-tickets/components/OrderTicketDetails/order-ticket-details.scss +0 -129
  30. package/src/components/summit-my-orders-tickets/components/OrderTicketList/OrderTicketList.js +0 -19
  31. package/src/components/summit-my-orders-tickets/components/OrderTicketList/OrderTicketListItem.js +0 -13
  32. package/src/components/summit-my-orders-tickets/components/OrderTicketList/order-ticket-list.scss +0 -21
  33. package/src/components/summit-my-orders-tickets/components/TicketDetails/TicketDetails.js +0 -93
  34. package/src/components/summit-my-orders-tickets/components/TicketDetails/ticket-details.scss +0 -129
  35. package/src/components/summit-my-orders-tickets/components/TicketList/TicketList.js +0 -65
  36. package/src/components/summit-my-orders-tickets/components/TicketList/TicketListItem.js +0 -16
  37. package/src/components/summit-my-orders-tickets/components/TicketList/ticket-list.scss +0 -21
  38. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopup.js +0 -186
  39. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupAssignForm.js +0 -136
  40. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupEditDetailsForm/TicketPopupEditDetailsForm.js +0 -468
  41. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupEditDetailsForm/ticket-popup-edit-details-form.scss +0 -71
  42. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupNotifyForm.js +0 -64
  43. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupReassignForm.js +0 -193
  44. package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupRefundForm.js +0 -64
  45. package/src/components/summit-my-orders-tickets/components/TicketPopup/ticket-popup.scss +0 -416
  46. package/src/components/summit-my-orders-tickets/context/TicketAssignedContext.js +0 -24
  47. package/src/components/summit-my-orders-tickets/global/constants.js +0 -10
  48. package/src/components/summit-my-orders-tickets/i18n/index.js +0 -37
  49. package/src/components/summit-my-orders-tickets/i18n/locales/en.json +0 -296
  50. package/src/components/summit-my-orders-tickets/i18n/locales/es.json +0 -296
  51. package/src/components/summit-my-orders-tickets/index.js +0 -1
  52. package/src/components/summit-my-orders-tickets/store/actions/base-actions.js +0 -7
  53. package/src/components/summit-my-orders-tickets/store/actions/order-actions.js +0 -96
  54. package/src/components/summit-my-orders-tickets/store/actions/summit-actions.js +0 -64
  55. package/src/components/summit-my-orders-tickets/store/actions/ticket-actions.js +0 -666
  56. package/src/components/summit-my-orders-tickets/store/actions/timer-actions.js +0 -29
  57. package/src/components/summit-my-orders-tickets/store/actions/user-actions.js +0 -42
  58. package/src/components/summit-my-orders-tickets/store/history.js +0 -16
  59. package/src/components/summit-my-orders-tickets/store/index.js +0 -117
  60. package/src/components/summit-my-orders-tickets/store/reducers/base-reducer.js +0 -67
  61. package/src/components/summit-my-orders-tickets/store/reducers/clock-reducer.js +0 -31
  62. package/src/components/summit-my-orders-tickets/store/reducers/order-reducer.js +0 -95
  63. package/src/components/summit-my-orders-tickets/store/reducers/summit-reducer.js +0 -52
  64. package/src/components/summit-my-orders-tickets/store/reducers/ticket-reducer.js +0 -92
  65. package/src/components/summit-my-orders-tickets/store/reducers/user-reducer.js +0 -35
  66. package/src/components/summit-my-orders-tickets/styles/_variables.scss +0 -17
  67. package/src/components/summit-my-orders-tickets/styles/general.scss +0 -17
  68. package/src/components/summit-my-orders-tickets/summit-my-orders-tickets.js +0 -86
  69. package/src/components/summit-my-orders-tickets/util/helpers/capitalizeFirstLetter.js +0 -1
  70. package/src/components/summit-my-orders-tickets/util/helpers/createReducer.js +0 -11
  71. package/src/components/summit-my-orders-tickets/util/helpers/formatCurrency.js +0 -15
  72. package/src/components/summit-my-orders-tickets/util/helpers/getDayNumberFromDate.js +0 -9
  73. package/src/components/summit-my-orders-tickets/util/helpers/getDaysBetweenDates.js +0 -16
  74. package/src/components/summit-my-orders-tickets/util/helpers/getDocumentOffset.js +0 -8
  75. package/src/components/summit-my-orders-tickets/util/helpers/getFormattedDate.js +0 -7
  76. package/src/components/summit-my-orders-tickets/util/helpers/getFormattedTime.js +0 -9
  77. package/src/components/summit-my-orders-tickets/util/helpers/getWindowScroll.js +0 -6
  78. package/src/components/summit-my-orders-tickets/util/helpers/index.js +0 -22
  79. package/src/components/summit-my-orders-tickets/util/index.js +0 -5
  80. package/src/components/summit-my-orders-tickets/util/order/calculateOrderTotals.js +0 -28
  81. package/src/components/summit-my-orders-tickets/util/order/getOrderStatusData.js +0 -71
  82. package/src/components/summit-my-orders-tickets/util/order/index.js +0 -2
  83. package/src/components/summit-my-orders-tickets/util/summit/checkSummitPast.js +0 -10
  84. package/src/components/summit-my-orders-tickets/util/summit/checkSummitStarted.js +0 -5
  85. package/src/components/summit-my-orders-tickets/util/summit/getSummitFormattedDate.js +0 -29
  86. package/src/components/summit-my-orders-tickets/util/summit/getSummitFormattedReassignDate.js +0 -8
  87. package/src/components/summit-my-orders-tickets/util/summit/getSummitLocation.js +0 -9
  88. package/src/components/summit-my-orders-tickets/util/summit/getSummitReassignDate.js +0 -7
  89. package/src/components/summit-my-orders-tickets/util/summit/index.js +0 -7
  90. package/src/components/summit-my-orders-tickets/util/summit/useSummitDetails.js +0 -36
  91. package/src/components/summit-my-orders-tickets/util/ticket/getTicketRole.js +0 -11
  92. package/src/components/summit-my-orders-tickets/util/ticket/getTicketStatusData.js +0 -48
  93. package/src/components/summit-my-orders-tickets/util/ticket/getTicketType.js +0 -1
  94. package/src/components/summit-my-orders-tickets/util/ticket/index.js +0 -4
  95. package/src/components/summit-my-orders-tickets/util/ticket/useTicketDetails.js +0 -60
  96. package/src/components/summit-my-orders-tickets/util/timer/index.js +0 -1
  97. package/src/components/summit-my-orders-tickets/util/timer/useNow.js +0 -8
@@ -1,11 +0,0 @@
1
- export const createReducer = ({ actionHandlers, middleware }) => (state, action) => {
2
- const actionHandler = actionHandlers[action.type];
3
-
4
- if (!actionHandler) throw new Error(`Unhandled action type: ${action.type}`);
5
-
6
- if (middleware) middleware(state, action);
7
-
8
- const newState = actionHandler(state, action.payload);
9
-
10
- return newState;
11
- };
@@ -1,15 +0,0 @@
1
- export const formatCurrency = (value, { locale = 'en-US', ...options }) => {
2
- const defaultOptions = {
3
- currency: 'USD',
4
- minimumFractionDigits: 2,
5
- maximumFractionDigits: 2
6
- };
7
-
8
- const formatter = new Intl.NumberFormat(locale, {
9
- style: 'currency',
10
- ...defaultOptions,
11
- ...options
12
- });
13
-
14
- return formatter.format(value);
15
- };
@@ -1,9 +0,0 @@
1
- export const getDayNumberFromDate = (days, date) => {
2
- let dayNumber
3
-
4
- days.find((d, index) => {
5
- if (d == date) dayNumber = index + 1;
6
- });
7
-
8
- return dayNumber;
9
- };
@@ -1,16 +0,0 @@
1
- import moment from "moment-timezone";
2
-
3
- export const getDaysBetweenDates = (startDate, endDate, timeZone) => {
4
- let startDay = moment(startDate * 1000).tz(timeZone)
5
- let endDay = moment(endDate * 1000).tz(timeZone)
6
-
7
- // Add day one
8
- let dates = [startDay.clone().unix()]
9
-
10
- // Add all additional days
11
- while (startDay.add(1, 'days').diff(endDay) < 0) {
12
- dates.push(startDay.clone().unix())
13
- }
14
-
15
- return dates
16
- };
@@ -1,8 +0,0 @@
1
- import { getWindowScroll } from "./getWindowScroll";
2
-
3
- export const getDocumentOffset = (element) => {
4
- const rect = element.getBoundingClientRect();
5
- const scroll = getWindowScroll();
6
-
7
- return { top: rect.top + scroll.top, left: rect.left + scroll.left }
8
- };
@@ -1,7 +0,0 @@
1
- import moment from "moment-timezone";
2
-
3
- export const getFormattedDate = (datetime, timeZone) => {
4
- if (timeZone) return moment.tz(datetime * 1000, timeZone).format('MMMM DD, YYYY')
5
-
6
- return moment.unix(datetime).format('MMMM DD, YYYY')
7
- }
@@ -1,9 +0,0 @@
1
- import moment from "moment-timezone";
2
-
3
- export const getFormattedTime = (datetime, timeZone = false) => {
4
- if (timeZone) {
5
- return moment.tz(datetime * 1000, timeZone).format('HH:mm')
6
- }
7
-
8
- return moment.unix(datetime).format('HH:mm')
9
- }
@@ -1,6 +0,0 @@
1
- export const getWindowScroll = () => {
2
- const top = window.pageYOffset || document.documentElement.scrollTop;
3
- const left = window.pageXOffset || document.documentElement.scrollLeft;
4
-
5
- return { top, left };
6
- }
@@ -1,22 +0,0 @@
1
- export * from './capitalizeFirstLetter';
2
- export * from './createReducer';
3
- export * from './getDayNumberFromDate';
4
- export * from './getDaysBetweenDates';
5
- export * from './getDocumentOffset';
6
- export * from './getFormattedDate';
7
- export * from './getFormattedTime';
8
- export * from './getWindowScroll';
9
- export * from './formatCurrency';
10
-
11
-
12
- export const processActionError = (err) => {
13
- if(err?.status == 412) {
14
- let msg = '';
15
- for (const [key, value] of Object.entries(err.response.body.errors)) {
16
- msg += isNaN(key) ? `${key}: ` : "";
17
- msg += `${value}`;
18
- }
19
- throw msg;
20
- }
21
- throw err;
22
- }
@@ -1,5 +0,0 @@
1
- export * from './helpers';
2
- export * from './order';
3
- export * from './summit';
4
- export * from './ticket';
5
- export * from './timer';
@@ -1,28 +0,0 @@
1
- import { formatCurrency } from "../helpers";
2
-
3
- export const calculateOrderTotals = ({ order, summit, tickets }) => {
4
- if (!order || !summit || !tickets) return {};
5
-
6
- const { refunded_amount, discount_amount, taxes_amount, amount } = order;
7
- const { ticket_types } = summit;
8
-
9
- const ticketSummary = [];
10
- let purchaseTicketTotal = 0;
11
-
12
- const currencyObject = { currency: order.currency };
13
-
14
- Object.keys(order.tickets_excerpt_by_ticket_type).map((ticket) => {
15
- let ticketType = ticket_types.find(tt => tt.name === ticket);
16
- ticketSummary.push({ ticket_type_id: ticketType.id, ticket_type: ticketType, name: ticket, qty: order.tickets_excerpt_by_ticket_type[ticket] })
17
- purchaseTicketTotal = purchaseTicketTotal + (ticketType.cost * order.tickets_excerpt_by_ticket_type[ticket]);
18
- })
19
-
20
- const purchaseTotal = formatCurrency(purchaseTicketTotal, currencyObject);
21
-
22
- const discountTotal = formatCurrency(discount_amount, currencyObject);
23
- const refundTotal = formatCurrency(refunded_amount, currencyObject);
24
- const taxesTotal = formatCurrency(taxes_amount, currencyObject);
25
- const amountTotal = order.hasOwnProperty("amount") ? formatCurrency(amount, currencyObject) : formatCurrency(purchaseTotal, currencyObject);
26
-
27
- return { discountTotal, refundTotal, taxesTotal, amountTotal, ticketSummary };
28
- };
@@ -1,71 +0,0 @@
1
- import i18n from '../../i18n';
2
-
3
- import {
4
- STATUS_CANCELLED,
5
- STATUS_COMPLETE,
6
- STATUS_ERROR,
7
- STATUS_INCOMPLETE,
8
- STATUS_PENDING,
9
- STATUS_PROCESSING
10
- } from "../../global/constants";
11
-
12
- export const statusData = {
13
- [STATUS_COMPLETE]: {
14
- type: STATUS_COMPLETE,
15
- text: i18n.t('order_status.complete'),
16
- icon: 'fa-check-circle',
17
- className: 'complete',
18
- },
19
- [STATUS_INCOMPLETE]: {
20
- type: STATUS_INCOMPLETE,
21
- text: i18n.t('order_status.incomplete'),
22
- icon: 'fa-exclamation-circle',
23
- className: 'warning'
24
- },
25
- [STATUS_PENDING]: {
26
- type: STATUS_PENDING,
27
- text: i18n.t('order_status.pending'),
28
- icon: 'fa-fw',
29
- className: 'pending',
30
- },
31
- [STATUS_CANCELLED]: {
32
- type: STATUS_CANCELLED,
33
- text: i18n.t('order_status.cancelled'),
34
- icon: 'fa-fw',
35
- className: 'cancelled',
36
- },
37
- [STATUS_ERROR]: {
38
- type: STATUS_ERROR,
39
- text: i18n.t('order_status.error'),
40
- icon: 'fa-fw',
41
- className: 'cancelled',
42
- },
43
- [STATUS_PROCESSING]: {
44
- type: STATUS_PROCESSING,
45
- text: i18n.t('order_status.processing'),
46
- icon: 'fa-fw',
47
- className: 'pending',
48
- }
49
- };
50
-
51
- export const statusToKeyMap = {
52
- 'Paid': STATUS_COMPLETE,
53
- 'Reserved': STATUS_PENDING,
54
- 'Cancelled': STATUS_CANCELLED,
55
- 'Error': STATUS_ERROR,
56
- 'Confirmed': STATUS_PROCESSING,
57
- };
58
-
59
- export const getOrderStatusKey = (order, isSummitPast) => {
60
-
61
- let status = order.status;
62
-
63
- if (status !== 'Paid') return statusToKeyMap[status];
64
-
65
- if (order.attendees_status === "Incomplete") return STATUS_INCOMPLETE
66
-
67
- return STATUS_COMPLETE;
68
-
69
- };
70
-
71
- export const getOrderStatusData = (order, isSummitPast) => statusData[getOrderStatusKey(order, isSummitPast)];
@@ -1,2 +0,0 @@
1
- export * from './calculateOrderTotals';
2
- export * from './getOrderStatusData';
@@ -1,10 +0,0 @@
1
- export const checkSummitPast = (summit, now) => {
2
- if (!summit) return null;
3
-
4
- const reassign_date =
5
- summit?.reassign_ticket_till_date && summit.reassign_ticket_till_date < summit.end_date
6
- ? summit.reassign_ticket_till_date
7
- : summit.end_date;
8
-
9
- return now > reassign_date ? true : false;
10
- }
@@ -1,5 +0,0 @@
1
- export const checkSummitStarted = (summit, now) => {
2
- if (!summit) return null;
3
-
4
- return summit.start_date < now;
5
- }
@@ -1,29 +0,0 @@
1
- import { getDaysBetweenDates, getFormattedDate } from "../helpers";
2
-
3
- export const getSummitFormattedDate = (summit) => {
4
- if (!summit) return null;
5
-
6
- let dateRange = getDaysBetweenDates(summit.start_date, summit.end_date, summit.time_zone_id);
7
-
8
- if (dateRange.length > 1) {
9
- let startDate = getFormattedDate(dateRange[0], summit.time_zone_id);
10
- let endDate = getFormattedDate(dateRange[dateRange.length - 1], summit.time_zone_id);
11
-
12
- const startMonth = startDate.split(' ')[0];
13
- const endMonth = endDate.split(' ')[0];
14
-
15
- if (startMonth === endMonth) endDate = endDate.substr(endDate.indexOf(" ") + 1);
16
-
17
- const startYear = startDate.substring(startDate.length, startDate.length - 4);
18
- const endYear = endDate.substring(endDate.length, endDate.length - 4);
19
-
20
- if (startYear === endYear) startDate = startDate.substring(0, startDate.length - 6);
21
-
22
- endDate = endDate.substring(0, endDate.length - 6) + ', ' + endDate.substring(endDate.length - 4);
23
-
24
- return `${startDate} - ${endDate}`;
25
- }
26
-
27
- return getFormattedDate(summit.start_date, summit.time_zone_id);
28
-
29
- };
@@ -1,8 +0,0 @@
1
- import { getFormattedDate } from "../helpers/getFormattedDate";
2
- import { getSummitReassignDate } from "./getSummitReassignDate";
3
-
4
- export const getSummitFormattedReassignDate = (summit) => {
5
- const reassignDate = getSummitReassignDate(summit);
6
-
7
- return getFormattedDate(reassignDate, summit.time_zone_id);
8
- };
@@ -1,9 +0,0 @@
1
- export const getSummitLocation = (summit) => {
2
- if (!summit) return null;
3
-
4
- let location = summit.locations.find(l => l.class_name === 'SummitVenue' && l.is_main === true);
5
-
6
- if (!location) return null;
7
-
8
- return `${location.city}, ${location.country}`;
9
- };
@@ -1,7 +0,0 @@
1
- export const getSummitReassignDate = (summit) => {
2
- if (!summit) return null;
3
-
4
- return summit.reassign_ticket_till_date && summit.reassign_ticket_till_date < summit.end_date
5
- ? summit.reassign_ticket_till_date
6
- : summit.end_date;
7
- }
@@ -1,7 +0,0 @@
1
- export * from './checkSummitPast';
2
- export * from './checkSummitStarted';
3
- export * from './getSummitFormattedDate';
4
- export * from './getSummitFormattedReassignDate';
5
- export * from './getSummitLocation';
6
- export * from './getSummitReassignDate';
7
- export * from './useSummitDetails';
@@ -1,36 +0,0 @@
1
- import { getDaysBetweenDates, getFormattedDate } from "../helpers";
2
- import { useNow } from "../timer";
3
- import { checkSummitPast } from "./checkSummitPast";
4
- import { checkSummitStarted } from "./checkSummitStarted";
5
- import { getSummitFormattedDate } from "./getSummitFormattedDate";
6
- import { getSummitLocation } from "./getSummitLocation";
7
- import { getSummitReassignDate } from "./getSummitReassignDate";
8
-
9
- export const useSummitDetails = ({ summit }) => {
10
- const now = useNow();
11
-
12
- if (!summit) return {};
13
-
14
- const location = getSummitLocation(summit);
15
- const formattedDate = getSummitFormattedDate(summit);
16
- const reassignDate = getSummitReassignDate(summit);
17
- const formattedReassignDate = getFormattedDate(reassignDate, summit.time_zone.name);
18
- const daysUntilReassignDeadline = getDaysBetweenDates(now, reassignDate, summit.time_zone.name)?.length;
19
-
20
- const isPast = checkSummitPast(summit, now);
21
- const isStarted = checkSummitStarted(summit, now);
22
- const isReassignable = reassignDate > now;
23
-
24
- return {
25
- name: summit?.name,
26
- now,
27
- location,
28
- formattedDate,
29
- reassignDate,
30
- formattedReassignDate,
31
- daysUntilReassignDeadline,
32
- isPast,
33
- isStarted,
34
- isReassignable
35
- };
36
- };
@@ -1,11 +0,0 @@
1
- export const getTicketRole = (ticket) => {
2
-
3
- if (!ticket.badge) return null;
4
-
5
- const { features } = ticket.badge;
6
-
7
- if (features.length > 0)
8
- return features.map(feature => feature.name).join(', ');
9
-
10
- return null;
11
- };
@@ -1,48 +0,0 @@
1
- import i18n from '../../i18n';
2
- import {
3
- STATUS_CANCELLED,
4
- STATUS_COMPLETE,
5
- STATUS_INCOMPLETE,
6
- STATUS_UNASSIGNED,
7
- } from "../../global/constants";
8
-
9
- export const statusData = {
10
- [STATUS_UNASSIGNED]: {
11
- type: STATUS_UNASSIGNED,
12
- text: i18n.t('ticket_status.unassigned'),
13
- icon: 'fa-exclamation-circle',
14
- className: 'unset',
15
- },
16
- [STATUS_INCOMPLETE]: {
17
- type: STATUS_INCOMPLETE,
18
- text: i18n.t('ticket_status.incomplete'),
19
- icon: 'fa-exclamation-circle',
20
- className: 'warning',
21
- },
22
- [STATUS_COMPLETE]: {
23
- type: STATUS_COMPLETE,
24
- text: i18n.t('ticket_status.complete'),
25
- icon: 'fa-check-circle',
26
- className: 'complete'
27
- },
28
- [STATUS_CANCELLED]: {
29
- type: STATUS_CANCELLED,
30
- text: i18n.t('ticket_status.cancelled'),
31
- className: 'cancel',
32
- }
33
- };
34
- export const getTicketStatusKey = (ticket, isSummitPast) => {
35
- if (!ticket.is_active) return STATUS_CANCELLED;
36
-
37
- if (ticket.owner_id === 0) return STATUS_UNASSIGNED;
38
-
39
- if (!ticket.owner.first_name || !ticket.owner.last_name) return STATUS_INCOMPLETE;
40
-
41
- if (ticket.owner && ticket.owner.status === 'Incomplete') return STATUS_INCOMPLETE;
42
-
43
- if (ticket.owner && ticket.owner.status === 'Complete') return STATUS_COMPLETE;
44
-
45
- return STATUS_INCOMPLETE;
46
- };
47
-
48
- export const getTicketStatusData = (ticket, isSummitPast) => statusData[getTicketStatusKey(ticket, isSummitPast)];
@@ -1 +0,0 @@
1
- export const getTicketType = (ticket, summit) => summit.ticket_types.find(type => type.id == ticket.ticket_type_id);
@@ -1,4 +0,0 @@
1
- export * from './getTicketRole';
2
- export * from './getTicketStatusData';
3
- export * from './getTicketType';
4
- export * from './useTicketDetails';
@@ -1,60 +0,0 @@
1
- import { useState } from "react";
2
- import { STATUS_CANCELLED, STATUS_UNASSIGNED } from "../../global/constants";
3
- import { useSummitDetails } from "../summit/useSummitDetails";
4
- import { getTicketRole } from "./getTicketRole";
5
- import { getTicketStatusData } from "./getTicketStatusData";
6
-
7
- export const useTicketDetails = ({ ticket, summit }) => {
8
- const {
9
- isPast,
10
- isStarted,
11
- isReassignable,
12
- formattedDate,
13
- formattedReassignDate,
14
- daysUntilReassignDeadline
15
- } = useSummitDetails({ summit });
16
- const [showPopup, setShowPopup] = useState(false);
17
-
18
- if (!summit || !ticket) return null;
19
-
20
- const status = getTicketStatusData(ticket, isPast);
21
- const role = getTicketRole(ticket);
22
- const type = summit.ticket_types.find(type => type.id == ticket.ticket_type.id);
23
-
24
- const isActive = ticket.is_active && status.type !== STATUS_CANCELLED;
25
- const isUnassigned = status.type === STATUS_UNASSIGNED;
26
- const isRefundable = ticket.final_amount > 0 && ticket.final_amount > ticket.refunded_amount;
27
-
28
- const allowsDelegate = (ticket.ticket_type.allows_to_delegate || ticket.promo_code?.allows_to_delegate) && !isUnassigned && !ticket.owner?.manager?.id && !ticket.owner?.manager_id;
29
-
30
- const togglePopup = () => setShowPopup(!showPopup);
31
-
32
- const handleClick = () => {
33
- if (!isActive) return;
34
-
35
- togglePopup();
36
- };
37
-
38
- const handlePopupClose = () => togglePopup();
39
-
40
- return {
41
- status,
42
- role,
43
- type,
44
- isSummitPast: isPast,
45
- isSummitStarted: isStarted,
46
- isActive,
47
- isUnassigned,
48
- isReassignable,
49
- isRefundable,
50
- allowsDelegate,
51
- formattedDate,
52
- formattedReassignDate,
53
- daysUntilReassignDeadline,
54
- showPopup,
55
- setShowPopup,
56
- togglePopup,
57
- handleClick,
58
- handlePopupClose
59
- }
60
- };
@@ -1 +0,0 @@
1
- export * from './useNow';
@@ -1,8 +0,0 @@
1
- import { useDispatch } from "react-redux";
2
- import { getNow } from "../../store/actions/timer-actions";
3
-
4
- export const useNow = () => {
5
- const dispatch = useDispatch();
6
-
7
- return dispatch(getNow());
8
- }