Skip to content

Commit

Permalink
fix: remove filter prefetch and additional filters when searching by …
Browse files Browse the repository at this point in the history
…repository (#3247)
  • Loading branch information
brandonroberts committed Apr 29, 2024
1 parent dd62ef4 commit 59eb8cc
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import React, { useEffect, useRef, useState } from "react";
import ContextFilterButton from "components/atoms/ContextFilterButton/context-filter-button";
import cancelIcon from "img/x-circle.svg";
import Radio from "components/atoms/Radio/radio";
import humanizeNumber from "lib/utils/humanizeNumber";
import getFilterKey from "lib/utils/get-filter-key";
import Icon from "../../atoms/Icon/icon";

Expand Down Expand Up @@ -75,11 +74,9 @@ const SuperativeSelector: React.FC<SuperlativeSelectorProps> = ({
{filterOptions.length > 0 &&
filterOptions.map((option, index) => {
const filterKey = getFilterKey(option);
const filterValue = filterValues[filterKey];

return (
<Radio
withLabel={filterValue ? humanizeNumber(filterValue, "abbreviation") : "-"}
key={index}
onClick={() => {
handleFilterClick(filterKey);
Expand Down
3 changes: 2 additions & 1 deletion lib/hooks/api/useContributors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,9 @@ const useContributors = (limit = 10, repoIds: number[] = []) => {
query.set("repoIds", repoIds.join(","));
}

if (query.get("repos")) {
if (query.get("repo")) {
query.delete("topic");
query.set("repos", query.get("repo")!);
}

query.set("range", `${range ?? 30}`);
Expand Down
1 change: 1 addition & 0 deletions lib/hooks/api/useRepositoryPullRequests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ const useRepositoryPullRequests = ({

if (query.get("repo")) {
query.delete("topic");
query.delete("filter");
}

query.set("page", "1");
Expand Down
31 changes: 6 additions & 25 deletions lib/hooks/useFilterPrefetch.ts
Original file line number Diff line number Diff line change
@@ -1,43 +1,24 @@
import { useRouter } from "next/router";
import { useEffect, useState } from "react";
import { useSWRConfig } from "swr";
import getFilterKey from "lib/utils/get-filter-key";
import { publicApiFetcher } from "lib/utils/public-api-fetcher";
import useFilterOptions from "./useFilterOptions";

type FilterValues = { [name: string]: number | undefined };

const useFilterPrefetch = () => {
const router = useRouter();
const { mutate } = useSWRConfig();
const filterOptions = useFilterOptions();
const [filterValues, setFilterValues] = useState<FilterValues>({});
const { pageId: topic } = router.query;

useEffect(() => {
if (topic) {
filterOptions.forEach(async (filterName) => {
const filterKey = getFilterKey(filterName);
const url = `repos/search?topic=${topic}&filter=${filterKey}&page=1`;

try {
// @ts-ignore
const result: { meta: Meta } = await mutate(url, publicApiFetcher(url));

setFilterValues((values) => {
return {
...values,
[filterKey]: result.meta.itemCount,
};
});
} catch (e) {
setFilterValues((values) => {
return {
...values,
[filterKey]: undefined,
};
});
}
setFilterValues((values) => {
return {
...values,
[filterName]: 0,
};
});
});
}
}, [topic]);
Expand Down

0 comments on commit 59eb8cc

Please sign in to comment.