import { A } from "@solidjs/router"; import type { DB } from "bknd"; import { createResource, Suspense } from "solid-js"; import { getRequestEvent } from "solid-js/web"; import { Footer } from "~/components/Footer"; import { List } from "~/components/List"; import { getApi } from "~/lib/bknd"; const getUser = async () => { "use server" const request = getRequestEvent()?.request; const api = await getApi({ verify: true, headers: request?.headers }); return api.getUser(); } type Todo = DB['todos']; export const getTodo = async () => { "use server" const api = await getApi({}); const limit = 5; const todos = await api.data.readMany("todos"); const total = todos.body.meta.total as number; return { total, todos: todos as unknown as Todo[], limit }; }; export default function Home() { const [data] = createResource(async () => { const todo = await getTodo(); const user = await getUser() return { todo, user }; }, { initialValue: { todo: { todos: [], limit: 0, total: 0 }, user: null } }); return (
Solid logo
&
bknd logo
todo.title)} /> Loading...

}>
{data()?.user ? ( <> Logged in as {data()?.user?.email}. Logout ) : (

Not logged in. Login

Sign in with: test@bknd.io / 12345678

)}
); } function Buttons() { return (
bknd logomark Go To Bknd.io Read our docs
); }