feat: Allow filtering searches by 'source'

fix: Do not show API searches in recent list in app
This commit is contained in:
Tom Moor
2023-12-27 16:56:27 -05:00
parent 820e4839d5
commit 551f569896
8 changed files with 65 additions and 20 deletions

View File

@@ -11,7 +11,9 @@ export default function SearchActions() {
React.useEffect(() => {
if (!searches.isLoaded) {
void searches.fetchPage({});
void searches.fetchPage({
source: "app",
});
}
}, [searches]);

View File

@@ -4,10 +4,16 @@ import Model from "./base/Model";
class SearchQuery extends Model {
static modelName = "Search";
id: string;
/**
* The query string, automatically truncated to 255 characters.
*/
query: string;
/**
* Where the query originated.
*/
source: "api" | "app" | "slack";
delete = async () => {
this.isSaving = true;

View File

@@ -28,7 +28,9 @@ function RecentSearches(
const [isPreloaded] = React.useState(searches.recent.length > 0);
React.useEffect(() => {
void searches.fetchPage({});
void searches.fetchPage({
source: "app",
});
}, [searches]);
const content = searches.recent.length ? (

View File

@@ -13,6 +13,8 @@ export default class SearchesStore extends Store<SearchQuery> {
@computed
get recent(): SearchQuery[] {
return uniqBy(this.orderedData, "query").slice(0, 8);
return uniqBy(this.orderedData, "query")
.filter((search) => search.source === "app")
.slice(0, 8);
}
}