diff --git a/web/src/components/overlay/detail/SearchDetailDialog.tsx b/web/src/components/overlay/detail/SearchDetailDialog.tsx
index 1ff784e6d..f158df329 100644
--- a/web/src/components/overlay/detail/SearchDetailDialog.tsx
+++ b/web/src/components/overlay/detail/SearchDetailDialog.tsx
@@ -655,7 +655,9 @@ function ObjectSnapshotTab({
onSubmitToPlus(false);
}}
>
- This is a {search?.label}
+ This is{" "}
+ {/^[aeiou]/i.test(search?.label || "") ? "an" : "a"}{" "}
+ {search?.label}
>
)}
diff --git a/web/src/components/overlay/dialog/FrigatePlusDialog.tsx b/web/src/components/overlay/dialog/FrigatePlusDialog.tsx
index 18ada20fc..e98a4164a 100644
--- a/web/src/components/overlay/dialog/FrigatePlusDialog.tsx
+++ b/web/src/components/overlay/dialog/FrigatePlusDialog.tsx
@@ -144,7 +144,8 @@ export function FrigatePlusDialog({
onSubmitToPlus(false);
}}
>
- This is a {upload?.label}
+ This is {/^[aeiou]/i.test(upload?.label || "") ? "an" : "a"}{" "}
+ {upload?.label}
>
)}
diff --git a/web/src/pages/Explore.tsx b/web/src/pages/Explore.tsx
index 8989c7b05..9f80241c1 100644
--- a/web/src/pages/Explore.tsx
+++ b/web/src/pages/Explore.tsx
@@ -428,7 +428,9 @@ export default function Explore() {
searchTerm={searchTerm}
searchFilter={searchFilter}
searchResults={searchResults}
- isLoading={(isLoadingInitialData || isLoadingMore) ?? true}
+ isLoading={
+ (isLoadingInitialData || isLoadingMore || isValidating) ?? true
+ }
hasMore={!isReachingEnd}
columns={gridColumns}
defaultView={defaultView}
diff --git a/web/src/views/search/SearchView.tsx b/web/src/views/search/SearchView.tsx
index 4d81a40f7..cf6640f18 100644
--- a/web/src/views/search/SearchView.tsx
+++ b/web/src/views/search/SearchView.tsx
@@ -397,11 +397,10 @@ export default function SearchView({
)}
- {uniqueResults?.length == 0 &&
- isLoading &&
+ {isLoading &&
(searchTerm ||
(searchFilter && Object.keys(searchFilter).length !== 0)) && (
-
+
)}
{uniqueResults && (