@@ -40,29 +40,33 @@ export const ListView: React.FC<ListViewProps> = ({
4040 const [ sortOrder , setSortOrder ] = React . useState < 'asc' | 'desc' > ( schema . sort ?. [ 0 ] ?. order || 'asc' ) ;
4141 const [ showFilters , setShowFilters ] = React . useState ( false ) ;
4242
43+ const storageKey = React . useMemo ( ( ) => {
44+ return schema . id
45+ ? `listview-${ schema . objectName } -${ schema . id } -view`
46+ : `listview-${ schema . objectName } -view` ;
47+ } , [ schema . objectName , schema . id ] ) ;
48+
4349 // Load saved view preference
4450 React . useEffect ( ( ) => {
4551 try {
46- const storageKey = `listview-${ schema . objectName } -view` ;
4752 const savedView = localStorage . getItem ( storageKey ) ;
4853 if ( savedView && [ 'grid' , 'list' , 'kanban' , 'calendar' , 'chart' ] . includes ( savedView ) ) {
4954 setCurrentView ( savedView as ViewType ) ;
5055 }
5156 } catch ( error ) {
5257 console . warn ( 'Failed to load view preference from localStorage:' , error ) ;
5358 }
54- } , [ schema . objectName ] ) ;
59+ } , [ storageKey ] ) ;
5560
5661 const handleViewChange = React . useCallback ( ( view : ViewType ) => {
5762 setCurrentView ( view ) ;
5863 try {
59- const storageKey = `listview-${ schema . objectName } -view` ;
6064 localStorage . setItem ( storageKey , view ) ;
6165 } catch ( error ) {
6266 console . warn ( 'Failed to save view preference to localStorage:' , error ) ;
6367 }
6468 onViewChange ?.( view ) ;
65- } , [ schema . objectName , onViewChange ] ) ;
69+ } , [ storageKey , onViewChange ] ) ;
6670
6771 const handleSearchChange = React . useCallback ( ( value : string ) => {
6872 setSearchTerm ( value ) ;
0 commit comments