35 lines
994 B
TypeScript
35 lines
994 B
TypeScript
import { useDatabase } from "@/app/providers/DatabaseProvider/useDatabase";
|
|
import { useEffect, useState } from "react";
|
|
import { createContext } from "react";
|
|
import { TABLES } from "./tables";
|
|
|
|
export const DatabaseContext = createContext<any>({});
|
|
|
|
interface DatabaseProviderProps {
|
|
children: React.ReactNode;
|
|
}
|
|
|
|
export function DatabaseProvider(props: DatabaseProviderProps) {
|
|
const [initialized, setInitialized] = useState(false);
|
|
const {runQuery} = useDatabase();
|
|
|
|
useEffect(() => {
|
|
(async () => {
|
|
await createAllTables();
|
|
setInitialized(true);
|
|
//await runQuery("DROP TABLE IF EXISTS accounts_sync_times");
|
|
})();
|
|
}, []);
|
|
|
|
const createAllTables = async () => {
|
|
for(let i = 0; i < TABLES.length; i++){
|
|
await runQuery(TABLES[i]);
|
|
}
|
|
}
|
|
|
|
return (
|
|
<DatabaseContext.Provider value={{}}>
|
|
{initialized && props.children}
|
|
</DatabaseContext.Provider>
|
|
);
|
|
} |