Experiments in demo-react

main
jaxoncreed 2 years ago
parent 8ce936a901
commit 4d3eabc81e
  1. 40
      packages/demo-react/src/dashboard/Dashboard.tsx
  2. 3
      packages/solid-react/src/BrowserSolidLdoProvider.tsx
  3. 2
      packages/solid-react/src/SolidLdoProvider.tsx
  4. 0
      packages/solid/example/example.ts

@ -1,7 +1,8 @@
import React, { useCallback, useEffect, useMemo } from "react"; import React, { useCallback, useEffect, useMemo } from "react";
import type { FunctionComponent } from "react"; import type { FunctionComponent } from "react";
import { UploadButton } from "./UploadButton"; import { UploadButton } from "./UploadButton";
import { useSolidAuth } from "@ldo/solid-react"; import { useContainerResource, useDataResource, useSolidAuth } from "@ldo/solid-react";
import { AccessRules, ContainerResource } from "@ldo/solid";
export const Dashboard: FunctionComponent = () => { export const Dashboard: FunctionComponent = () => {
const { session } = useSolidAuth(); const { session } = useSolidAuth();
@ -14,18 +15,32 @@ export const Dashboard: FunctionComponent = () => {
return `${rootContainer}demo-ldo/`; return `${rootContainer}demo-ldo/`;
}, [session.webId]); }, [session.webId]);
// const mainContainer = useContainerResource(containerUri); const mainContainer = useDataResource(containerUri);
// useEffect(() => {
// // Upon load check to see if the root folder exists if (mainContainer instanceof AccessRules) {
// mainContainer.checkExists().then(async (doesExist) => { console.log("here");
// // If not, create it }
// if (!doesExist) {
// await mainContainer.create(); useEffect(() => {
// const accessRules = mainContainer.accessRules; // Upon load check to see if the root folder exists
// } mainContainer.checkExists().then(async (doesExist) => {
// }); console.log(doesExist);
// }, [mainContainer]);
const error: DocumentError = await mainContainer.create();
if (error) {
// hanldle
return;
}
// // If not, create it
// if (!doesExist) {
// await mainContainer.create();
// const accessRules = mainContainer.accessRules;
// }
});
}, [mainContainer]);
return ( return (
<div> <div>
@ -33,6 +48,7 @@ export const Dashboard: FunctionComponent = () => {
<UploadButton /> <UploadButton />
</div> </div>
<hr /> <hr />
<div>{mainContainer.isLoading ? "Loading" : "Not Loading"}</div>
</div> </div>
); );
}; };

@ -9,6 +9,7 @@ import {
logout as libraryLogout, logout as libraryLogout,
fetch as libraryFetch, fetch as libraryFetch,
} from "@inrupt/solid-client-authn-browser"; } from "@inrupt/solid-client-authn-browser";
import { SolidLdoProvider } from "./SolidLdoProvider";
const PRE_REDIRECT_URI = "PRE_REDIRECT_URI"; const PRE_REDIRECT_URI = "PRE_REDIRECT_URI";
@ -90,7 +91,7 @@ export const BrowserSolidLdoProvider: FunctionComponent<PropsWithChildren> = ({
return ( return (
<SolidAuthContext.Provider value={solidAuthFunctions}> <SolidAuthContext.Provider value={solidAuthFunctions}>
{children} <SolidLdoProvider>{children}</SolidLdoProvider>
</SolidAuthContext.Provider> </SolidAuthContext.Provider>
); );
}; };

@ -39,6 +39,7 @@ export const SolidLdoProvider: FunctionComponent<SolidLdoProviderProps> = ({
if (curOnDocumentError.current) { if (curOnDocumentError.current) {
ldoDataset.onDocumentError(curOnDocumentError.current); ldoDataset.onDocumentError(curOnDocumentError.current);
} }
console.log("ldodatset1", ldoDataset);
return ldoDataset; return ldoDataset;
}, []); }, []);
@ -58,6 +59,7 @@ export const SolidLdoProvider: FunctionComponent<SolidLdoProviderProps> = ({
} }
}, [onDocumentError]); }, [onDocumentError]);
console.log("ldoDataset 2", solidLdoDataset);
return ( return (
<SolidLdoDatasetReactContext.Provider value={solidLdoDataset}> <SolidLdoDatasetReactContext.Provider value={solidLdoDataset}>
{children} {children}

Loading…
Cancel
Save