11/* eslint-disable react/jsx-no-useless-fragment */ 
22/* eslint-disable no-undef */ 
3- import  {  useEffect ,  useState  }  from  ' react' 
4- import  {  useRecoilState ,  useRecoilValue  }  from  ' recoil' 
5- import  {  $btcbi ,  $flowStep ,  $newFlow  }  from  ' ../../../GlobalStates' 
6- import  useFetch  from  ' ../../../hooks/useFetch' 
7- import  CloseIcn  from  ' ../../../Icons/CloseIcn' 
8- import  {  deepCopy ,  sortFreeProd ,  sortObj  }  from  ' ../../../Utils/Helpers' 
9- import  {  __  }  from  ' ../../../Utils/i18nwrap' 
10- import  Loader  from  ' ../../Loaders/Loader' 
11- import  CustomTrigger  from  ' ../../Triggers/CustomTrigger' 
12- import  FormPlugin  from  ' ../../Triggers/FormPlugin' 
13- import  Webhook  from  ' ../../Triggers/Webhook' 
14- import  ActionHook  from  ' ../../Triggers/ActionHook' 
15- import  GetLogo  from  ' ../../../Utils/GetLogo' 
16- import  EssentialBlocksHelper  from  ' ../../Triggers/TriggerHelpers/EssentialBlocksHelper' 
17- import  SpectraHelper  from  ' ../../Triggers/TriggerHelpers/SpectraHelper' 
18- import  CustomFormSubmission  from  ' ../../Triggers/CustomFormSubmission' 
19- import  {  allTriggersName  }  from  ' ../../../Utils/AllTriggersName' 
20- import  CoblocksHelper  from  ' ../../Triggers/TriggerHelpers/CoblocksHelper' 
3+ import  {  useEffect ,  useState  }  from  " react" ; 
4+ import  {  useRecoilState ,  useRecoilValue  }  from  " recoil" ; 
5+ import  {  $btcbi ,  $flowStep ,  $newFlow  }  from  " ../../../GlobalStates" ; 
6+ import  useFetch  from  " ../../../hooks/useFetch" ; 
7+ import  CloseIcn  from  " ../../../Icons/CloseIcn" ; 
8+ import  {  deepCopy ,  sortFreeProd ,  sortObj  }  from  " ../../../Utils/Helpers" ; 
9+ import  {  __  }  from  " ../../../Utils/i18nwrap" ; 
10+ import  Loader  from  " ../../Loaders/Loader" ; 
11+ import  CustomTrigger  from  " ../../Triggers/CustomTrigger" ; 
12+ import  FormPlugin  from  " ../../Triggers/FormPlugin" ; 
13+ import  Webhook  from  " ../../Triggers/Webhook" ; 
14+ import  ActionHook  from  " ../../Triggers/ActionHook" ; 
15+ import  GetLogo  from  " ../../../Utils/GetLogo" ; 
16+ import  EssentialBlocksHelper  from  " ../../Triggers/TriggerHelpers/EssentialBlocksHelper" ; 
17+ import  SpectraHelper  from  " ../../Triggers/TriggerHelpers/SpectraHelper" ; 
18+ import  CustomFormSubmission  from  " ../../Triggers/CustomFormSubmission" ; 
19+ import  {  allTriggersName  }  from  " ../../../Utils/AllTriggersName" ; 
20+ import  CoblocksHelper  from  " ../../Triggers/TriggerHelpers/CoblocksHelper" ; 
2121
2222export  default  function  SelectTrigger ( )  { 
2323  // const data = allTriggersName 
24-   const  {  isPro }  =  useRecoilValue ( $btcbi ) 
24+   const  {  isPro }  =  useRecoilValue ( $btcbi ) ; 
2525  const  loaderStyle  =  { 
26-     display : 'flex' , 
27-     height : '82vh' , 
28-     justifyContent : 'center' , 
29-     alignItems : 'center' , 
30-   } 
31-   const  {  data,  isLoading }  =  useFetch ( {  payload : { } ,  action : 'trigger/list' ,  method : 'GET'  } ) 
32-   const  [ allTriggers ,  setAllTriggers ]  =  useState ( data  ||  { } ) 
33-   const  [ searchValue ,  setSearchValue ]  =  useState ( '' ) 
34-   const  flowStep  =  useRecoilValue ( $flowStep ) 
35-   const  [ newFlow ,  setNewFlow ]  =  useRecoilState ( $newFlow ) 
26+     display : "flex" , 
27+     height : "82vh" , 
28+     justifyContent : "center" , 
29+     alignItems : "center" , 
30+   } ; 
31+   const  {  data,  isLoading }  =  useFetch ( { 
32+     payload : { } , 
33+     action : "trigger/list" , 
34+     method : "GET" , 
35+   } ) ; 
36+   const  [ allTriggers ,  setAllTriggers ]  =  useState ( data  ||  { } ) ; 
37+   const  [ searchValue ,  setSearchValue ]  =  useState ( "" ) ; 
38+   const  flowStep  =  useRecoilValue ( $flowStep ) ; 
39+   const  [ newFlow ,  setNewFlow ]  =  useRecoilState ( $newFlow ) ; 
3640
3741  const  sortFeaturedProducts  =  ( dataObj  =  { } )  =>  { 
3842    if  ( dataObj )  { 
39-       const  newData  =  deepCopy ( dataObj ) 
40-       const  ifAnyFeaturedProdFound  =  featuredProducts . some ( pr  =>  pr  in  newData ) 
41-       if  ( ! ifAnyFeaturedProdFound )  return  sortObj ( newData ) 
43+       const  newData  =  deepCopy ( dataObj ) ; 
44+       const  ifAnyFeaturedProdFound  =  featuredProducts . some ( 
45+         ( pr )  =>  pr  in  newData 
46+       ) ; 
47+       if  ( ! ifAnyFeaturedProdFound )  return  sortObj ( newData ) ; 
4248      const  featuredProductData  =  featuredProducts . reduce ( ( accr ,  curr )  =>  { 
43-         const  tempAccr  =  {  ...accr  } 
49+         const  tempAccr  =  {  ...accr  } ; 
4450        if  ( newData [ curr ] )  { 
45-           tempAccr [ curr ]  =  newData [ curr ] 
46-           delete  newData [ curr ] 
51+           tempAccr [ curr ]  =  newData [ curr ] ; 
52+           delete  newData [ curr ] ; 
4753        } 
48-         return  tempAccr 
49-       } ,  { } ) 
50-       const  sortedTriggers  =  sortObj ( newData ) 
51-       const  finalSortedTriggers  =  sortFreeProd ( sortedTriggers ) 
52-       const  finalData  =  {  ...featuredProductData ,  ...finalSortedTriggers  } 
53-       return  finalData 
54+         return  tempAccr ; 
55+       } ,  { } ) ; 
56+       const  sortedTriggers  =  sortObj ( newData ) ; 
57+       const  finalSortedTriggers  =  sortFreeProd ( sortedTriggers ) ; 
58+       const  finalData  =  {  ...featuredProductData ,  ...finalSortedTriggers  } ; 
59+       return  finalData ; 
5460    } 
5561
56-     return  dataObj 
57-   } 
62+     return  dataObj ; 
63+   } ; 
5864  // console.log('data', data) 
5965  useEffect ( ( )  =>  { 
6066    if  ( data ?. success  ===  true )  { 
61-       setAllTriggers ( {  data : sortFeaturedProducts ( data ?. data )  } ) 
67+       setAllTriggers ( {  data : sortFeaturedProducts ( data ?. data )  } ) ; 
6268    } 
63-   } ,  [ data ] ) 
64- 
65-   const  featuredProducts  =  [ 'BitForm' ] 
69+   } ,  [ data ] ) ; 
6670
71+   const  featuredProducts  =  [ "BitForm" ] ; 
6772
6873  const  searchInteg  =  ( e )  =>  { 
69-     const  {  value }  =  e . target 
70-     setSearchValue ( value ) 
71-     const  filtered  =  Object . entries ( data . data ) . filter ( ( integ )  =>  integ [ 1 ] . name . toLowerCase ( ) . includes ( value . toLowerCase ( ) ) ) . reduce ( ( prev ,  [ key ,  values ] )  =>  ( {  ...prev ,  [ key ] : values  } ) ,  { } ) 
74+     const  {  value }  =  e . target ; 
75+     setSearchValue ( value ) ; 
76+     const  filtered  =  Object . entries ( data . data ) 
77+       . filter ( ( integ )  => 
78+         integ [ 1 ] . name . toLowerCase ( ) . includes ( value . toLowerCase ( ) ) 
79+       ) 
80+       . reduce ( ( prev ,  [ key ,  values ] )  =>  ( {  ...prev ,  [ key ] : values  } ) ,  { } ) ; 
7281    // const organizeData = filtered?.reduce((prev, [key, values]) => ({ ...prev, [key]: values }), {}) 
73-     setAllTriggers ( {  success : true ,  data : sortFeaturedProducts ( filtered )  } ) 
74-   } 
82+     setAllTriggers ( {  success : true ,  data : sortFeaturedProducts ( filtered )  } ) ; 
83+   } ; 
7584
7685  const  setTrigger  =  ( trigger )  =>  { 
77-     const  tempConf  =  {  ...newFlow  } 
78-     tempConf . triggered_entity  =  trigger 
79-     tempConf . triggerDetail  =  allTriggers . data [ trigger ] 
80-     setNewFlow ( tempConf ) 
81-   } 
86+     const  tempConf  =  {  ...newFlow  } ; 
87+     tempConf . triggered_entity  =  trigger ; 
88+     tempConf . triggerDetail  =  allTriggers . data [ trigger ] ; 
89+     setNewFlow ( tempConf ) ; 
90+   } ; 
8291
8392  const  removeTrigger  =  ( )  =>  { 
84-     const  tempConf  =  {  ...newFlow  } 
85-     delete  tempConf . triggered_entity 
86-     setNewFlow ( tempConf ) 
87-   } 
93+     const  tempConf  =  {  ...newFlow  } ; 
94+     delete  tempConf . triggered_entity ; 
95+     setNewFlow ( tempConf ) ; 
96+   } ; 
8897  if  ( isLoading )  { 
89-     return  ( 
90-       < Loader  style = { loaderStyle }  /> 
91-     ) 
98+     return  < Loader  style = { loaderStyle }  /> ; 
9299  } 
93100  // console.log('data', data) 
94101
@@ -97,50 +104,96 @@ export default function SelectTrigger() {
97104      < div > 
98105        < h1  className = "txt-center mt-5" > { data ?. data } </ h1 > 
99106      </ div > 
100-     ) 
107+     ) ; 
101108  } 
102109
103110  return  ( 
104111    < > 
105-       { newFlow . triggered_entity 
106-         ? ( 
107-           < > 
108-             < div  role = "button"  className = "btcd-inte-card flx flx-center flx-wrp mr-4 mt-3"  tabIndex = "0" > 
109-               < GetLogo  name = { newFlow . triggered_entity }  extension = "webp"  /> 
110-               < div  className = "txt-center" > 
111-                 { allTriggers . data [ newFlow . triggered_entity ] ?. name } 
112-               </ div > 
113-               < button  onClick = { removeTrigger }  className = "icn-btn btcd-mdl-close"  aria-label = "modal-close"  type = "button" > < CloseIcn  size = { 16 }  stroke = { 3 }  /> </ button > 
114-             </ div > 
115-             < div  className = "flx" > 
116-               { newFlow . triggerDetail ?. type  ===  'form'  &&  flowStep  ===  1  &&  < FormPlugin  /> } 
117-               { newFlow . triggerDetail ?. type  ===  'webhook'  &&  flowStep  ===  1  &&  < Webhook  /> } 
118-               { newFlow . triggerDetail ?. type  ===  'custom_trigger'  &&  flowStep  ===  1  &&  < CustomTrigger  /> } 
119-               { newFlow . triggerDetail ?. type  ===  'action_hook'  &&  flowStep  ===  1  &&  < ActionHook  /> } 
120-               { newFlow . triggerDetail ?. type  ===  'spectra'  &&  flowStep  ===  1  &&  < SpectraHelper  /> } 
121-               { newFlow . triggerDetail ?. type  ===  'essentialBlocks'  &&  flowStep  ===  1  &&  < EssentialBlocksHelper  /> } 
122-               { newFlow . triggerDetail ?. type  ===  'coblocks'  &&  flowStep  ===  1  &&  < CoblocksHelper  /> } 
123-               { newFlow . triggerDetail ?. type  ===  'custom_form_submission'  &&  flowStep  ===  1  &&  < CustomFormSubmission  /> } 
112+       { newFlow . triggered_entity  ? ( 
113+         < > 
114+           < div 
115+             role = "button" 
116+             className = "btcd-inte-card flx flx-center flx-wrp mt-3" 
117+             tabIndex = "0" 
118+           > 
119+             < GetLogo  name = { newFlow . triggered_entity }  extension = "webp"  /> 
120+             < div  className = "txt-center" > 
121+               { allTriggers . data [ newFlow . triggered_entity ] ?. name } 
124122            </ div > 
125-           </ > 
126-         )  : ( 
127-           < > 
128-             < div  className = " btcd-inte-wrp txt-center" > 
129-               < h2  className = "mt-0" > Please select a Trigger</ h2 > 
130-               < input  type = "search"  className = "btcd-paper-inp w-5 mb-2"  onChange = { searchInteg }  value = { searchValue }  placeholder = "Search Trigger..."  autoFocus  /> 
131-               < div  className = "flx flx-center flx-wrp pb-3" > 
132-                 { allTriggers ?. data  &&  Object . keys ( allTriggers ?. data ) . map ( ( inte ,  i )  =>  ( 
123+             < button 
124+               onClick = { removeTrigger } 
125+               className = "icn-btn btcd-mdl-close" 
126+               aria-label = "modal-close" 
127+               type = "button" 
128+             > 
129+               < CloseIcn  size = { 16 }  stroke = { 3 }  /> 
130+             </ button > 
131+           </ div > 
132+           < div  className = "flx" > 
133+             { newFlow . triggerDetail ?. type  ===  "form"  &&  flowStep  ===  1  &&  ( 
134+               < FormPlugin  /> 
135+             ) } 
136+             { newFlow . triggerDetail ?. type  ===  "webhook"  &&  flowStep  ===  1  &&  ( 
137+               < Webhook  /> 
138+             ) } 
139+             { newFlow . triggerDetail ?. type  ===  "custom_trigger"  && 
140+               flowStep  ===  1  &&  < CustomTrigger  /> } 
141+             { newFlow . triggerDetail ?. type  ===  "action_hook"  && 
142+               flowStep  ===  1  &&  < ActionHook  /> } 
143+             { newFlow . triggerDetail ?. type  ===  "spectra"  &&  flowStep  ===  1  &&  ( 
144+               < SpectraHelper  /> 
145+             ) } 
146+             { newFlow . triggerDetail ?. type  ===  "essentialBlocks"  && 
147+               flowStep  ===  1  &&  < EssentialBlocksHelper  /> } 
148+             { newFlow . triggerDetail ?. type  ===  "coblocks"  &&  flowStep  ===  1  &&  ( 
149+               < CoblocksHelper  /> 
150+             ) } 
151+             { newFlow . triggerDetail ?. type  ===  "custom_form_submission"  && 
152+               flowStep  ===  1  &&  < CustomFormSubmission  /> } 
153+           </ div > 
154+         </ > 
155+       )  : ( 
156+         < > 
157+           < div  className = " btcd-inte-wrp txt-center" > 
158+             < h2  className = "mt-0" > Please select a Trigger</ h2 > 
159+             < input 
160+               type = "search" 
161+               className = "btcd-paper-inp w-5 mb-2" 
162+               onChange = { searchInteg } 
163+               value = { searchValue } 
164+               placeholder = "Search Trigger..." 
165+               autoFocus 
166+             /> 
167+             < div  className = "flx flx-center flx-wrp pb-3" > 
168+               { allTriggers ?. data  && 
169+                 Object . keys ( allTriggers ?. data ) . map ( ( inte ,  i )  =>  ( 
133170                  < div 
134171                    key = { `inte-sm-${ i  +  2 }  } 
135-                     onClick = { ( )  =>  ! inte . disable  &&  ( isPro  ||  ! allTriggers ?. data [ inte ] ?. isPro )  &&  setTrigger ( inte ) } 
136-                     onKeyUp = { ( )  =>  ! inte . disable  &&  ( isPro  ||  ! allTriggers ?. data [ inte ] ?. isPro )  &&  setNewInteg ( inte . type ) } 
172+                     onClick = { ( )  => 
173+                       ! inte . disable  && 
174+                       ( isPro  ||  ! allTriggers ?. data [ inte ] ?. isPro )  && 
175+                       setTrigger ( inte ) 
176+                     } 
177+                     onKeyUp = { ( )  => 
178+                       ! inte . disable  && 
179+                       ( isPro  ||  ! allTriggers ?. data [ inte ] ?. isPro )  && 
180+                       setNewInteg ( inte . type ) 
181+                     } 
137182                    role = "button" 
138183                    tabIndex = "0" 
139-                     className = { `btcd-inte-card inte-sm mr-4 mt-3 ${ inte . disable  &&  ( isPro  ||  ! allTriggers ?. data [ inte ] ?. isPro )  &&  ' btcd-inte-dis' } ${ ( allTriggers ?. data [ inte ] ?. isPro  &&  ! isPro )  &&  ' btcd-inte-pro' }  } 
184+                     className = { `btcd-inte-card inte-sm mr-4 mt-3 ${ inte . disable  &&  ( isPro  ||  ! allTriggers ?. data [ inte ] ?. isPro )  &&  " btcd-inte-dis" } ${ allTriggers ?. data [ inte ] ?. isPro  &&  ! isPro  &&  " btcd-inte-pro" }  } 
140185                  > 
141-                     { ( allTriggers ?. data [ inte ] ?. isPro  &&  ! isPro )  &&  ( 
186+                     { allTriggers ?. data [ inte ] ?. isPro  &&  ! isPro  &&  ( 
142187                      < div  className = "pro-filter" > 
143-                         < span  className = "txt-pro" > < a  href = "https://bitapps.pro/bit-integrations"  target = "_blank"  rel = "noreferrer" > { __ ( 'Pro' ,  'bit-integrations' ) } </ a > </ span > 
188+                         < span  className = "txt-pro" > 
189+                           < a 
190+                             href = "https://bitapps.pro/bit-integrations" 
191+                             target = "_blank" 
192+                             rel = "noreferrer" 
193+                           > 
194+                             { __ ( "Pro" ,  "bit-integrations" ) } 
195+                           </ a > 
196+                         </ span > 
144197                      </ div > 
145198                    ) } 
146199                    < GetLogo  name = { inte }  extension = "webp"  /> 
@@ -149,10 +202,10 @@ export default function SelectTrigger() {
149202                    </ div > 
150203                  </ div > 
151204                ) ) } 
152-               </ div > 
153205            </ div > 
154-           </ > 
155-         ) } 
206+           </ div > 
207+         </ > 
208+       ) } 
156209    </ > 
157-   ) 
210+   ) ; 
158211} 
0 commit comments