├── .DS_Store ├── app ├── favicon.ico ├── og-image.png ├── assets │ └── hono.png ├── server.ts ├── lib │ ├── utils.ts │ └── snowflake.ts ├── routes │ ├── index.tsx │ ├── api │ │ ├── snow.ts │ │ ├── chat.ts │ │ └── ai.ts │ └── _renderer.tsx ├── types │ └── index.ts ├── client.ts ├── islands │ ├── Header.tsx │ ├── Footer.tsx │ ├── HelperMessage.tsx │ ├── Settings.tsx │ └── Chat.tsx ├── global.d.ts ├── components │ ├── ui │ │ ├── input.tsx │ │ ├── typewriter-effect.tsx │ │ ├── avatar.tsx │ │ ├── scroll-area.tsx │ │ ├── button.tsx │ │ ├── drawer.tsx │ │ └── select.tsx │ ├── message.tsx │ └── Icons.tsx └── tailwind.css ├── postcss.config.js ├── .gitignore ├── wrangler.example.toml ├── components.json ├── tsconfig.json ├── .vscode └── settings.json ├── README.md ├── LICENSE ├── vite.config.ts ├── package.json ├── tailwind.config.js └── snow.ts /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kaarthik108/ohno/HEAD/.DS_Store -------------------------------------------------------------------------------- /app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kaarthik108/ohno/HEAD/app/favicon.ico -------------------------------------------------------------------------------- /app/og-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kaarthik108/ohno/HEAD/app/og-image.png -------------------------------------------------------------------------------- /app/assets/hono.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kaarthik108/ohno/HEAD/app/assets/hono.png -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /app/server.ts: -------------------------------------------------------------------------------- 1 | import { showRoutes } from "hono/dev"; 2 | import { createApp } from "honox/server"; 3 | 4 | const app = createApp(); 5 | 6 | showRoutes(app); 7 | 8 | export default app; 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | .wrangler 4 | .dev.vars 5 | .hono 6 | 7 | package-lock.json 8 | yarn.lock 9 | pnpm-lock.yaml 10 | bun.lockb 11 | 12 | .env.local 13 | wrangler.toml -------------------------------------------------------------------------------- /app/lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { type ClassValue, clsx } from "clsx"; 2 | import { twMerge } from "tailwind-merge"; 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)); 6 | } 7 | -------------------------------------------------------------------------------- /app/routes/index.tsx: -------------------------------------------------------------------------------- 1 | import Chat from "@/islands/Chat"; 2 | import { createRoute } from "honox/factory"; 3 | 4 | export default createRoute(async (c) => { 5 | return c.render( 6 |
4 |
5 |