mirror of
https://github.com/luminous-devs/lume.git
synced 2024-09-19 19:46:34 +00:00
updated following page use relaypool (temp)
This commit is contained in:
parent
f2638c3aba
commit
a5b116dae0
@ -2,59 +2,43 @@
|
|||||||
import BaseLayout from '@layouts/baseLayout';
|
import BaseLayout from '@layouts/baseLayout';
|
||||||
import NewsFeedLayout from '@layouts/newsfeedLayout';
|
import NewsFeedLayout from '@layouts/newsfeedLayout';
|
||||||
|
|
||||||
|
import { DatabaseContext } from '@components/contexts/database';
|
||||||
import { RelayContext } from '@components/contexts/relay';
|
import { RelayContext } from '@components/contexts/relay';
|
||||||
|
import { Placeholder } from '@components/note/placeholder';
|
||||||
|
import { Thread } from '@components/thread';
|
||||||
|
|
||||||
import { hoursAgo } from '@utils/getDate';
|
import { hoursAgo } from '@utils/getDate';
|
||||||
|
|
||||||
import { currentUser } from '@stores/currentUser';
|
|
||||||
import { follows } from '@stores/follows';
|
import { follows } from '@stores/follows';
|
||||||
import { relays } from '@stores/relays';
|
import { relays } from '@stores/relays';
|
||||||
|
|
||||||
import { useStore } from '@nanostores/react';
|
import { useStore } from '@nanostores/react';
|
||||||
import { dateToUnix } from 'nostr-react';
|
import { dateToUnix } from 'nostr-react';
|
||||||
import { JSXElementConstructor, ReactElement, ReactFragment, ReactPortal, useContext, useEffect, useRef } from 'react';
|
import { JSXElementConstructor, ReactElement, ReactFragment, ReactPortal, Suspense, useContext, useEffect, useRef, useState } from 'react';
|
||||||
|
|
||||||
export default function Page() {
|
export default function Page() {
|
||||||
|
const db: any = useContext(DatabaseContext);
|
||||||
const relayPool: any = useContext(RelayContext);
|
const relayPool: any = useContext(RelayContext);
|
||||||
|
|
||||||
const now = useRef(new Date());
|
const now = useRef(new Date());
|
||||||
|
|
||||||
const $follows = useStore(follows);
|
const $follows = useStore(follows);
|
||||||
const $relays = useStore(relays);
|
const $relays = useStore(relays);
|
||||||
const $currentUser = useStore(currentUser);
|
|
||||||
|
const [events, setEvents] = useState([]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const unsub = relayPool.subscribe(
|
const unsub = relayPool.subscribe(
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
kinds: [0, 1, 3, 5, 7],
|
kinds: [1],
|
||||||
authors: $follows,
|
authors: $follows,
|
||||||
since: dateToUnix(hoursAgo(12, now.current)),
|
since: dateToUnix(hoursAgo(12, now.current)),
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
$relays,
|
$relays,
|
||||||
async (event: any) => {
|
async (event: any) => {
|
||||||
switch (event.kind) {
|
setEvents((events) => [event, ...events]);
|
||||||
case 0:
|
|
||||||
//await db.execute(`INSERT OR IGNORE INTO cache_profiles (id, metadata) VALUES ("${event.pubkey}", '${JSON.stringify(event.content)}')`);
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
//await db.execute(`INSERT OR IGNORE INTO follows (pubkey, account, kind) VALUES ("${event.pubkey}", "${$currentUser.pubkey}", "1")`);
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
case 5:
|
|
||||||
case 7:
|
|
||||||
/*
|
|
||||||
const isMulti = event.tags.length > 0;
|
|
||||||
await db.execute(
|
|
||||||
`INSERT OR IGNORE INTO cache_notes (id, note, kind, is_multi) VALUES ("${event.pubkey}", '${JSON.stringify(event)}', "${
|
|
||||||
event.kind
|
|
||||||
}", "${isMulti}")`
|
|
||||||
);
|
|
||||||
*/
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
undefined,
|
undefined,
|
||||||
(events: any, relayURL: any) => {
|
(events: any, relayURL: any) => {
|
||||||
@ -63,9 +47,15 @@ export default function Page() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
return () => unsub();
|
return () => unsub();
|
||||||
}, [$currentUser.pubkey, $follows, $relays, relayPool]);
|
}, [$follows, $relays, db, relayPool]);
|
||||||
|
|
||||||
return <div className="h-full w-full"></div>;
|
return (
|
||||||
|
<div className="h-full w-full">
|
||||||
|
<Suspense fallback={<Placeholder />}>
|
||||||
|
<Thread data={events} />
|
||||||
|
</Suspense>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Page.getLayout = function getLayout(
|
Page.getLayout = function getLayout(
|
||||||
|
Loading…
Reference in New Issue
Block a user