mirror of
https://github.com/smolgrrr/TAO.git
synced 2024-09-20 01:11:25 +00:00
Merge pull request #16 from smolgrrr/notifications
better namefag filtering
This commit is contained in:
commit
c1986b48c8
@ -32,7 +32,12 @@ const NewNoteCard = ({
|
||||
const [file, setFile] = useState("");
|
||||
const [unsigned, setUnsigned] = useState<UnsignedEvent>({
|
||||
kind: 1,
|
||||
tags: [],
|
||||
tags: [
|
||||
[
|
||||
"client",
|
||||
"getwired.app"
|
||||
]
|
||||
],
|
||||
content: "",
|
||||
created_at: Math.floor(Date.now() / 1000),
|
||||
pubkey: "",
|
||||
|
@ -19,6 +19,7 @@ const RepostNote = ({
|
||||
const [unsigned] = useState<UnsignedEvent>({
|
||||
kind: 6,
|
||||
tags: [
|
||||
['client', 'getwired.app'],
|
||||
['e', refEvent.id, 'wss://relay.damus.io'],
|
||||
['p', refEvent.pubkey]
|
||||
],
|
||||
|
@ -32,22 +32,37 @@ const Home = () => {
|
||||
const filterDifficulty = localStorage.getItem("filterDifficulty") || DEFAULT_DIFFICULTY;
|
||||
const [sortByTime, setSortByTime] = useState<boolean>(localStorage.getItem('sortBy') !== 'false');
|
||||
const [setAnon, setSetAnon] = useState<boolean>(localStorage.getItem('anonMode') !== 'false');
|
||||
const { noteEvents, metadataEvents } = useUniqEvents();
|
||||
const {noteEvents, metadataEvents } = useUniqEvents();
|
||||
const [delayedSort, setDelayedSort] = useState(false)
|
||||
|
||||
const postEvents = noteEvents
|
||||
const postEvents: Event[] = noteEvents
|
||||
.filter((event) =>
|
||||
verifyPow(event) >= Number(filterDifficulty) &&
|
||||
event.kind !== 0 &&
|
||||
(event.kind !== 1 || !event.tags.some((tag) => tag[0] === "e"))
|
||||
)
|
||||
|
||||
const sortedEvents = [...postEvents]
|
||||
// Delayed filtering
|
||||
useEffect(() => {
|
||||
const timer = setTimeout(() => {
|
||||
setDelayedSort(true);
|
||||
}, 3000);
|
||||
|
||||
return () => clearTimeout(timer);
|
||||
}, []);
|
||||
|
||||
let sortedEvents = [...postEvents]
|
||||
.sort((a, b) =>
|
||||
sortByTime ? b.created_at - a.created_at : verifyPow(b) - verifyPow(a)
|
||||
)
|
||||
.filter(
|
||||
!setAnon ? (e) => !metadataEvents.some((metadataEvent) => metadataEvent.pubkey === e.pubkey) : () => true
|
||||
);
|
||||
|
||||
if (delayedSort) {
|
||||
sortedEvents = sortedEvents.filter(
|
||||
!setAnon ? (e) => !metadataEvents.some((metadataEvent) => metadataEvent.pubkey === e.pubkey) : () => true
|
||||
);
|
||||
} else {
|
||||
sortedEvents = sortedEvents.filter((e) => setAnon || e.tags.some((tag) => tag[0] === "client" && tag[1] === 'getwired.app'));
|
||||
}
|
||||
|
||||
const toggleSort = useCallback(() => {
|
||||
setSortByTime(prev => {
|
||||
|
Loading…
Reference in New Issue
Block a user