0.0.1Updated a month ago
import { Hono } from "hono";

import { renderTSX } from "./modules/renderer.tsx";

import { Tailwind } from "./tailwind/tailwind.tsx";
import { AdminRouter } from "./routers/admin.router.ts";
import type { Context } from "../types/context.d.ts";
import { StandardLayout } from "./views/_layout.tsx";

import { Dashboard } from "./views/admin/Dashboard.tsx";

Tailwind.init();

const app = new Hono<Context>();

app.use(async (c, next) => {
  c.tsx = renderTSX(c);
  c.set('layout', StandardLayout);

  await next();

  if(c.error) console.log(c.res.status);
})

app.get('/css/style.css', async (c) => {
  return c.text(await Tailwind.Stylesheet(), 200, { "Content-Type": "text/css" });
})

app.get('/', c => {
  return c.tsx(Dashboard());
})

app.route('/admin', AdminRouter);

Deno.serve(async (req, info) => {
  const response = await app.fetch(req, info);

  response.headers.set('X-Powered-By', 'DivZero');
  
  return response;
})