@@ -21,22 +21,27 @@ import { useManageChatwoot } from "@/lib/queries/chatwoot/manageChatwoot";
2121
2222import { Chatwoot as ChatwootType } from "@/types/evolution.types" ;
2323
24+ const stringOrUndefined = z
25+ . string ( )
26+ . optional ( )
27+ . transform ( ( value ) => ( value === "" ? undefined : value ) ) ;
28+
2429const formSchema = z . object ( {
2530 enabled : z . boolean ( ) ,
2631 accountId : z . string ( ) ,
2732 token : z . string ( ) ,
2833 url : z . string ( ) ,
29- signMsg : z . boolean ( ) ,
30- signDelimiter : z . string ( ) ,
31- nameInbox : z . string ( ) ,
32- organization : z . string ( ) ,
33- logo : z . string ( ) ,
34- reopenConversation : z . boolean ( ) ,
35- conversationPending : z . boolean ( ) ,
36- mergeBrazilContacts : z . boolean ( ) ,
37- importContacts : z . boolean ( ) ,
38- importMessages : z . boolean ( ) ,
39- daysLimitImportMessages : z . coerce . number ( ) ,
34+ signMsg : z . boolean ( ) . optional ( ) ,
35+ signDelimiter : stringOrUndefined ,
36+ nameInbox : stringOrUndefined ,
37+ organization : stringOrUndefined ,
38+ logo : stringOrUndefined ,
39+ reopenConversation : z . boolean ( ) . optional ( ) ,
40+ conversationPending : z . boolean ( ) . optional ( ) ,
41+ mergeBrazilContacts : z . boolean ( ) . optional ( ) ,
42+ importContacts : z . boolean ( ) . optional ( ) ,
43+ importMessages : z . boolean ( ) . optional ( ) ,
44+ daysLimitImportMessages : z . coerce . number ( ) . optional ( ) ,
4045 autoCreate : z . boolean ( ) ,
4146 ignoreJids : z . array ( z . string ( ) ) . default ( [ ] ) ,
4247} ) ;
@@ -78,9 +83,29 @@ function Chatwoot() {
7883 useEffect ( ( ) => {
7984 if ( chatwoot ) {
8085 form . setValue ( "ignoreJids" , chatwoot . ignoreJids || [ ] ) ;
81- form . reset ( chatwoot ) ;
86+ const chatwootData : ChatwootType = {
87+ enabled : chatwoot . enabled ,
88+ accountId : chatwoot . accountId ,
89+ token : chatwoot . token ,
90+ url : chatwoot . url ,
91+ signMsg : chatwoot . signMsg || false ,
92+ signDelimiter : chatwoot . signDelimiter || "\\n" ,
93+ nameInbox : chatwoot . nameInbox || "" ,
94+ organization : chatwoot . organization || "" ,
95+ logo : chatwoot . logo || "" ,
96+ reopenConversation : chatwoot . reopenConversation || false ,
97+ conversationPending : chatwoot . conversationPending || false ,
98+ mergeBrazilContacts : chatwoot . mergeBrazilContacts || false ,
99+ importContacts : chatwoot . importContacts || false ,
100+ importMessages : chatwoot . importMessages || false ,
101+ daysLimitImportMessages : chatwoot . daysLimitImportMessages || 7 ,
102+ autoCreate : chatwoot . autoCreate || false ,
103+ ignoreJids : chatwoot . ignoreJids ,
104+ } ;
105+
106+ form . reset ( chatwootData ) ;
82107 }
83- } ) ;
108+ } , [ chatwoot , form ] ) ;
84109
85110 const onSubmit = async ( data : FormSchema ) => {
86111 if ( ! instance ) return ;
@@ -91,17 +116,17 @@ function Chatwoot() {
91116 accountId : data . accountId ,
92117 token : data . token ,
93118 url : data . url ,
94- signMsg : data . signMsg ,
95- signDelimiter : data . signDelimiter ,
96- nameInbox : data . nameInbox ,
97- organization : data . organization ,
98- logo : data . logo ,
99- reopenConversation : data . reopenConversation ,
100- conversationPending : data . conversationPending ,
101- mergeBrazilContacts : data . mergeBrazilContacts ,
102- importContacts : data . importContacts ,
103- importMessages : data . importMessages ,
104- daysLimitImportMessages : data . daysLimitImportMessages ,
119+ signMsg : data . signMsg || false ,
120+ signDelimiter : data . signDelimiter || "\\n" ,
121+ nameInbox : data . nameInbox || "" ,
122+ organization : data . organization || "" ,
123+ logo : data . logo || "" ,
124+ reopenConversation : data . reopenConversation || false ,
125+ conversationPending : data . conversationPending || false ,
126+ mergeBrazilContacts : data . mergeBrazilContacts || false ,
127+ importContacts : data . importContacts || false ,
128+ importMessages : data . importMessages || false ,
129+ daysLimitImportMessages : data . daysLimitImportMessages || 7 ,
105130 autoCreate : data . autoCreate ,
106131 ignoreJids : data . ignoreJids ,
107132 } ;
0 commit comments