diff --git a/packages/web/src/app/search/components/filterPanel/entry.tsx b/packages/web/src/app/search/components/filterPanel/entry.tsx
index bc6f7460..04064883 100644
--- a/packages/web/src/app/search/components/filterPanel/entry.tsx
+++ b/packages/web/src/app/search/components/filterPanel/entry.tsx
@@ -25,10 +25,14 @@ export const Entry = ({
},
onClicked,
}: EntryProps) => {
-
+ let countText = count.toString();
+ if (count > 999) {
+ countText = "999+";
+ }
return (
onClicked()}
>
-
+
{Icon ? Icon : (
)}
-
{displayName}
+
{displayName}
+
+
+ {countText}
-
{count}
);
}
@@ -53,4 +59,4 @@ export const compareEntries = (a: Entry, b: Entry) => {
}
return a.count - b.count;
-}
\ No newline at end of file
+}
diff --git a/packages/web/src/app/search/components/filterPanel/filter.tsx b/packages/web/src/app/search/components/filterPanel/filter.tsx
index 0faacbca..a791353e 100644
--- a/packages/web/src/app/search/components/filterPanel/filter.tsx
+++ b/packages/web/src/app/search/components/filterPanel/filter.tsx
@@ -5,12 +5,14 @@ import { compareEntries, Entry } from "./entry";
import { Input } from "@/components/ui/input";
import { ScrollArea } from "@/components/ui/scroll-area";
import Fuse from "fuse.js";
+import { cn } from "@/lib/utils"
interface FilterProps {
title: string,
searchPlaceholder: string,
entries: Entry[],
onEntryClicked: (key: string) => void,
+ className?: string,
}
export const Filter = ({
@@ -18,6 +20,7 @@ export const Filter = ({
searchPlaceholder,
entries,
onEntryClicked,
+ className,
}: FilterProps) => {
const [searchFilter, setSearchFilter] = useState
("");
@@ -36,7 +39,10 @@ export const Filter = ({
}, [entries, searchFilter]);
return (
-
+
{title}
setSearchFilter(event.target.value)}
/>
-
+
{filteredEntries
.sort((entryA, entryB) => compareEntries(entryB, entryA))
@@ -63,4 +67,4 @@ export const Filter = ({
)
-}
\ No newline at end of file
+}
diff --git a/packages/web/src/app/search/components/filterPanel/index.tsx b/packages/web/src/app/search/components/filterPanel/index.tsx
index 635fab51..8a097b8e 100644
--- a/packages/web/src/app/search/components/filterPanel/index.tsx
+++ b/packages/web/src/app/search/components/filterPanel/index.tsx
@@ -118,22 +118,23 @@ export const FilterPanel = ({
onFilterChanged(filteredMatches);
}, [matches, repos, languages, onFilterChanged]);
+ const numRepos = Object.keys(repos).length > 100 ? '100+' : Object.keys(repos).length;
+ const numLanguages = Object.keys(languages).length > 100 ? '100+' : Object.keys(languages).length;
return (
-
-
Filter Results
-
+
onEntryClicked(key, setRepos)}
+ className="max-h-[50%]"
/>
-
onEntryClicked(key, setLanguages)}
+ className="overflow-auto"
/>
)
@@ -167,4 +168,4 @@ const aggregateMatches = (
aggregation[key].count += 1;
return aggregation;
}, {} as Record
)
-}
\ No newline at end of file
+}
diff --git a/packages/web/src/app/search/page.tsx b/packages/web/src/app/search/page.tsx
index 3a2bb5f1..e8963e82 100644
--- a/packages/web/src/app/search/page.tsx
+++ b/packages/web/src/app/search/page.tsx
@@ -286,6 +286,7 @@ const PanelGroup = ({
return (
{/* ~~ Filter panel ~~ */}
)
-}
\ No newline at end of file
+}
diff --git a/packages/web/src/components/ui/resizable.tsx b/packages/web/src/components/ui/resizable.tsx
index f4bc5586..63972c6e 100644
--- a/packages/web/src/components/ui/resizable.tsx
+++ b/packages/web/src/components/ui/resizable.tsx
@@ -29,7 +29,10 @@ const ResizableHandle = ({
}) => (
div]:rotate-90",
+ "relative flex w-px items-center justify-center bg-border",
+ "after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2",
+ "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1",
+ "data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",
className
)}
{...props}