1
- import React , { createContext , useState , useContext , useMemo } from "react" ;
1
+ import React , { createContext , useState , useContext , useMemo , useCallback } from "react" ;
2
2
3
3
import { Address } from "viem" ;
4
4
@@ -73,20 +73,16 @@ const initialDisputeData: IDisputeData = {
73
73
aliasesArray : [ { name : "" , address : "" , id : "1" } ] ,
74
74
version : "1.0" ,
75
75
} ;
76
- const initialDisputeTemplate = initialDisputeData as IDisputeTemplate ;
77
76
78
- const NewDisputeContext = createContext < INewDisputeContext > ( {
79
- disputeData : initialDisputeData ,
80
- setDisputeData : ( ) => { } ,
81
- disputeTemplate : initialDisputeTemplate ,
82
- resetDisputeData : ( ) => { } ,
83
- isSubmittingCase : false ,
84
- setIsSubmittingCase : ( ) => { } ,
85
- isPolicyUploading : false ,
86
- setIsPolicyUploading : ( ) => { } ,
87
- } ) ;
77
+ const NewDisputeContext = createContext < INewDisputeContext | undefined > ( undefined ) ;
88
78
89
- export const useNewDisputeContext = ( ) => useContext ( NewDisputeContext ) ;
79
+ export const useNewDisputeContext = ( ) => {
80
+ const context = useContext ( NewDisputeContext ) ;
81
+ if ( ! context ) {
82
+ throw new Error ( "Context Provider not found." ) ;
83
+ }
84
+ return context ;
85
+ } ;
90
86
91
87
export const NewDisputeProvider : React . FC < { children : React . ReactNode } > = ( { children } ) => {
92
88
const [ disputeData , setDisputeData ] = useLocalStorage < IDisputeData > ( "disputeData" , initialDisputeData ) ;
@@ -95,9 +91,9 @@ export const NewDisputeProvider: React.FC<{ children: React.ReactNode }> = ({ ch
95
91
96
92
const disputeTemplate = useMemo ( ( ) => constructDisputeTemplate ( disputeData ) , [ disputeData ] ) ;
97
93
98
- const resetDisputeData = ( ) => {
94
+ const resetDisputeData = useCallback ( ( ) => {
99
95
setDisputeData ( initialDisputeData ) ;
100
- } ;
96
+ } , [ setDisputeData ] ) ;
101
97
102
98
const contextValues = useMemo (
103
99
( ) => ( {
@@ -110,7 +106,7 @@ export const NewDisputeProvider: React.FC<{ children: React.ReactNode }> = ({ ch
110
106
isPolicyUploading,
111
107
setIsPolicyUploading,
112
108
} ) ,
113
- [ disputeData , disputeTemplate , resetDisputeData , isSubmittingCase , isPolicyUploading ]
109
+ [ disputeData , disputeTemplate , resetDisputeData , isSubmittingCase , isPolicyUploading , setDisputeData ]
114
110
) ;
115
111
116
112
return < NewDisputeContext . Provider value = { contextValues } > { children } </ NewDisputeContext . Provider > ;
0 commit comments