import { useEffect, useRef, useState } from 'react'; import { proxy } from 'valtio'; import { subscribeKey } from 'valtio/utils'; import { DatabaseLayoutPB } from '@/services/backend'; import { DndContext, DndContextDescriptor } from './_shared'; import { VerticalScrollElementRefContext, DatabaseContext } from './database.context'; import { useViewId, useConnectDatabase } from './database.hooks'; import { DatabaseHeader } from './DatabaseHeader'; import { Grid } from './grid'; export const Database = () => { const viewId = useViewId(); const verticalScrollElementRef = useRef(null); const database = useConnectDatabase(viewId); const [ layoutType, setLayoutType ] = useState(database.layoutType); const dndContext = useRef(proxy({ dragging: null, })); useEffect(() => { return subscribeKey(database, 'layoutType', (value) => { setLayoutType(value); }); }, [database]); return (
{layoutType === DatabaseLayoutPB.Grid ? : null}
); };