fixed duplicate connection

This commit is contained in:
Ren Amamiya
2023-03-01 21:19:31 +07:00
parent 458f826958
commit 3b78123939
8 changed files with 31 additions and 52 deletions

View File

@@ -7,20 +7,22 @@ import { Placeholder } from '@components/note/placeholder';
import { Repost } from '@components/note/repost';
import { Single } from '@components/note/single';
import { useLocalStorage, writeStorage } from '@rehooks/local-storage';
import { useCallback } from 'react';
import { JSXElementConstructor, ReactElement, ReactFragment, ReactPortal, useContext, useEffect, useRef, useState } from 'react';
import { JSXElementConstructor, ReactElement, ReactFragment, ReactPortal, useContext, useEffect, useRef } from 'react';
import { Virtuoso } from 'react-virtuoso';
export default function Page() {
const db: any = useContext(DatabaseContext);
const [data, setData] = useState(() => []);
const { db }: any = useContext(DatabaseContext);
const [data]: any = useLocalStorage('notes');
const limit = useRef(30);
const offset = useRef(0);
useEffect(() => {
const getData = async () => {
const result = await db.select(`SELECT * FROM cache_notes ORDER BY created_at DESC LIMIT ${limit.current}`);
setData(result);
writeStorage('notes', result);
};
getData().catch(console.error);
@@ -30,7 +32,7 @@ export default function Page() {
offset.current += limit.current;
// next query
const result = await db.select(`SELECT * FROM cache_notes ORDER BY created_at DESC LIMIT ${limit.current} OFFSET ${offset.current}`);
setData((data) => [...data, ...result]);
writeStorage('notes', (data) => [...data, ...result]);
}, [db]);
const ItemContent = useCallback(

View File

@@ -15,7 +15,6 @@ export default function Page() {
const [loading, setLoading] = useState(true);
useEffect(() => {
console.log(currentUser);
if (!currentUser) {
setTimeout(() => {
setLoading(false);

View File

@@ -53,7 +53,6 @@ export default function Page() {
// save account to database
const db = await Database.load('sqlite:lume.db');
await db.execute(`UPDATE accounts SET metadata = '${JSON.stringify(data)}' WHERE pubkey = "${currentUser.pubkey}"`);
await db.close();
// set currentUser in global state
currentUser.set({