@@ -71,6 +71,7 @@ export interface DexSectionProps {
7171 seoTwitterHandle : string ;
7272 seoThemeColor : string ;
7373 seoKeywords : string ;
74+ analyticsScript : string ;
7475 walletConnectProjectId : string ;
7576 privyAppId : string ;
7677 privyTermsOfUse : string ;
@@ -141,6 +142,7 @@ export interface DexFormData {
141142 seoTwitterHandle : string ;
142143 seoThemeColor : string ;
143144 seoKeywords : string ;
145+ analyticsScript : string ;
144146}
145147
146148export interface UseDexFormReturn extends DexFormData {
@@ -188,9 +190,10 @@ export interface UseDexFormReturn extends DexFormData {
188190 setSeoTwitterHandle : ( value : string ) => void ;
189191 setSeoThemeColor : ( value : string ) => void ;
190192 setSeoKeywords : ( value : string ) => void ;
193+ setAnalyticsScript : ( value : string ) => void ;
191194 handleInputChange : (
192195 field : string
193- ) => ( e : React . ChangeEvent < HTMLInputElement > ) => void ;
196+ ) => ( e : React . ChangeEvent < HTMLInputElement | HTMLTextAreaElement > ) => void ;
194197 handleImageChange : ( field : string ) => ( blob : Blob | null ) => void ;
195198 handlePnLPosterChange : ( posters : ( Blob | null ) [ ] ) => void ;
196199 populateFromDexData : (
@@ -287,6 +290,7 @@ const initialFormState: DexFormData = {
287290 seoTwitterHandle : "" ,
288291 seoThemeColor : "" ,
289292 seoKeywords : "" ,
293+ analyticsScript : "" ,
290294} ;
291295
292296export function useDexForm ( ) : UseDexFormReturn {
@@ -388,9 +392,13 @@ export function useDexForm(): UseDexFormReturn {
388392 initialFormState . seoThemeColor
389393 ) ;
390394 const [ seoKeywords , setSeoKeywords ] = useState ( initialFormState . seoKeywords ) ;
395+ const [ analyticsScript , setAnalyticsScript ] = useState (
396+ initialFormState . analyticsScript
397+ ) ;
391398
392399 const handleInputChange =
393- ( field : string ) => ( e : React . ChangeEvent < HTMLInputElement > ) => {
400+ ( field : string ) =>
401+ ( e : React . ChangeEvent < HTMLInputElement | HTMLTextAreaElement > ) => {
394402 const value = e . target . value ;
395403 switch ( field ) {
396404 case "brokerName" :
@@ -438,6 +446,9 @@ export function useDexForm(): UseDexFormReturn {
438446 case "seoKeywords" :
439447 setSeoKeywords ( value ) ;
440448 break ;
449+ case "analyticsScript" :
450+ setAnalyticsScript ( value ) ;
451+ break ;
441452 }
442453 } ;
443454
@@ -526,6 +537,8 @@ export function useDexForm(): UseDexFormReturn {
526537 setSeoThemeColor ( dexData . seoThemeColor ) ;
527538 if ( dexData . seoKeywords !== undefined )
528539 setSeoKeywords ( dexData . seoKeywords ) ;
540+ if ( dexData . analyticsScript !== undefined )
541+ setAnalyticsScript ( dexData . analyticsScript ) ;
529542
530543 if ( dexData . themeCSS !== undefined ) {
531544 setCurrentTheme ( dexData . themeCSS ) ;
@@ -614,6 +627,7 @@ export function useDexForm(): UseDexFormReturn {
614627 seoTwitterHandle,
615628 seoThemeColor,
616629 seoKeywords,
630+ analyticsScript,
617631 } ,
618632 images : {
619633 primaryLogo : primaryLogoBase64 ,
@@ -659,6 +673,7 @@ export function useDexForm(): UseDexFormReturn {
659673 seoTwitterHandle ,
660674 seoThemeColor ,
661675 seoKeywords ,
676+ analyticsScript ,
662677 ] ) ;
663678
664679 const resetForm = ( ) => {
@@ -700,6 +715,7 @@ export function useDexForm(): UseDexFormReturn {
700715 setSeoTwitterHandle ( initialFormState . seoTwitterHandle ) ;
701716 setSeoThemeColor ( initialFormState . seoThemeColor ) ;
702717 setSeoKeywords ( initialFormState . seoKeywords ) ;
718+ setAnalyticsScript ( initialFormState . analyticsScript ) ;
703719 } ;
704720
705721 const generateTheme = useCallback (
@@ -917,6 +933,7 @@ export function useDexForm(): UseDexFormReturn {
917933 seoTwitterHandle,
918934 seoThemeColor,
919935 seoKeywords,
936+ analyticsScript,
920937 walletConnectProjectId,
921938 privyAppId,
922939 privyTermsOfUse,
@@ -975,6 +992,7 @@ export function useDexForm(): UseDexFormReturn {
975992 seoTwitterHandle ,
976993 seoThemeColor ,
977994 seoKeywords ,
995+ analyticsScript ,
978996 walletConnectProjectId ,
979997 privyAppId ,
980998 privyTermsOfUse ,
@@ -1057,6 +1075,7 @@ export function useDexForm(): UseDexFormReturn {
10571075 seoTwitterHandle,
10581076 seoThemeColor,
10591077 seoKeywords,
1078+ analyticsScript,
10601079 setBrokerName,
10611080 setTelegramLink,
10621081 setDiscordLink,
@@ -1093,6 +1112,7 @@ export function useDexForm(): UseDexFormReturn {
10931112 setSeoTwitterHandle,
10941113 setSeoThemeColor,
10951114 setSeoKeywords,
1115+ setAnalyticsScript,
10961116 handleInputChange,
10971117 handleImageChange,
10981118 handlePnLPosterChange,
0 commit comments