diff --git a/next.config.js b/next.config.js index 07e914ab..3bd71dbc 100644 --- a/next.config.js +++ b/next.config.js @@ -9,6 +9,9 @@ module.exports = removeImports({ typescript: { ignoreBuildErrors: true, }, + experimental: { + scrollRestoration: true, + }, webpack: (config) => { config.experiments = { ...config.experiments, topLevelAwait: true }; return config; diff --git a/src/components/navigatorBar/index.tsx b/src/components/navigatorBar/index.tsx index 8cd04bf7..83bbe7b7 100644 --- a/src/components/navigatorBar/index.tsx +++ b/src/components/navigatorBar/index.tsx @@ -12,7 +12,6 @@ export default function NavigatorBar() { return (
- {/* main */}
{/* Create post */}
@@ -66,17 +65,3 @@ export default function NavigatorBar() {
); } - -/* Channels -
-
-

Channels

- -
-
-
-*/ diff --git a/src/components/note/connector.tsx b/src/components/note/connector.tsx index dcea4506..f27da0d4 100644 --- a/src/components/note/connector.tsx +++ b/src/components/note/connector.tsx @@ -6,7 +6,7 @@ import { dateToUnix, hoursAgo } from '@utils/getDate'; import { ReloadIcon } from '@radix-ui/react-icons'; import { useLocalStorage } from '@rehooks/local-storage'; -import { memo, useCallback, useContext, useEffect } from 'react'; +import { memo, useCallback, useContext, useEffect, useRef, useState } from 'react'; export const NoteConnector = memo(function NoteConnector({ setParentReload, @@ -23,6 +23,17 @@ export const NoteConnector = memo(function NoteConnector({ const [follows]: any = useLocalStorage('follows'); const [relays]: any = useLocalStorage('relays'); + const [reload, setReload] = useState(false); + const timeout = useRef(null); + + const reloadNewsfeed = () => { + setParentReload(true); + setReload(true); + timeout.current = setTimeout(() => { + setReload(false); + }, 2000); + }; + const insertDB = useCallback( async (event: any) => { await db.execute( @@ -46,12 +57,12 @@ export const NoteConnector = memo(function NoteConnector({ ], relays, (event: any) => { - // insert event to local database - insertDB(event).catch(console.error); // show trigger update newer event if (event.created_at > dateToUnix(currentDate)) { setHasNewNote(true); } + // insert event to local database + insertDB(event).catch(console.error); }, undefined, (events: any, relayURL: any) => { @@ -62,6 +73,10 @@ export const NoteConnector = memo(function NoteConnector({ useEffect(() => { fetchEvent(); + + return () => { + clearTimeout(timeout.current); + }; }, [fetchEvent]); return ( @@ -70,7 +85,7 @@ export const NoteConnector = memo(function NoteConnector({

# following

-
diff --git a/src/pages/feed/following.tsx b/src/pages/feed/following.tsx index 388e9d91..a47e7518 100644 --- a/src/pages/feed/following.tsx +++ b/src/pages/feed/following.tsx @@ -97,7 +97,7 @@ export default function Page() { endReached={loadMore} overscan={800} increaseViewportBy={1000} - className="scrollbar-hide relative h-full w-full" + className="relative h-full w-full" style={{ contain: 'strict', }}