From 923c7c6b1a6549a6c5012713a22d5cf6e478f994 Mon Sep 17 00:00:00 2001 From: Mathias Magnusson Date: Thu, 14 Aug 2025 15:11:23 +0200 Subject: Set up htmx & drizzle+libsql --- src/db/schema.ts | 5 +++++ src/global.d.ts | 7 +++++++ src/index.ts | 15 --------------- src/index.tsx | 45 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+), 15 deletions(-) create mode 100644 src/db/schema.ts create mode 100644 src/global.d.ts delete mode 100644 src/index.ts create mode 100644 src/index.tsx (limited to 'src') diff --git a/src/db/schema.ts b/src/db/schema.ts new file mode 100644 index 0000000..15da652 --- /dev/null +++ b/src/db/schema.ts @@ -0,0 +1,5 @@ +import { text, sqliteTable } from "drizzle-orm/sqlite-core"; + +export const groupsTable = sqliteTable("groups", { + name: text("name").notNull(), +}); diff --git a/src/global.d.ts b/src/global.d.ts new file mode 100644 index 0000000..71f018f --- /dev/null +++ b/src/global.d.ts @@ -0,0 +1,7 @@ +import "typed-htmx"; + +declare module 'hono/jsx' { + namespace JSX { + interface HTMLAttributes extends HtmxAttributes { } + } +} diff --git a/src/index.ts b/src/index.ts deleted file mode 100644 index bc1cc19..0000000 --- a/src/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { serve } from '@hono/node-server' -import { Hono } from 'hono' - -const app = new Hono() - -app.get('/', (c) => { - return c.text('Hello Hono!') -}) - -serve({ - fetch: app.fetch, - port: 3000 -}, (info) => { - console.log(`Server is running on http://localhost:${info.port}`) -}) diff --git a/src/index.tsx b/src/index.tsx new file mode 100644 index 0000000..c72d766 --- /dev/null +++ b/src/index.tsx @@ -0,0 +1,45 @@ +import { serve } from "@hono/node-server"; +import { Hono } from "hono"; +import { createClient } from "@libsql/client"; +import { drizzle } from "drizzle-orm/libsql"; +import { groupsTable } from "./db/schema.js"; + +const app = new Hono(); +const db = drizzle(createClient({ url: "file:data.db" })); + +async function Groups() { + const result = await db.select().from(groupsTable).all(); + + return ; +} + +app.get("/", c => c.html( + + + + + + Uneven + + + + + + +)); + +let colors = ["red", "green", "blue"]; +app.get("/button", c => c.html( + +)); + +serve({ + fetch: app.fetch, + port: 3000, +}, info => console.log(`Server is running on http://localhost:${info.port}`)); -- cgit v1.2.3