1+ import { create } from 'mutative'
12import { useState } from 'react'
23import MultiSelect from 'react-multiple-select-dropdown-lite'
34import 'react-multiple-select-dropdown-lite/dist/index.css'
4- import { useRecoilState , useSetRecoilState } from 'recoil'
5- import { $flowStep , $formFields , $newFlow } from '../../GlobalStates'
5+ import { useRecoilState , useRecoilValue , useSetRecoilState } from 'recoil'
6+ import { $btcbi , $ flowStep, $formFields , $newFlow } from '../../GlobalStates'
67import useFetch from '../../hooks/useFetch'
78import bitsFetch from '../../Utils/bitsFetch'
89import { __ } from '../../Utils/i18nwrap'
910import Loader from '../Loaders/Loader'
1011import LoaderSm from '../Loaders/LoaderSm'
1112import Note from '../Utilities/Note'
1213import SnackMsg from '../Utilities/SnackMsg'
13- import TriggerMultiOption from './TriggerMultiOption'
1414import { FormPluginStateHelper } from './TriggerHelpers/TriggerStateHelper'
15- import { create } from 'mutative '
15+ import TriggerMultiOption from './TriggerMultiOption '
1616
1717const FormPlugin = ( ) => {
1818 const [ newFlow , setNewFlow ] = useRecoilState ( $newFlow )
1919 const setFlowStep = useSetRecoilState ( $flowStep )
2020 const setFormFields = useSetRecoilState ( $formFields )
21+ const [ snack , setSnackbar ] = useState ( { show : false , msg : '' } )
22+ const [ isLoad , setIsLoad ] = useState ( false )
23+ const btcbi = useRecoilValue ( $btcbi )
24+ const { isPro } = btcbi
25+
2126 const { data, isLoading } = useFetch ( {
2227 payload : { } ,
2328 action : newFlow . triggerDetail . list . action ,
2429 method : newFlow . triggerDetail . list . method
2530 } )
26- const [ snack , setSnackbar ] = useState ( { show : false , msg : '' } )
27- const [ isLoad , setIsLoad ] = useState ( false )
2831
2932 const setFlowData = ( val , type ) => {
30- setNewFlow ( ( prevState ) =>
31- create ( prevState , ( draft ) => {
33+ setNewFlow ( prevState =>
34+ create ( prevState , draft => {
3235 draft . triggerData [ type ] = val
3336 } )
3437 )
3538 }
3639
37- const setTriggerData = ( val ) => {
40+ const setTriggerData = val => {
3841 const tmpNewFlow = { ...newFlow }
3942
4043 if ( ! val ) {
@@ -49,11 +52,11 @@ const FormPlugin = () => {
4952 newFlow ?. triggerDetail ?. name === 'PiotnetAddon' ||
5053 newFlow ?. triggerDetail ?. name === 'CartFlow'
5154 ) {
52- const filterData = data ?. data ?. filter ( ( item ) => item . id === val ) [ 0 ] ?. post_id || null
55+ const filterData = data ?. data ?. filter ( item => item . id === val ) [ 0 ] ?. post_id || null
5356 queryData = { ...queryData , postId : filterData }
5457 }
5558
56- bitsFetch ( queryData , newFlow . triggerDetail . fields . action ) . then ( ( resp ) => {
59+ bitsFetch ( queryData , newFlow . triggerDetail . fields . action ) . then ( resp => {
5760 if ( resp . success ) {
5861 tmpNewFlow . triggerData = {
5962 formID : val ,
@@ -80,7 +83,7 @@ const FormPlugin = () => {
8083 let taskNote = ''
8184
8285 if ( newFlow . triggerData ?. formID ) {
83- const selectedTask = data ?. data ?. filter ( ( item ) => item . id == newFlow . triggerData ?. formID )
86+ const selectedTask = data ?. data ?. filter ( item => item . id == newFlow . triggerData ?. formID )
8487 if ( selectedTask ?. length > 0 && selectedTask [ 0 ] ?. note ) {
8588 taskNote = selectedTask [ 0 ] . note
8689 }
@@ -111,11 +114,14 @@ const FormPlugin = () => {
111114 < MultiSelect
112115 className = "msl-wrp-options"
113116 defaultValue = { newFlow . triggerData ?. formID }
114- options = { data ?. data ?. map ( ( form ) => ( {
115- label : form . title ,
116- value : form . id . toString ( )
117+ options = { data ?. data ?. map ( form => ( {
118+ label : isFormSelectable ( isPro , form ?. isPro || false )
119+ ? form ?. title
120+ : form ?. title + ' (Pro)' ,
121+ value : form . id . toString ( ) ,
122+ disabled : ! isFormSelectable ( isPro , form ?. isPro || false )
117123 } ) ) }
118- onChange = { ( val ) => setTriggerData ( val ) }
124+ onChange = { val => setTriggerData ( val ) }
119125 singleSelect
120126 style = { { width : '100%' , minWidth : 400 , maxWidth : 450 } }
121127 />
@@ -150,3 +156,5 @@ const FormPlugin = () => {
150156 )
151157}
152158export default FormPlugin
159+
160+ const isFormSelectable = ( isProPluginActivated , formIsPro = false ) => ! formIsPro || isProPluginActivated
0 commit comments