import { useEffect, useState } from "react";
import { useEntity, useEntityMutate, useEntityQuery } from "ui/client/api/use-entity";
import { Scrollable } from "ui/layouts/AppShell/AppShell";
export default function SwrAndDataApi() {
return (
asdf
);
}
function QueryMutateDataApi() {
const { mutate } = useEntityMutate("comments");
const { data, ...r } = useEntityQuery("comments", undefined, {
limit: 2,
});
return (
bla
{JSON.stringify(r.key)}
{r.error &&
failed to load
}
{r.isLoading &&
loading...
}
{data &&
{JSON.stringify(data, null, 2)}}
{data && (
{data.map((comment) => (
{
await mutate(comment.id, { content: e.target.value });
}}
className="border border-black"
/>
))}
)}
);
}
function QueryDataApi() {
const { data, update, ...r } = useEntityQuery("comments", undefined, {
sort: { by: "id", dir: "asc" },
limit: 3,
});
return (
{JSON.stringify(r.key)}
{r.error &&
failed to load
}
{r.isLoading &&
loading...
}
{data &&
{JSON.stringify(data, null, 2)}}
);
}
function DirectDataApi() {
const [data, setData] = useState();
const { create, read, update, _delete } = useEntity("comments");
useEffect(() => {
read().then((data) => setData(data));
}, []);
return {JSON.stringify(data, null, 2)};
}