From cb2e198d89dfb86a81fff8e11eac531b658e9ef2 Mon Sep 17 00:00:00 2001
From: Eugen Rochko <eugen@zeonfederated.com>
Date: Sun, 27 Feb 2022 07:37:07 +0100
Subject: [PATCH] Fix not showing loading indicator when searching in web UI
 (#17655)

---
 app/javascript/mastodon/features/explore/results.js | 2 +-
 app/javascript/mastodon/reducers/search.js          | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/app/javascript/mastodon/features/explore/results.js b/app/javascript/mastodon/features/explore/results.js
index 27e8aaa4f2..ff900de089 100644
--- a/app/javascript/mastodon/features/explore/results.js
+++ b/app/javascript/mastodon/features/explore/results.js
@@ -104,7 +104,7 @@ class Results extends React.PureComponent {
         </div>
 
         <div className='explore__search-results'>
-          {isLoading ? (<LoadingIndicator />) : filteredResults}
+          {isLoading ? <LoadingIndicator /> : filteredResults}
         </div>
       </React.Fragment>
     );
diff --git a/app/javascript/mastodon/reducers/search.js b/app/javascript/mastodon/reducers/search.js
index 23bbe4d995..7dceac6b93 100644
--- a/app/javascript/mastodon/reducers/search.js
+++ b/app/javascript/mastodon/reducers/search.js
@@ -41,7 +41,10 @@ export default function search(state = initialState, action) {
   case COMPOSE_DIRECT:
     return state.set('hidden', true);
   case SEARCH_FETCH_REQUEST:
-    return state.set('isLoading', true);
+    return state.withMutations(map => {
+      map.set('isLoading', true);
+      map.set('submitted', true);
+    });
   case SEARCH_FETCH_FAIL:
     return state.set('isLoading', false);
   case SEARCH_FETCH_SUCCESS:
@@ -52,7 +55,6 @@ export default function search(state = initialState, action) {
         hashtags: fromJS(action.results.hashtags),
       }));
 
-      map.set('submitted', true);
       map.set('searchTerm', action.searchTerm);
       map.set('isLoading', false);
     });
-- 
GitLab