@@ -31,6 +31,7 @@ export const Analytics = ({ onBack }: AnalyticsProps) => {
3131 const { t } = useTranslation ( ) ;
3232 const [ analytics , setAnalytics ] = useState < SystemAnalytics | null > ( null ) ;
3333 const [ loading , setLoading ] = useState ( true ) ;
34+ const [ loadingPermissions , setLoadingPermissions ] = useState ( true ) ;
3435 const [ selectedApp , setSelectedApp ] = useState < InstalledAppInfo | null > ( null ) ;
3536 const [ permissionFilter , setPermissionFilter ] = useState < string | null > ( null ) ;
3637
@@ -79,10 +80,12 @@ export const Analytics = ({ onBack }: AnalyticsProps) => {
7980 ) ;
8081
8182 if ( hasPermissions || installedAppsInfo . length === 0 ) {
83+ setLoadingPermissions ( false ) ;
8284 return ; // Already loaded or no apps
8385 }
8486
8587 try {
88+ setLoadingPermissions ( true ) ;
8689 // Step 1: Try to get cached permissions from SQLite
8790 const cachedPermissions = await dbCacheManager . getCachedPermissionsBatch (
8891 installedAppsInfo . map ( ( app ) => ( {
@@ -146,6 +149,8 @@ export const Analytics = ({ onBack }: AnalyticsProps) => {
146149 }
147150 } catch ( error ) {
148151 console . error ( "Error loading permissions:" , error ) ;
152+ } finally {
153+ setLoadingPermissions ( false ) ;
149154 }
150155 } , [ installedAppsInfo , setInstalledAppsInfo ] ) ;
151156
@@ -282,7 +287,7 @@ export const Analytics = ({ onBack }: AnalyticsProps) => {
282287 >
283288 < DataCube
284289 installedApps = { installedAppsInfo }
285- loading = { loading }
290+ loading = { loading || loadingPermissions }
286291 onAppSelect = { setSelectedApp }
287292 onPermissionFilterChange = { setPermissionFilter }
288293 selectedApp = { selectedApp }
@@ -294,7 +299,7 @@ export const Analytics = ({ onBack }: AnalyticsProps) => {
294299 < SystemTerminal
295300 selectedApp = { selectedApp }
296301 totalApps = { installedAppsInfo . length }
297- loading = { loading }
302+ loading = { loading || loadingPermissions }
298303 permissionFilter = { permissionFilter }
299304 installedApps = { installedAppsInfo }
300305 onAppSelect = { setSelectedApp }
0 commit comments