1- import React , { useState , useEffect } from 'react' ;
1+ import React , { useState , useEffect , useCallback } from 'react' ;
22import {
33 Card ,
44 CardContent ,
@@ -47,7 +47,7 @@ import {
4747const AuditDashboard = ( ) => {
4848 const [ auditLogs , setAuditLogs ] = useState ( [ ] ) ;
4949 const [ securityEvents , setSecurityEvents ] = useState ( [ ] ) ;
50- const [ userActivities , setUserActivities ] = useState ( [ ] ) ;
50+
5151 const [ dashboardStats , setDashboardStats ] = useState ( null ) ;
5252 const [ loading , setLoading ] = useState ( false ) ;
5353 const [ filters , setFilters ] = useState ( {
@@ -81,7 +81,7 @@ const AuditDashboard = () => {
8181 } ;
8282
8383 // Fetch audit logs
84- const fetchAuditLogs = async ( ) => {
84+ const fetchAuditLogs = useCallback ( async ( ) => {
8585 setLoading ( true ) ;
8686 try {
8787 const params = new URLSearchParams ( ) ;
@@ -115,10 +115,10 @@ const AuditDashboard = () => {
115115 } finally {
116116 setLoading ( false ) ;
117117 }
118- } ;
118+ } , [ filters , toast ] ) ;
119119
120120 // Fetch security events
121- const fetchSecurityEvents = async ( ) => {
121+ const fetchSecurityEvents = useCallback ( async ( ) => {
122122 try {
123123 const params = new URLSearchParams ( ) ;
124124 if ( filters . severity ) params . append ( 'severity' , filters . severity ) ;
@@ -139,7 +139,7 @@ const AuditDashboard = () => {
139139 } catch ( error ) {
140140 console . error ( 'Error fetching security events:' , error ) ;
141141 }
142- } ;
142+ } , [ filters ] ) ;
143143
144144 // Export audit logs
145145 const exportAuditLogs = async ( ) => {
@@ -201,7 +201,7 @@ const AuditDashboard = () => {
201201 } else if ( selectedTab === 'security' ) {
202202 fetchSecurityEvents ( ) ;
203203 }
204- } , [ selectedTab , filters ] ) ;
204+ } , [ selectedTab , filters , fetchAuditLogs , fetchSecurityEvents ] ) ;
205205
206206 const getSeverityColor = ( severity ) => {
207207 switch ( severity ) {
0 commit comments