diff --git a/client/src/components/Thread/Thread.tsx b/client/src/components/Thread/Thread.tsx
index ab0719c..21f83a7 100644
--- a/client/src/components/Thread/Thread.tsx
+++ b/client/src/components/Thread/Thread.tsx
@@ -23,7 +23,8 @@ const Thread = () => {
const [postType, setPostType] = useState("");
const [hasRun, setHasRun] = useState(false);
const [preOPEvents, setPreOPEvents] = useState(['']);
- const [sortByPoW, setSortByPoW] = useState(false);
+ const [sortByTime, setSortByTime] = useState(true);
+ const [filterDifficulty, setFilterDifficulty] = useState(localStorage.getItem("filterDifficulty") || "20");
// Define your callback function for subGlobalFeed
const onEvent = (event: Event, relay: string) => {
@@ -79,16 +80,20 @@ const Thread = () => {
)
.sort((a, b) => (b.created_at as any) - (a.created_at as any));
- const toggleSort = () => {
- setSortByPoW(prev => !prev);
- };
+ const toggleSort = () => {
+ setSortByTime(prev => !prev);
+ };
- const eventsSortedByTime = [...uniqEvents].slice(1).sort((a, b) => a.created_at - b.created_at);
+ const eventsSortedByTime = [...uniqEvents].slice(1).filter(event => event.kind === 1).sort((a, b) => a.created_at - b.created_at);
- // Events sorted by PoW (assuming `getPow` returns a numerical representation of the PoW)
- const eventsSortedByPow = [...uniqEvents].slice(1).sort((a, b) => getPow(b.id) - getPow(a.id));
-
- const displayedEvents = sortByPoW ? eventsSortedByPow : eventsSortedByTime;
+ // Events sorted by PoW (assuming `getPow` returns a numerical representation of the PoW)
+ const eventsSortedByPow = [...uniqEvents].slice(1)
+ .filter((event) =>
+ getPow(event.id) > Number(filterDifficulty) &&
+ event.kind === 1
+ ).sort((a, b) => getPow(b.id) - getPow(a.id));
+
+ const displayedEvents = sortByTime ? eventsSortedByTime : eventsSortedByPow;
if (!uniqEvents[0]) {
return (
@@ -145,31 +150,31 @@ const Thread = () => {