@@ -20,16 +20,30 @@ export function useContracts() {
2020
2121 const shiftDown = ( ) => {
2222 setSelectedIdx ( ( prev ) =>
23- prev === null || prev === contracts . length - 1 ? prev : prev + 1 ,
23+ prev === null || prev === contracts . length - 1 ? prev : prev + 1
2424 ) ;
2525 } ;
2626
27- const addContract = ( contract : Contract ) =>
27+ const addContract = ( contract : Contract ) => {
28+ var newContracts ;
2829 setContracts ( ( prevContracts ) => {
29- const newContracts = [ ...prevContracts , contract ] ;
30- return newContracts . sort ( ( a , b ) => a . name . localeCompare ( b . name ) ) ;
30+ newContracts = [ ...prevContracts , contract ] . sort ( ( a , b ) =>
31+ a . name . localeCompare ( b . name )
32+ ) ;
33+ return newContracts ;
3134 } ) ;
35+ localStorage . setItem ( "contracts" , JSON . stringify ( newContracts ) ) ;
36+ } ;
3237
38+ const overwriteContract = ( contracts : Contract [ ] ) => {
39+ var newContracts ;
40+ setContracts ( ( ) => {
41+ newContracts = [ ...contracts ] . sort ( ( a , b ) =>
42+ a . name . localeCompare ( b . name )
43+ ) ;
44+ return newContracts ;
45+ } ) ;
46+ } ;
3347 const removeContractByIdx = ( idx : number ) => {
3448 setSelectedIdx ( null ) ;
3549 setContracts ( ( prevContracts ) => prevContracts . filter ( ( x , i ) => idx !== i ) ) ;
@@ -84,7 +98,7 @@ export function useContracts() {
8498
8599 const removeByPath = ( path : string ) => {
86100 setContracts ( ( prevContracts ) =>
87- prevContracts . filter ( ( c ) => c . path !== path ) ,
101+ prevContracts . filter ( ( c ) => c . path !== path )
88102 ) ;
89103 } ;
90104
@@ -94,6 +108,7 @@ export function useContracts() {
94108 removeContractByIdx,
95109 addByAbi,
96110 addByArtifact,
111+ overwriteContract,
97112 upsertByPath,
98113 removeByPath,
99114 selectedIdx,
0 commit comments