diff --git a/app/assets/javascripts/search/results/components/app.vue b/app/assets/javascripts/search/results/components/app.vue
index a1342c14a5f..b08b6b01ea8 100644
--- a/app/assets/javascripts/search/results/components/app.vue
+++ b/app/assets/javascripts/search/results/components/app.vue
@@ -32,6 +32,7 @@ export default {
return {
hasError: false,
blobSearch: {},
+ loaded: false,
};
},
apollo: {
@@ -65,6 +66,7 @@ export default {
},
result({ data }) {
this.hasError = false;
+ this.loaded = true;
this.blobSearch = data?.blobSearch;
this.$store.commit(RECEIVE_NAVIGATION_COUNT, {
key: 'blobs',
@@ -74,6 +76,7 @@ export default {
debounce: 500,
error(error) {
logError(error);
+ this.loaded = true;
this.hasError = true;
},
},
@@ -84,6 +87,9 @@ export default {
return this.query?.page ? parseInt(this.query?.page, 10) : 1;
},
isLoading() {
+ if (!this.loaded && !this.$apollo?.queries?.blobSearch?.loading) {
+ return true;
+ }
return this.$apollo.queries.blobSearch.loading;
},
hasResults() {
@@ -98,13 +104,13 @@ export default {
diff --git a/spec/frontend/search/results/components/app_spec.js b/spec/frontend/search/results/components/app_spec.js
index 08b08fa2275..e79b76ec314 100644
--- a/spec/frontend/search/results/components/app_spec.js
+++ b/spec/frontend/search/results/components/app_spec.js
@@ -101,7 +101,7 @@ describe('GlobalSearchResultsApp', () => {
beforeEach(async () => {
createComponent({
initialState: {
- query: { scope: 'blobs' },
+ query: { scope: 'blobs', search: 'foo' },
searchType: 'zoekt',
navigation: MOCK_NAVIGATION_DATA,
},