@licklist/design 0.69.3-dev.7 → 0.69.4
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.
- package/dist/affiliate/form/AffiliateForm.d.ts.map +1 -1
- package/dist/auth/Login/LoginComponent.js +1 -2
- package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.d.ts +1 -2
- package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.d.ts.map +1 -1
- package/dist/events/edit-event-modal/component/EditEventForm/EditEventForm.js +2 -3
- package/dist/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.d.ts +1 -2
- package/dist/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.d.ts.map +1 -1
- package/dist/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.js +28 -31
- package/dist/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.d.ts +1 -2
- package/dist/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.d.ts.map +1 -1
- package/dist/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.js +2 -14
- package/dist/events/edit-event-modal/utils/getDefaultProductSet.d.ts.map +1 -1
- package/dist/events/edit-event-modal/utils/getDefaultProductSet.js +1 -0
- package/dist/events/event-card/utils.d.ts +0 -1
- package/dist/events/event-card/utils.d.ts.map +1 -1
- package/dist/events/event-card/utils.js +2 -6
- package/dist/iframe/activity-card/ActivityCard.d.ts +1 -3
- package/dist/iframe/activity-card/ActivityCard.d.ts.map +1 -1
- package/dist/iframe/activity-card/ActivityCard.js +1 -8
- package/dist/iframe/order-process/components/CategoryProduct/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/iframe/order-process/components/CategoryProduct/components/NumberInput/NumberInput.js +0 -13
- package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.d.ts.map +1 -1
- package/dist/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.js +0 -2
- package/dist/iframe/payment/order-items-table/utils/paymentSummary.d.ts.map +1 -1
- package/dist/iframe/ryft/RyftPaymentForm.d.ts +2 -2
- package/dist/iframe/ryft/RyftPaymentForm.d.ts.map +1 -1
- package/dist/iframe/ryft/RyftPaymentForm.js +2 -8
- package/dist/iframe/ryft/utils/ryft-form.d.ts +1 -2
- package/dist/iframe/ryft/utils/ryft-form.d.ts.map +1 -1
- package/dist/iframe/ryft/utils/ryft-form.js +1 -20
- package/dist/index.js +0 -1
- package/dist/layout/DropDown.d.ts +1 -2
- package/dist/layout/DropDown.d.ts.map +1 -1
- package/dist/modals/confirmation/ConfirmModal.d.ts +1 -3
- package/dist/modals/confirmation/ConfirmModal.d.ts.map +1 -1
- package/dist/modals/confirmation/ConfirmModal.js +8 -172
- package/dist/notification/email-template/control/EmailTemplateControl.d.ts.map +1 -1
- package/dist/notification/email-template/control/EmailTemplateControl.js +0 -3
- package/dist/product-set/card/ProductSetCard.d.ts +2 -6
- package/dist/product-set/card/ProductSetCard.d.ts.map +1 -1
- package/dist/product-set/card/ProductSetCard.js +11 -20
- package/dist/product-set/control/DateAndRecurrenceInput.d.ts.map +1 -1
- package/dist/product-set/control/DateAndRecurrenceInput.js +3 -4
- package/dist/product-set/control/DateInput.d.ts.map +1 -1
- package/dist/product-set/control/DateInput.js +2 -2
- package/dist/product-set/form/ProductCategoriesControl.d.ts.map +1 -1
- package/dist/product-set/form/ProductCategoriesControl.js +2 -48
- package/dist/product-set/form/ProductSetForm.d.ts +1 -4
- package/dist/product-set/form/ProductSetForm.d.ts.map +1 -1
- package/dist/product-set/form/ProductSetForm.js +1 -64
- package/dist/product-set/form/ProductZonesControl.d.ts.map +1 -1
- package/dist/product-set/form/ProductZonesControl.js +2 -0
- package/dist/product-set/form/ProductsControl.js +0 -1
- package/dist/product-set/form/SelectCategoryModal.d.ts +0 -12
- package/dist/product-set/form/SelectCategoryModal.d.ts.map +1 -1
- package/dist/product-set/form/SelectCategoryModal.js +1 -1
- package/dist/product-set/form/SubProductsControl.d.ts.map +1 -1
- package/dist/product-set/form/SubProductsControl.js +3 -0
- package/dist/product-set/form/VenueMapsControl.d.ts.map +1 -1
- package/dist/product-set/form/VenueMapsControl.js +3 -0
- package/dist/product-set/form/index.d.ts +0 -1
- package/dist/product-set/form/index.d.ts.map +1 -1
- package/dist/product-set/product/ProductControl.d.ts.map +1 -1
- package/dist/product-set/product/booking-management/ProductBookingManagementControl.d.ts.map +1 -1
- package/dist/product-set/product/booking-management/ProductBookingManagementControl.js +0 -6
- package/dist/product-set/product/deposit/ProductDepositControl.d.ts.map +1 -1
- package/dist/product-set/product/deposit/ProductDepositControl.js +0 -3
- package/dist/product-set/product/duration/ProductDurationControl.d.ts.map +1 -1
- package/dist/product-set/product/duration/ProductDurationControl.js +0 -6
- package/dist/product-set/product/price/ProductPriceControl.d.ts.map +1 -1
- package/dist/product-set/product/price/ProductPriceControl.js +0 -3
- package/dist/product-set/product/quantity/ProductQuantityConstantControl.d.ts.map +1 -1
- package/dist/product-set/product/quantity/ProductQuantityConstantControl.js +0 -6
- package/dist/product-set/product/quantity/ProductQuantityControl.d.ts.map +1 -1
- package/dist/product-set/product/quantity/ProductQuantityControl.js +0 -6
- package/dist/product-set/product/quantity/ProductQuantityRechargingControl.d.ts.map +1 -1
- package/dist/product-set/product/quantity/ProductQuantityRechargingControl.js +1 -4
- package/dist/product-set/product-category/ProductCategoryControl.d.ts.map +1 -1
- package/dist/product-set/product-category/ProductCategoryControl.js +0 -12
- package/dist/product-set/utils/index.d.ts +0 -7
- package/dist/product-set/utils/index.d.ts.map +1 -1
- package/dist/product-set/utils/index.js +1 -10
- package/dist/recurrence-input/RecurrenceEndInput.d.ts.map +1 -1
- package/dist/recurrence-input/RecurrenceEndInput.js +0 -3
- package/dist/recurring-date-picker-input/RecurrenceEndInput.d.ts.map +1 -1
- package/dist/resource/form/components/CapacityControl.d.ts.map +1 -1
- package/dist/resource/form/components/CapacityControl.js +0 -3
- package/dist/resource/form/components/SortControl.d.ts.map +1 -1
- package/dist/resource/form/components/SortControl.js +0 -3
- package/dist/sales/booking/results/components/ResultCard.d.ts.map +1 -1
- package/dist/sales/booking/results/components/ResultCard.js +2 -0
- package/dist/sales/coupon/control/CouponFormControl.d.ts.map +1 -1
- package/dist/sales/coupon/control/CouponFormControl.js +0 -21
- package/dist/setting/admin/PaymentFeeForm.d.ts.map +1 -1
- package/dist/setting/admin/PaymentFeeForm.js +1 -16
- package/dist/setting/dashboard/DashboardSettingForm.d.ts.map +1 -1
- package/dist/setting/dashboard/DashboardSettingForm.js +1 -4
- package/dist/snippet/snippet-template/preview/Preview.d.ts.map +1 -1
- package/dist/snippet/snippet-template/preview/Preview.js +0 -6
- package/dist/sortable-tree/SortableTreeItem.d.ts +1 -2
- package/dist/sortable-tree/SortableTreeItem.d.ts.map +1 -1
- package/dist/sortable-tree/SortableTreeItem.js +4 -10
- package/dist/static/CurrencyNumberInput.d.ts.map +1 -1
- package/dist/static/CurrencyNumberInput.js +0 -3
- package/dist/static/form-number-input/FormNumberInput.d.ts.map +1 -1
- package/dist/static/form-number-input/FormNumberInput.js +0 -3
- package/dist/static/number-input/NumberInput.d.ts.map +1 -1
- package/dist/static/number-input/NumberInput.js +0 -3
- package/dist/styles/availability-indicator/AvailabilityIndicator.scss +0 -9
- package/dist/styles/iframe-external-modal/IframeExternalModal.scss +2 -2
- package/dist/styles/product-set/ProductSetForm.scss +0 -22
- package/dist/styles/ryft-payment-form/RyftPaymentForm.scss +0 -25
- package/dist/styles/sales/BookingResults.scss +1 -1
- package/dist/typeahead/Typeahead.d.ts +1 -5
- package/dist/typeahead/Typeahead.d.ts.map +1 -1
- package/dist/typeahead/Typeahead.js +2 -9
- package/dist/zone/form/components/GameDurationControl.d.ts.map +1 -1
- package/dist/zone/form/components/GameDurationControl.js +0 -3
- package/dist/zone/form/components/SortControl.d.ts.map +1 -1
- package/dist/zone/form/components/SortControl.js +0 -3
- package/package.json +6 -8
- package/src/affiliate/form/AffiliateForm.tsx +0 -1
- package/src/auth/Login/LoginComponent.tsx +1 -1
- package/src/events/edit-event-modal/component/EditEventForm/EditEventForm.tsx +0 -3
- package/src/events/edit-event-modal/component/SelectEventProductSet/SelectEventProductSet.tsx +85 -88
- package/src/events/edit-event-modal/component/SelectEventProductSet/component/EditEventProductSet.tsx +1 -11
- package/src/events/edit-event-modal/utils/getDefaultProductSet.ts +1 -0
- package/src/events/event-card/utils.ts +1 -5
- package/src/iframe/activity-card/ActivityCard.tsx +0 -6
- package/src/iframe/order-process/components/CategoryProduct/components/NumberInput/NumberInput.tsx +0 -9
- package/src/iframe/order-process/components/CategoryProduct/components/ProductQuantityInput/ProductQuantityInput.tsx +0 -1
- package/src/iframe/payment/order-items-table/utils/paymentSummary.tsx +0 -1
- package/src/iframe/ryft/RyftPaymentForm.tsx +4 -9
- package/src/iframe/ryft/utils/ryft-form.ts +2 -28
- package/src/layout/DropDown.tsx +1 -1
- package/src/modals/confirmation/ConfirmModal.tsx +3 -19
- package/src/notification/email-template/control/EmailTemplateControl.tsx +0 -1
- package/src/product-set/card/ProductSetCard.tsx +6 -32
- package/src/product-set/control/DateAndRecurrenceInput.tsx +1 -3
- package/src/product-set/control/DateInput.tsx +1 -2
- package/src/product-set/form/ProductCategoriesControl.tsx +1 -37
- package/src/product-set/form/ProductSetForm.tsx +2 -24
- package/src/product-set/form/ProductZonesControl.tsx +4 -1
- package/src/product-set/form/SelectCategoryModal.tsx +2 -2
- package/src/product-set/form/SubProductsControl.tsx +3 -0
- package/src/product-set/form/VenueMapsControl.tsx +3 -0
- package/src/product-set/form/index.ts +0 -1
- package/src/product-set/product/ProductControl.tsx +1 -0
- package/src/product-set/product/advanced-options/AdvancedOptions.tsx +1 -1
- package/src/product-set/product/booking-management/ProductBookingManagementControl.tsx +0 -2
- package/src/product-set/product/deposit/ProductDepositControl.tsx +0 -1
- package/src/product-set/product/duration/ProductDurationControl.tsx +0 -2
- package/src/product-set/product/price/ProductPriceControl.tsx +0 -1
- package/src/product-set/product/quantity/ProductQuantityConstantControl.tsx +0 -2
- package/src/product-set/product/quantity/ProductQuantityControl.tsx +0 -2
- package/src/product-set/product/quantity/ProductQuantityRechargingControl.tsx +0 -1
- package/src/product-set/product-category/ProductCategoryControl.tsx +0 -4
- package/src/product-set/product-zone/ProductZoneControl.tsx +1 -1
- package/src/product-set/utils/index.ts +0 -11
- package/src/recurrence-input/RecurrenceEndInput.tsx +0 -1
- package/src/recurring-date-picker-input/RecurrenceEndInput.tsx +0 -1
- package/src/resource/form/components/CapacityControl.tsx +0 -1
- package/src/resource/form/components/SortControl.tsx +0 -1
- package/src/sales/booking/results/components/ResultCard.tsx +2 -0
- package/src/sales/coupon/control/CouponFormControl.tsx +0 -7
- package/src/setting/admin/PaymentFeeForm.tsx +0 -5
- package/src/setting/dashboard/DashboardSettingForm.tsx +0 -1
- package/src/snippet/snippet-template/preview/Preview.tsx +0 -6
- package/src/sortable-tree/SortableTreeItem.tsx +0 -6
- package/src/static/CurrencyNumberInput.tsx +0 -1
- package/src/static/form-number-input/FormNumberInput.tsx +0 -1
- package/src/static/number-input/NumberInput.tsx +0 -1
- package/src/styles/availability-indicator/AvailabilityIndicator.scss +0 -9
- package/src/styles/iframe-external-modal/IframeExternalModal.scss +2 -2
- package/src/styles/product-set/ProductSetForm.scss +0 -22
- package/src/styles/ryft-payment-form/RyftPaymentForm.scss +0 -25
- package/src/styles/sales/BookingResults.scss +1 -1
- package/src/typeahead/Typeahead.tsx +1 -15
- package/src/zone/form/components/GameDurationControl.tsx +0 -1
- package/src/zone/form/components/SortControl.tsx +0 -1
- package/yarn.lock +25 -25
- package/dist/product-set/form/ProductSetNameControl.d.ts +0 -6
- package/dist/product-set/form/ProductSetNameControl.d.ts.map +0 -1
- package/dist/product-set/form/ProductSetNameControl.js +0 -35
- package/src/product-set/form/ProductSetNameControl.tsx +0 -27
|
@@ -434,7 +434,6 @@ export const EmailTemplateControl = forwardRef(
|
|
|
434
434
|
`templateOptionValues.${option?.id}.value`,
|
|
435
435
|
)}
|
|
436
436
|
type='number'
|
|
437
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
438
437
|
placeholder={t(`Design:${option.name}`)}
|
|
439
438
|
id={option.name + option.id}
|
|
440
439
|
defaultValue={option.selectedValue || ''}
|
|
@@ -9,20 +9,15 @@ import RouteService from '@licklist/plugins/dist/services/Route/RouteService'
|
|
|
9
9
|
import { FaEllipsisH, FaEye, FaTrashAlt } from 'react-icons/fa'
|
|
10
10
|
import { ConfirmModal } from '../../modals'
|
|
11
11
|
import { MenuButton } from '../../table/MenuButton'
|
|
12
|
-
import { ProductSetNameControl } from '../form/ProductSetNameControl'
|
|
13
12
|
|
|
14
13
|
export interface ProductSetCardProps extends HasPermissionProp {
|
|
15
14
|
name: string
|
|
16
15
|
rrule?: string
|
|
17
16
|
href: string
|
|
18
|
-
|
|
19
|
-
onChangeDuplicateProductSetName: (value: string) => void
|
|
20
|
-
onCopy: () => Promise<boolean | undefined>
|
|
17
|
+
onCopy: () => void
|
|
21
18
|
onRemove: () => void
|
|
22
|
-
isLoading?: boolean
|
|
23
19
|
className?: string
|
|
24
20
|
override?: number
|
|
25
|
-
duplicateProductSetError?: string
|
|
26
21
|
}
|
|
27
22
|
|
|
28
23
|
export function ProductSetCard({
|
|
@@ -31,10 +26,6 @@ export function ProductSetCard({
|
|
|
31
26
|
href,
|
|
32
27
|
onCopy,
|
|
33
28
|
onRemove,
|
|
34
|
-
onChangeDuplicateProductSetName,
|
|
35
|
-
duplicateProductSetName,
|
|
36
|
-
duplicateProductSetError,
|
|
37
|
-
isLoading,
|
|
38
29
|
className = '',
|
|
39
30
|
hasPermission = true,
|
|
40
31
|
override = 0,
|
|
@@ -44,23 +35,19 @@ export function ProductSetCard({
|
|
|
44
35
|
const productSetCardClasses = `product-set-card ${className}`
|
|
45
36
|
const [isOverlayVisibile, setIsOverlayVisible] = useState(false)
|
|
46
37
|
|
|
47
|
-
const onCardClick = () => {
|
|
48
|
-
RouteService.redirectTo(href)
|
|
49
|
-
}
|
|
50
38
|
return (
|
|
51
|
-
// eslint-disable-next-line jsx-a11y/click-events-have-key-events
|
|
52
39
|
<div
|
|
53
40
|
role='button'
|
|
54
41
|
tabIndex={0}
|
|
55
42
|
className='border-0 product-set-card-wrapper w-100 pb-0'
|
|
56
|
-
onClick={
|
|
43
|
+
onClick={() => RouteService.redirectTo(href)}
|
|
44
|
+
onKeyUp={() => RouteService.redirectTo(href)}
|
|
57
45
|
>
|
|
58
46
|
<div className={productSetCardClasses}>
|
|
59
47
|
<div className='product-set-card-link'>
|
|
60
48
|
<div className='d-flex flex-column'>
|
|
61
49
|
<div>
|
|
62
|
-
{name}
|
|
63
|
-
{rrule && `(${RRule.fromString(rrule).toText()})`}
|
|
50
|
+
{name} {rrule && `(${RRule.fromString(rrule).toText()})`}
|
|
64
51
|
</div>
|
|
65
52
|
{!!override && (
|
|
66
53
|
<div className='h6 bold ml-1'>
|
|
@@ -100,25 +87,12 @@ export function ProductSetCard({
|
|
|
100
87
|
onClick={(e) => e.stopPropagation()}
|
|
101
88
|
>
|
|
102
89
|
{Boolean(onCopy) && (
|
|
103
|
-
<ConfirmModal
|
|
104
|
-
// confirm function memoize the callback function and it leads to bugs
|
|
105
|
-
confirmationHandler={onCopy}
|
|
106
|
-
disabledButtons={isLoading}
|
|
107
|
-
content={
|
|
108
|
-
<ProductSetNameControl
|
|
109
|
-
value={duplicateProductSetName}
|
|
110
|
-
onChange={onChangeDuplicateProductSetName}
|
|
111
|
-
error={duplicateProductSetError}
|
|
112
|
-
/>
|
|
113
|
-
}
|
|
114
|
-
>
|
|
90
|
+
<ConfirmModal>
|
|
115
91
|
{(confirm) => (
|
|
116
92
|
<MenuButton
|
|
117
93
|
onClick={() => {
|
|
118
94
|
setIsOverlayVisible(false)
|
|
119
|
-
|
|
120
|
-
// confirm function memoize the callback function and it leads to bugs
|
|
121
|
-
confirm(() => {})
|
|
95
|
+
confirm(onCopy)
|
|
122
96
|
}}
|
|
123
97
|
name={t('duplicate')}
|
|
124
98
|
className='product-set-card-menu-item-text'
|
|
@@ -198,8 +198,6 @@ export const DateAndRecurrenceInput = ({
|
|
|
198
198
|
move(prevIndex, nextIndex)
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
-
const errorMessage = errors.menuRecurrences?.message || errors.menuRecurrences?.root?.message
|
|
202
|
-
|
|
203
201
|
useEffect(() => {
|
|
204
202
|
if (fields.length) {
|
|
205
203
|
clearErrors('menuRecurrences')
|
|
@@ -309,7 +307,7 @@ export const DateAndRecurrenceInput = ({
|
|
|
309
307
|
/>
|
|
310
308
|
|
|
311
309
|
<div className='manual-form-error'>
|
|
312
|
-
{
|
|
310
|
+
{errors.menuRecurrences?.message}
|
|
313
311
|
</div>
|
|
314
312
|
</div>
|
|
315
313
|
</OverlayTrigger>
|
|
@@ -247,8 +247,7 @@ export const DateInput = ({
|
|
|
247
247
|
menuRecurrence={menuRecurrence}
|
|
248
248
|
onEdit={() => handleOnEdit(menuRecurrence, index)}
|
|
249
249
|
errorMessage={
|
|
250
|
-
errors?.menuRecurrences?.[`${index}`]?.availableTimes
|
|
251
|
-
?.message || errors?.menuRecurrences?.[`${index}`]?.message
|
|
250
|
+
errors?.menuRecurrences?.[`${index}`]?.availableTimes?.message
|
|
252
251
|
}
|
|
253
252
|
/>
|
|
254
253
|
))}
|
|
@@ -8,7 +8,6 @@ import {
|
|
|
8
8
|
useFormContext,
|
|
9
9
|
useWatch,
|
|
10
10
|
} from 'react-hook-form'
|
|
11
|
-
import { FaBars, FaBowlingBall, FaCalendar, FaTicketAlt } from 'react-icons/fa'
|
|
12
11
|
import { useTranslation } from 'react-i18next'
|
|
13
12
|
import { useSensor, MouseSensor } from '@dnd-kit/core'
|
|
14
13
|
import {
|
|
@@ -26,11 +25,7 @@ import { ProductCategoryControl } from '../product-category'
|
|
|
26
25
|
import { ProductCategory } from '../types'
|
|
27
26
|
import { ProductsControl } from './ProductsControl'
|
|
28
27
|
import { ProductSetFormValues, WithIsLoading } from './ProductSetForm'
|
|
29
|
-
import {
|
|
30
|
-
SelectCategoryModal,
|
|
31
|
-
CATEGORY_TYPES_NAMES,
|
|
32
|
-
CategoryConfig,
|
|
33
|
-
} from './SelectCategoryModal'
|
|
28
|
+
import { SelectCategoryModal } from './SelectCategoryModal'
|
|
34
29
|
import { ProductSetLoadingContext } from './context'
|
|
35
30
|
import { VenueMapSetModal } from './VenueMapSetModal'
|
|
36
31
|
import { moveArrayElements, sortArrayByIndex } from '../utils'
|
|
@@ -38,29 +33,6 @@ import { useSortableTreeFunctions } from '../hooks/useSortableTreeFunctions'
|
|
|
38
33
|
// @TODO not for first release
|
|
39
34
|
// import Popover from "./ProductSetFormPopover";
|
|
40
35
|
|
|
41
|
-
const CATEGORIES_TYPE: Partial<Record<CategoryType, CategoryConfig>> = {
|
|
42
|
-
[CATEGORY_TYPES_NAMES.tickets]: {
|
|
43
|
-
label: 'tickets',
|
|
44
|
-
icon: <FaTicketAlt color='#0e8ce2' size={10} />,
|
|
45
|
-
},
|
|
46
|
-
[CATEGORY_TYPES_NAMES.bookings]: {
|
|
47
|
-
label: 'bookings',
|
|
48
|
-
icon: <FaCalendar color='#0e8ce2' size={10} />,
|
|
49
|
-
},
|
|
50
|
-
[CATEGORY_TYPES_NAMES.menuItems]: {
|
|
51
|
-
label: 'menuItems',
|
|
52
|
-
icon: <FaBars color='#0e8ce2' size={10} />,
|
|
53
|
-
},
|
|
54
|
-
[CATEGORY_TYPES_NAMES.game]: {
|
|
55
|
-
label: 'game',
|
|
56
|
-
icon: <FaBowlingBall color='#0e8ce2' size={10} />,
|
|
57
|
-
},
|
|
58
|
-
[CATEGORY_TYPES_NAMES.fixedDuration]: {
|
|
59
|
-
label: 'fixedDuration',
|
|
60
|
-
icon: <FaCalendar color='#0e8ce2' size={10} />,
|
|
61
|
-
},
|
|
62
|
-
}
|
|
63
|
-
|
|
64
36
|
interface ProductCategoriesControlProps extends WithIsLoading {
|
|
65
37
|
stepIndex: number
|
|
66
38
|
isOverrides?: boolean
|
|
@@ -256,8 +228,6 @@ export function ProductCategoriesControl({
|
|
|
256
228
|
setIsExpanded(productCategoryId)
|
|
257
229
|
}
|
|
258
230
|
|
|
259
|
-
const categoryType = CATEGORIES_TYPE[productCategory.type]
|
|
260
|
-
|
|
261
231
|
return (
|
|
262
232
|
<Controller
|
|
263
233
|
key={`product-category-${productCategory._id}`}
|
|
@@ -302,12 +272,6 @@ export function ProductCategoriesControl({
|
|
|
302
272
|
)}
|
|
303
273
|
modalClass={ProductSetModalClasses.category}
|
|
304
274
|
isNewAdded={showCategoryModal}
|
|
305
|
-
itemButton={
|
|
306
|
-
<div className='btn-outline-primary item-icon sm border border-primary rounded-sm'>
|
|
307
|
-
{categoryType.icon}
|
|
308
|
-
<span className='ml-2'>{t(categoryType.label)}</span>
|
|
309
|
-
</div>
|
|
310
|
-
}
|
|
311
275
|
body={
|
|
312
276
|
<ProductCategoryControl
|
|
313
277
|
isLoading={isLoading}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useEffect
|
|
1
|
+
import { useEffect } from 'react'
|
|
2
2
|
import { FormValues } from '@licklist/plugins/dist/types/services/Form/hook-form-service'
|
|
3
3
|
import { Button, Form, Col, Row } from 'react-bootstrap'
|
|
4
4
|
import { FormProvider, useForm } from 'react-hook-form'
|
|
@@ -12,7 +12,6 @@ import { isEqual } from 'lodash'
|
|
|
12
12
|
import { ProviderBookingManagementSetting } from '@licklist/core/dist/DataMapper/Provider/ProviderBookingManagementSettingDataMapper'
|
|
13
13
|
import { Zone } from '@licklist/core/dist/DataMapper/Provider/ZoneDataMapper'
|
|
14
14
|
import { WorkHour } from '@licklist/core/dist/DataMapper/Provider/WorkHourDataMapper'
|
|
15
|
-
import { transformErrorToMessage } from '@licklist/plugins/dist/utils/error'
|
|
16
15
|
import { Dialog, useDialogContext } from '../../modals/dialog'
|
|
17
16
|
import {
|
|
18
17
|
ProductSetControl,
|
|
@@ -23,21 +22,16 @@ import { Step } from '../types'
|
|
|
23
22
|
import { ProductSetContextProvider, ProductSetLoadingContext } from './context'
|
|
24
23
|
import { SelectItem } from '../../types/generic/SelectItem'
|
|
25
24
|
import { checkAvailableTimesErrors, getFilteredTemplates } from '../utils'
|
|
26
|
-
import { ErrorModal } from '../../iframe/order-process/components/ErrorModal'
|
|
27
25
|
|
|
28
26
|
export interface WithIsLoading {
|
|
29
27
|
isLoading: boolean
|
|
30
28
|
}
|
|
31
|
-
export interface WithIdOptional {
|
|
32
|
-
id?: number
|
|
33
|
-
}
|
|
34
|
-
|
|
35
29
|
export interface WithId {
|
|
36
30
|
id: number
|
|
37
31
|
}
|
|
38
32
|
export interface ProductSetFormValues
|
|
39
33
|
extends FormValues,
|
|
40
|
-
|
|
34
|
+
WithId,
|
|
41
35
|
ProductSetControlValues {
|
|
42
36
|
steps: Step[]
|
|
43
37
|
isOverrides?: boolean
|
|
@@ -90,7 +84,6 @@ export function ProductSetForm({
|
|
|
90
84
|
onApproveDialog,
|
|
91
85
|
onDeclineDialog,
|
|
92
86
|
} = useDialogContext()
|
|
93
|
-
const [errorMessage, setErrorMessage] = useState('')
|
|
94
87
|
|
|
95
88
|
const form = useForm<ProductSetFormValues>({
|
|
96
89
|
defaultValues,
|
|
@@ -128,15 +121,6 @@ export function ProductSetForm({
|
|
|
128
121
|
if (!serverErrors) {
|
|
129
122
|
return
|
|
130
123
|
}
|
|
131
|
-
if (!Array.isArray(serverErrors)) {
|
|
132
|
-
setErrorMessage(transformErrorToMessage(serverErrors))
|
|
133
|
-
return
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
if (Array.isArray(serverErrors) && serverErrors[0]) {
|
|
137
|
-
setErrorMessage(serverErrors[0])
|
|
138
|
-
}
|
|
139
|
-
|
|
140
124
|
FormErrorService.handleServerErrors(serverErrors, setError)
|
|
141
125
|
}, [serverErrors, setError])
|
|
142
126
|
|
|
@@ -172,12 +156,6 @@ export function ProductSetForm({
|
|
|
172
156
|
onDecline={onDeclineDialog}
|
|
173
157
|
/>
|
|
174
158
|
|
|
175
|
-
<ErrorModal
|
|
176
|
-
message={errorMessage}
|
|
177
|
-
isOpen={!!errorMessage}
|
|
178
|
-
onClose={() => setErrorMessage('')}
|
|
179
|
-
/>
|
|
180
|
-
|
|
181
159
|
<FormProvider {...form}>
|
|
182
160
|
<Form onSubmit={form.handleSubmit(submitHandler(onSubmitAndRedirect))}>
|
|
183
161
|
<ProductSetLoadingContext.Consumer>
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
} from 'react-icons/fa'
|
|
26
26
|
import { ProductSetLoadingContext } from './context'
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
const CATEGORY_TYPES_NAMES = {
|
|
29
29
|
menuItems: CATEGORY_TYPE_MENU_ITEMS,
|
|
30
30
|
tickets: CATEGORY_TYPE_TICKETS,
|
|
31
31
|
bookings: CATEGORY_TYPE_BOOKINGS,
|
|
@@ -33,7 +33,7 @@ export const CATEGORY_TYPES_NAMES = {
|
|
|
33
33
|
fixedDuration: CATEGORY_TYPE_FIXED_DURATION,
|
|
34
34
|
} as const
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
type CategoryConfig = { label: string; icon: ReactElement }
|
|
37
37
|
|
|
38
38
|
const MAIN_CATEGORIES: Partial<Record<CategoryType, CategoryConfig>> = {
|
|
39
39
|
[CATEGORY_TYPES_NAMES.tickets]: {
|
|
@@ -70,6 +70,9 @@ export function SubProductsControl({
|
|
|
70
70
|
images: subProducts[index]?.images as Image[],
|
|
71
71
|
}
|
|
72
72
|
// @ts-expect-error TS2345
|
|
73
|
+
// @TODO fix prod type error
|
|
74
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
75
|
+
// @ts-ignore
|
|
73
76
|
append(subProductCopy)
|
|
74
77
|
}}
|
|
75
78
|
/>
|
|
@@ -46,6 +46,9 @@ export const VenueMapsControl = ({
|
|
|
46
46
|
url={image.url}
|
|
47
47
|
name={name}
|
|
48
48
|
points={points}
|
|
49
|
+
// @TODO fix prod type error
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
51
|
+
// @ts-ignore
|
|
49
52
|
products={products}
|
|
50
53
|
pointProducts={pointProducts}
|
|
51
54
|
onPointProductsChange={onPointProductsChange}
|
|
@@ -86,7 +86,6 @@ export function ProductBookingManagementControl<T extends FormValues>(
|
|
|
86
86
|
<Form.Control
|
|
87
87
|
ref={ref}
|
|
88
88
|
type='number'
|
|
89
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
90
89
|
min={0}
|
|
91
90
|
step={1}
|
|
92
91
|
value={value as string}
|
|
@@ -130,7 +129,6 @@ export function ProductBookingManagementControl<T extends FormValues>(
|
|
|
130
129
|
<Form.Control
|
|
131
130
|
ref={ref}
|
|
132
131
|
type='number'
|
|
133
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
134
132
|
min='0'
|
|
135
133
|
step='1'
|
|
136
134
|
value={value as string}
|
|
@@ -91,7 +91,6 @@ export const ProductDurationControl = <T,>({
|
|
|
91
91
|
<Form.Control
|
|
92
92
|
type='number'
|
|
93
93
|
min={0}
|
|
94
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
95
94
|
step={1}
|
|
96
95
|
value={durationHours}
|
|
97
96
|
disabled={disabled}
|
|
@@ -128,7 +127,6 @@ export const ProductDurationControl = <T,>({
|
|
|
128
127
|
type='number'
|
|
129
128
|
min={0}
|
|
130
129
|
step={1}
|
|
131
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
132
130
|
disabled={disabled}
|
|
133
131
|
value={durationMinutes}
|
|
134
132
|
isInvalid={isInvalid}
|
|
@@ -111,7 +111,6 @@ export function ProductQuantityConstantControl<T extends FormValues>(
|
|
|
111
111
|
type='number'
|
|
112
112
|
min={0}
|
|
113
113
|
step={1}
|
|
114
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
115
114
|
value={value as string}
|
|
116
115
|
isInvalid={HookFormService.isInvalid<T>(
|
|
117
116
|
`${fieldNamePrefix}.totalQuantity` as Path<T>,
|
|
@@ -166,7 +165,6 @@ export function ProductQuantityConstantControl<T extends FormValues>(
|
|
|
166
165
|
type='number'
|
|
167
166
|
min={0}
|
|
168
167
|
step={1}
|
|
169
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
170
168
|
value={value as string}
|
|
171
169
|
onChange={onChange}
|
|
172
170
|
onFocus={onFocus}
|
|
@@ -85,7 +85,6 @@ export function ProductQuantityControl<T extends FormValues>(
|
|
|
85
85
|
type='number'
|
|
86
86
|
min={0}
|
|
87
87
|
step={1}
|
|
88
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
89
88
|
value={value as string}
|
|
90
89
|
onChange={onChange}
|
|
91
90
|
onFocus={onFocus}
|
|
@@ -144,7 +143,6 @@ export function ProductQuantityControl<T extends FormValues>(
|
|
|
144
143
|
type='number'
|
|
145
144
|
min={0}
|
|
146
145
|
step={1}
|
|
147
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
148
146
|
value={value && (value as string)}
|
|
149
147
|
onFocus={onFocus}
|
|
150
148
|
onChange={onChange}
|
|
@@ -69,7 +69,6 @@ export function ProductQuantityRechargingControl<T extends FormValues>(
|
|
|
69
69
|
type='number'
|
|
70
70
|
min={0}
|
|
71
71
|
step={1}
|
|
72
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
73
72
|
{...register(`${fieldNamePrefix}.totalQuantity` as Path<T>, {
|
|
74
73
|
validate: (value) => {
|
|
75
74
|
if (unlimited) return true
|
|
@@ -216,7 +216,6 @@ export function ProductCategoryControl({
|
|
|
216
216
|
step={1}
|
|
217
217
|
value={value === null ? '' : value}
|
|
218
218
|
onChange={onChange}
|
|
219
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
220
219
|
isInvalid={HookFormService.isInvalid<ProductSetFormValues>(
|
|
221
220
|
`${fieldNamePrefix}.minSubItems` as const,
|
|
222
221
|
errors,
|
|
@@ -289,7 +288,6 @@ export function ProductCategoryControl({
|
|
|
289
288
|
name={name}
|
|
290
289
|
value={value === null ? '' : value}
|
|
291
290
|
onChange={onChange}
|
|
292
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
293
291
|
isInvalid={HookFormService.isInvalid<ProductSetFormValues>(
|
|
294
292
|
`${fieldNamePrefix}.maxSubItems` as const,
|
|
295
293
|
errors,
|
|
@@ -350,7 +348,6 @@ export function ProductCategoryControl({
|
|
|
350
348
|
min={0}
|
|
351
349
|
step={1}
|
|
352
350
|
type='number'
|
|
353
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
354
351
|
disabled={isOverride}
|
|
355
352
|
isInvalid={HookFormService.isInvalid<ProductSetFormValues>(
|
|
356
353
|
`${fieldNamePrefix}.overallQuantity`,
|
|
@@ -533,7 +530,6 @@ export function ProductCategoryControl({
|
|
|
533
530
|
step={1}
|
|
534
531
|
value={value}
|
|
535
532
|
onChange={onChange}
|
|
536
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
537
533
|
isInvalid={HookFormService.isInvalid<ProductSetFormValues>(
|
|
538
534
|
`${fieldNamePrefix}.remainderExpireAfter` as const,
|
|
539
535
|
errors,
|
|
@@ -3,7 +3,6 @@ import { SmsTemplate } from '@licklist/core/dist/DataMapper/Notification/SmsTemp
|
|
|
3
3
|
import { TFunction } from 'react-i18next'
|
|
4
4
|
import { UseFormSetError } from 'react-hook-form'
|
|
5
5
|
import { checkIfZoneCategory } from '@licklist/plugins'
|
|
6
|
-
import { ProductSet } from '@licklist/core/dist/DataMapper/Product/ProductSetDataMapper'
|
|
7
6
|
import { TemplateItem } from '../control/ProductSetControl'
|
|
8
7
|
import { ProductSetFormValues } from '../form/ProductSetForm'
|
|
9
8
|
|
|
@@ -13,11 +12,6 @@ interface CheckAvailableTimesErrors {
|
|
|
13
12
|
t: TFunction
|
|
14
13
|
}
|
|
15
14
|
|
|
16
|
-
export interface MenuTypeheadItem {
|
|
17
|
-
id: number
|
|
18
|
-
label: string
|
|
19
|
-
value: number
|
|
20
|
-
}
|
|
21
15
|
export const moveArrayElements = <T>(
|
|
22
16
|
array: T[],
|
|
23
17
|
prevIndex: number,
|
|
@@ -89,8 +83,3 @@ export const checkAvailableTimesErrors = ({
|
|
|
89
83
|
})
|
|
90
84
|
return hasError
|
|
91
85
|
}
|
|
92
|
-
|
|
93
|
-
export const getTypeHeadItemsFromMenus = (
|
|
94
|
-
menus?: (ProductSet | ProductSetFormValues)[],
|
|
95
|
-
): MenuTypeheadItem[] =>
|
|
96
|
-
menus?.map((menu) => ({ id: menu.id, value: menu.id, label: menu.name }))
|
|
@@ -109,7 +109,6 @@ function RecurrenceEndInput({
|
|
|
109
109
|
type='number'
|
|
110
110
|
min={1}
|
|
111
111
|
max={500}
|
|
112
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
113
112
|
disabled={disabled || !count || count === 500}
|
|
114
113
|
aria-label='Occurrence count'
|
|
115
114
|
value={count ?? defaultOccurrences[frequency]}
|
|
@@ -27,7 +27,6 @@ export const CapacityControl = ({ isLoading }: CapacityControlProps) => {
|
|
|
27
27
|
required: true,
|
|
28
28
|
min: 1,
|
|
29
29
|
})}
|
|
30
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
31
30
|
placeholder={t('Design:capacity')}
|
|
32
31
|
isInvalid={Boolean(errors.capacity)}
|
|
33
32
|
disabled={isLoading}
|
|
@@ -179,7 +179,6 @@ export const CouponFormControl = ({
|
|
|
179
179
|
<Form.Label>{t('Design:discount')}</Form.Label>
|
|
180
180
|
<Form.Control
|
|
181
181
|
type='number'
|
|
182
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
183
182
|
isInvalid={errors.discount !== undefined}
|
|
184
183
|
{...register('discount', {
|
|
185
184
|
required: t('Validation:fieldRequired', {
|
|
@@ -317,7 +316,6 @@ export const CouponFormControl = ({
|
|
|
317
316
|
<Form.Control
|
|
318
317
|
{...register('totalCoupons')}
|
|
319
318
|
type='number'
|
|
320
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
321
319
|
isInvalid={errors.totalCoupons !== undefined}
|
|
322
320
|
disabled={isLoading}
|
|
323
321
|
/>
|
|
@@ -332,7 +330,6 @@ export const CouponFormControl = ({
|
|
|
332
330
|
<Form.Control
|
|
333
331
|
type='number'
|
|
334
332
|
{...register('usesPerUser')}
|
|
335
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
336
333
|
disabled={isLoading}
|
|
337
334
|
/>
|
|
338
335
|
</Form.Group>
|
|
@@ -345,7 +342,6 @@ export const CouponFormControl = ({
|
|
|
345
342
|
<Form.Control
|
|
346
343
|
type='number'
|
|
347
344
|
{...register('useAgain')}
|
|
348
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
349
345
|
disabled={isLoading}
|
|
350
346
|
/>
|
|
351
347
|
<Form.Text className='text-muted'>
|
|
@@ -359,7 +355,6 @@ export const CouponFormControl = ({
|
|
|
359
355
|
<Form.Control
|
|
360
356
|
type='number'
|
|
361
357
|
{...register('usesPerUserDay')}
|
|
362
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
363
358
|
disabled={isLoading}
|
|
364
359
|
/>
|
|
365
360
|
<Form.Text className='text-muted'>
|
|
@@ -375,7 +370,6 @@ export const CouponFormControl = ({
|
|
|
375
370
|
<Form.Control
|
|
376
371
|
type='number'
|
|
377
372
|
{...register('minAmount')}
|
|
378
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
379
373
|
disabled={isLoading}
|
|
380
374
|
/>
|
|
381
375
|
<Form.Text className='text-muted'>
|
|
@@ -389,7 +383,6 @@ export const CouponFormControl = ({
|
|
|
389
383
|
<Form.Control
|
|
390
384
|
type='number'
|
|
391
385
|
{...register('maxAmount')}
|
|
392
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
393
386
|
disabled={isLoading}
|
|
394
387
|
/>
|
|
395
388
|
<Form.Text className='text-muted'>
|
|
@@ -74,7 +74,6 @@ export function PaymentFeeForm({ isLoading = false }: PaymentFeeFormProps) {
|
|
|
74
74
|
max={100}
|
|
75
75
|
step='1'
|
|
76
76
|
placeholder='0'
|
|
77
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
78
77
|
{...register('feeInPercent', {
|
|
79
78
|
validate: {
|
|
80
79
|
moreThan: (v) => (v ? v >= 0 : true),
|
|
@@ -130,7 +129,6 @@ export function PaymentFeeForm({ isLoading = false }: PaymentFeeFormProps) {
|
|
|
130
129
|
max={999999.99}
|
|
131
130
|
step='0.01'
|
|
132
131
|
placeholder='0,00'
|
|
133
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
134
132
|
isInvalid={Boolean(errors.minFeeInPounds)}
|
|
135
133
|
disabled={isLoading}
|
|
136
134
|
/>
|
|
@@ -176,7 +174,6 @@ export function PaymentFeeForm({ isLoading = false }: PaymentFeeFormProps) {
|
|
|
176
174
|
max={999999.99}
|
|
177
175
|
step='0.01'
|
|
178
176
|
placeholder='0,00'
|
|
179
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
180
177
|
isInvalid={Boolean(errors.maxFeeInPounds)}
|
|
181
178
|
disabled={isLoading}
|
|
182
179
|
/>
|
|
@@ -234,7 +231,6 @@ export function PaymentFeeForm({ isLoading = false }: PaymentFeeFormProps) {
|
|
|
234
231
|
max={100}
|
|
235
232
|
step='1'
|
|
236
233
|
placeholder='0'
|
|
237
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
238
234
|
isInvalid={Boolean(errors.vatInPercent)}
|
|
239
235
|
disabled={isLoading}
|
|
240
236
|
/>
|
|
@@ -280,7 +276,6 @@ export function PaymentFeeForm({ isLoading = false }: PaymentFeeFormProps) {
|
|
|
280
276
|
max={999999.99}
|
|
281
277
|
step='0.01'
|
|
282
278
|
placeholder='0,00'
|
|
283
|
-
onWheel={(event) => event.currentTarget.blur()}
|
|
284
279
|
isInvalid={Boolean(errors.fixedFee)}
|
|
285
280
|
disabled={isLoading}
|
|
286
281
|
/>
|