parent
5acfea4c43
commit
c0c8eb6afb
@ -0,0 +1,34 @@ |
|||||||
|
import { |
||||||
|
useLdo, |
||||||
|
useResource, |
||||||
|
useSolidAuth, |
||||||
|
useSubject, |
||||||
|
} from "@ldo/solid-react"; |
||||||
|
import type { ChangeEvent } from "react"; |
||||||
|
import React, { useCallback, type FunctionComponent } from "react"; |
||||||
|
import { SolidProfileShapeShapeType } from "../.ldo/solidProfile.shapeTypes"; |
||||||
|
|
||||||
|
export const Profile: FunctionComponent = () => { |
||||||
|
const { session } = useSolidAuth(); |
||||||
|
const profile = useSubject(SolidProfileShapeShapeType, session.webId); |
||||||
|
const webIdResource = useResource(session.webId); |
||||||
|
const { changeData, commitData } = useLdo(); |
||||||
|
|
||||||
|
const onNameChange = useCallback( |
||||||
|
async (e: ChangeEvent<HTMLInputElement>) => { |
||||||
|
if (profile && webIdResource) { |
||||||
|
const cProfile = changeData(profile, webIdResource); |
||||||
|
cProfile.fn = e.target.value; |
||||||
|
await commitData(cProfile); |
||||||
|
} |
||||||
|
}, |
||||||
|
[profile, webIdResource], |
||||||
|
); |
||||||
|
|
||||||
|
return ( |
||||||
|
<> |
||||||
|
<label>Name</label> |
||||||
|
<input type="text" value={profile?.fn || ""} onChange={onNameChange} /> |
||||||
|
</> |
||||||
|
); |
||||||
|
}; |
Loading…
Reference in new issue