import {Action} from "../SelectActionPopupWindow"; import {__} from "../../globals"; import {closeSelectActionsPopupWindow} from "../hooks"; import {OfferData, TestableData, TestablePartial, useNodesStore} from "../store"; import {atomsStore, SelectActionPopupWindowStateAtom} from "../atoms"; import {QuantityMeta} from "../cards/Quantity"; import {equals, TierType} from "../tiers"; import {AmountValidatorOptions} from "../cards/filterinterfaces"; import {generateIdForType} from "../NodeHelpers"; export const SelectTier: Action = { id: 'select-tier', data: { name: 'Add Tiers', }, screens: [ { id: 2, title: __('Select the tier conditionals'), content: () => { return
here we'll let the user choose from qunaoty, casrt subtotal, etc OR user role, ertc
}, }, { id: 3, title: () => { return __('Tier A: Select Quantity'); }, content: () => { return
// HERE THE USER WILL CONFIGURE THE BASE TESTABES, EG: MIN, MAX, IN RANGE AND THE ACTUAL VALUE FOR THE FIRST TIER
}, primaryBottom: () => { return { label: __('Next: Select Offer'), onClick() { const addTreeNode = useNodesStore.getState().addTreeNode; // @ts-ignore const {context: {targetBranchId}} = atomsStore.get(SelectActionPopupWindowStateAtom) const baseTestableId = generateIdForType('testable'); addTreeNode( { parentBranchTestableId: baseTestableId, testable: { id: generateIdForType('testable.partial'), options: { quantity: equals(4) } } as Omit, 'id'>, branch: { id: generateIdForType('branch'), type: 'offers', children: [ { id: generateIdForType('offers'), type: 'Discount', options: { type: 'amount', amount: 20 } } as OfferData ] } }, { parentBranchId: targetBranchId, newTieredBranchData: { baseTestable: { id: baseTestableId, type: QuantityMeta.id, testableType: 'filter', options: { } }, tierType: TierType.Numeric, } } ) // close this panel closeSelectActionsPopupWindow() } }; } } // next we'll ask the user to add a offer, this is optional and if the user skips this, we'll add a select actions branchs to the tier ], }