@@ -3,6 +3,7 @@ import { useMemo, useState } from 'react';
33import { useLocation , useParams } from 'react-router-dom' ;
44import AdminPage from '../../components/admin-page' ;
55import OnboardingPopover from '../../components/onboarding-popover' ;
6+ import useHistoryQuery from '../../data/scan/use-history-query' ;
67import useScanStatusQuery , { isScanInProgress } from '../../data/scan/use-scan-status-query' ;
78import useAnalyticsTracks from '../../hooks/use-analytics-tracks' ;
89import { OnboardingContext } from '../../hooks/use-onboarding' ;
@@ -24,6 +25,7 @@ const ScanPage = () => {
2425 const location = useLocation ( ) ;
2526 const { filter } = useParams ( ) ;
2627 const { data : status } = useScanStatusQuery ( { usePolling : true } ) ;
28+ const { data : history } = useHistoryQuery ( ) ;
2729
2830 const [ scanResultsAnchor , setScanResultsAnchor ] = useState ( null ) ;
2931
@@ -36,6 +38,9 @@ const ScanPage = () => {
3638 currentScanStatus = 'active' ;
3739 }
3840
41+ const hasHistory = history && history . threats . length ;
42+ const showResults = status . lastChecked || isScanInProgress ( status ) || hasHistory ;
43+
3944 const filters = useMemo ( ( ) => {
4045 if ( location . pathname . includes ( '/scan/history' ) ) {
4146 return [
@@ -68,34 +73,36 @@ const ScanPage = () => {
6873 return (
6974 < OnboardingContext . Provider value = { onboardingSteps } >
7075 < AdminPage >
71- < ScanAdminSectionHero />
72- < AdminSection >
73- < Container
74- className = { styles [ 'scan-results-container' ] }
75- horizontalSpacing = { 5 }
76- horizontalGap = { 4 }
77- >
78- < Col >
79- < div ref = { setScanResultsAnchor } >
80- < ScanResultsDataView filters = { filters } />
81- </ div >
82- { ! ! status && ! isScanInProgress ( status ) && (
83- < OnboardingPopover
84- id = { hasPlan ? 'paid-scan-results' : 'free-scan-results' }
85- anchor = { scanResultsAnchor }
86- position = { 'top' }
87- />
88- ) }
89- { ! ! status && ! isScanInProgress ( status ) && hasPlan && (
90- < OnboardingPopover
91- id = { 'paid-understand-severity' }
92- anchor = { scanResultsAnchor }
93- position = { 'top' }
94- />
95- ) }
96- </ Col >
97- </ Container >
98- </ AdminSection >
76+ < ScanAdminSectionHero size = { showResults ? 'normal' : 'large' } />
77+ { showResults && (
78+ < AdminSection >
79+ < Container
80+ className = { styles [ 'scan-results-container' ] }
81+ horizontalSpacing = { 5 }
82+ horizontalGap = { 4 }
83+ >
84+ < Col >
85+ < div ref = { setScanResultsAnchor } >
86+ < ScanResultsDataView filters = { filters } />
87+ </ div >
88+ { ! ! status && ! isScanInProgress ( status ) && (
89+ < OnboardingPopover
90+ id = { hasPlan ? 'paid-scan-results' : 'free-scan-results' }
91+ anchor = { scanResultsAnchor }
92+ position = { 'top' }
93+ />
94+ ) }
95+ { ! ! status && ! isScanInProgress ( status ) && hasPlan && (
96+ < OnboardingPopover
97+ id = { 'paid-understand-severity' }
98+ anchor = { scanResultsAnchor }
99+ position = { 'top' }
100+ />
101+ ) }
102+ </ Col >
103+ </ Container >
104+ </ AdminSection >
105+ ) }
99106 </ AdminPage >
100107 </ OnboardingContext . Provider >
101108 ) ;
0 commit comments