@@ -76,12 +76,20 @@ export default function RepoProjectStructure() {
76
76
const inputRef = useRef < HTMLInputElement > ( null ) ;
77
77
const treeRef = useRef < HTMLDivElement > ( null ) ;
78
78
79
- const [ customizationOptions , setCustomizationOptions ] =
80
- useState < TreeCustomizationOptions > ( {
81
- asciiStyle : 'basic' ,
82
- useIcons : false ,
83
- showLineNumbers : false ,
84
- } ) ;
79
+ const [ customizationOptions , setCustomizationOptions ] = useState < TreeCustomizationOptions > ( ( ) => {
80
+ const savedOptions = localStorage . getItem ( 'customizationOptions' ) ;
81
+ return savedOptions
82
+ ? JSON . parse ( savedOptions )
83
+ : {
84
+ asciiStyle : 'basic' ,
85
+ useIcons : false ,
86
+ showLineNumbers : false ,
87
+ } ;
88
+ } ) ;
89
+
90
+ useEffect ( ( ) => {
91
+ localStorage . setItem ( 'customizationOptions' , JSON . stringify ( customizationOptions ) ) ;
92
+ } , [ customizationOptions ] ) ;
85
93
86
94
const handleUrlChange = useCallback (
87
95
( e : React . ChangeEvent < HTMLInputElement > ) => {
@@ -258,14 +266,13 @@ export default function RepoProjectStructure() {
258
266
saveAs ( new Blob ( [ content ] , { type : mimeType } ) , fileName ) ;
259
267
} , [ downloadFormat , customizedStructure , filteredStructureMap ] ) ;
260
268
261
- const handleCustomizationChange = (
262
- newOptions : Partial < TreeCustomizationOptions > ,
263
- ) => {
264
- setCustomizationOptions ( ( prevOptions : TreeCustomizationOptions ) => ( {
265
- ...prevOptions ,
266
- ...newOptions ,
267
- } ) ) ;
268
- } ;
269
+ const handleCustomizationChange = useCallback ( ( newOptions : Partial < TreeCustomizationOptions > ) => {
270
+ setCustomizationOptions ( ( prevOptions ) => {
271
+ const updatedOptions = { ...prevOptions , ...newOptions } ;
272
+ localStorage . setItem ( 'customizationOptions' , JSON . stringify ( updatedOptions ) ) ;
273
+ return updatedOptions ;
274
+ } ) ;
275
+ } , [ ] ) ;
269
276
270
277
const noStructureMessage = `No structure generated yet. Enter a ${ repoType === 'github' ? 'GitHub' : 'GitLab' } URL and click Generate.` ;
271
278
const noResultsMessage = useCallback (
0 commit comments