@@ -41,6 +41,7 @@ import { VideoCarousel } from "./VideoCarousel";
4141import { WorkspaceEntry } from "./WorkspaceEntry" ;
4242import { WorkspacesSearchBar } from "./WorkspacesSearchBar" ;
4343import { useInstallationConfiguration } from "../data/installation/installation-config-query" ;
44+ import { SkeletonBlock } from "@podkit/loading/Skeleton" ;
4445
4546export const GETTING_STARTED_DISMISSAL_KEY = "workspace-list-getting-started" ;
4647
@@ -133,8 +134,10 @@ const WorkspacesPage: FunctionComponent = () => {
133134 }
134135 } , [ user ?. profile ?. coachmarksDismissals ] ) ;
135136
136- const { data : userSuggestedRepos } = useSuggestedRepositories ( { excludeConfigurations : false } ) ;
137- const { data : orgSuggestedRepos } = useOrgSuggestedRepos ( ) ;
137+ const { data : userSuggestedRepos , isLoading : isUserSuggestedReposLoading } = useSuggestedRepositories ( {
138+ excludeConfigurations : false ,
139+ } ) ;
140+ const { data : orgSuggestedRepos , isLoading : isOrgSuggestedReposLoading } = useOrgSuggestedRepos ( ) ;
138141
139142 const suggestedRepos = useMemo ( ( ) => {
140143 const userSuggestions =
@@ -151,7 +154,7 @@ const WorkspacesPage: FunctionComponent = () => {
151154 } ) ;
152155
153156 return [ ...userSuggestions , ...orgSuggestions ] . slice ( 0 , 3 ) ;
154- } , [ userSuggestedRepos , user , orgSuggestedRepos ] ) ;
157+ } , [ userSuggestedRepos , orgSuggestedRepos , user ?. workspaceAutostartOptions ] ) ;
155158
156159 const toggleGettingStarted = useCallback (
157160 ( show : boolean ) => {
@@ -264,13 +267,23 @@ const WorkspacesPage: FunctionComponent = () => {
264267 </ Card >
265268 </ div >
266269
267- { suggestedRepos . length > 0 && (
270+ { ( suggestedRepos . length > 0 ||
271+ isUserSuggestedReposLoading ||
272+ isOrgSuggestedReposLoading ) && (
268273 < >
269274 < Subheading className = "font-semibold text-pk-content-primary mb-2 app-container" >
270275 Suggested
271276 </ Subheading >
272277
273278 < div className = "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 lg:px-28 px-4" >
279+ { suggestedRepos . length === 0 &&
280+ ( isUserSuggestedReposLoading || isOrgSuggestedReposLoading ) && (
281+ < >
282+ < SkeletonBlock className = "w-full h-24" ready = { false } />
283+ < SkeletonBlock className = "w-full h-24" ready = { false } />
284+ < SkeletonBlock className = "w-full h-24" ready = { false } />
285+ </ >
286+ ) }
274287 { suggestedRepos . map ( ( repo ) => {
275288 const isOrgSuggested =
276289 ( repo as SuggestedOrgRepository ) . orgSuggested ?? false ;
0 commit comments