added fully working astro example

This commit is contained in:
dswbx
2024-11-28 10:22:18 +01:00
parent 49c2a7b4db
commit 54b38401d8
12 changed files with 192 additions and 0 deletions

1
examples/astro/src/env.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
/// <reference path="../.astro/types.d.ts" />

View File

@@ -0,0 +1,18 @@
---
import { Api } from "bknd";
import { Admin } from "bknd/ui";
import "bknd/dist/styles.css";
export const prerender = false;
const api = new Api({
host: new URL(Astro.request.url).origin,
headers: Astro.request.headers
});
const user = api.getUser();
---
<html>
<body>
<Admin withProvider={{ user }} client:load />
</body>
</html>

View File

@@ -0,0 +1,18 @@
import type { APIRoute } from "astro";
import { App } from "bknd";
export const prerender = false;
export const ALL: APIRoute = async ({ request }) => {
const app = App.create({
connection: {
type: "libsql",
config: {
url: "http://127.0.0.1:8080"
}
}
});
await app.build();
return app.fetch(request);
};

View File

@@ -0,0 +1,16 @@
---
import { Api } from "bknd";
const api = new Api({
host: new URL(Astro.request.url).origin
});
const { data } = await api.data.readMany("todos");
---
<h1>Home (static)</h1>
<h2>Data</h2>
<pre>{JSON.stringify(data, null, 2)}</pre>
<a href="/admin">Admin</a> -
<a href="/ssr">SSR (with auth)</a> -
<a href="/">Home (static)</a>

View File

@@ -0,0 +1,23 @@
---
import { Api } from "bknd";
const api = new Api({
host: new URL(Astro.request.url).origin,
headers: Astro.request.headers
});
const { data } = await api.data.readMany("todos");
const user = api.getUser();
console.log("user", user);
export const prerender = false;
---
<h1>SSR</h1>
<h2>Data</h1>
<pre>{JSON.stringify(data, null, 2)}</pre>
<h2>User</h1>
<pre>{JSON.stringify(user, null, 2)}</pre>
<a href="/admin">Admin</a> -
<a href="/ssr">SSR (with auth)</a> -
<a href="/">Home (static)</a>