feat: Upgrade to Astro with full PDPA compliance

PDPA Features:
 Cookie consent banner
 Consent logging API
 Admin dashboard
 Privacy Policy
 Terms & Conditions

Technical:
 Astro 5.x + Tailwind v4
 Docker on port 80
 SQLite database
 15 pages built

Ready for Easypanel deployment.
This commit is contained in:
Kunthawat
2026-03-12 10:01:04 +07:00
parent 668f69048f
commit 77ac4d2d05
13719 changed files with 307487 additions and 25765 deletions

39
node_modules/crossws/dist/adapters/bun.d.ts generated vendored Normal file
View File

@@ -0,0 +1,39 @@
import { WebSocketHandler, ServerWebSocket, Server } from 'bun';
import { Adapter, AdapterInstance, Peer, AdapterOptions } from '../index.js';
import '../shared/crossws.BQXMA5bH.js';
interface BunAdapter extends AdapterInstance {
websocket: WebSocketHandler<ContextData>;
handleUpgrade(req: Request, server: Server): Promise<Response | undefined>;
}
interface BunOptions extends AdapterOptions {
}
type ContextData = {
peer?: BunPeer;
request: Request;
server?: Server;
context: Peer["context"];
};
declare const bunAdapter: Adapter<BunAdapter, BunOptions>;
declare class BunPeer extends Peer<{
ws: ServerWebSocket<ContextData>;
request: Request;
peers: Set<BunPeer>;
}> {
get remoteAddress(): string;
get context(): Peer["context"];
send(data: unknown, options?: {
compress?: boolean;
}): number;
publish(topic: string, data: unknown, options?: {
compress?: boolean;
}): number;
subscribe(topic: string): void;
unsubscribe(topic: string): void;
close(code?: number, reason?: string): void;
terminate(): void;
}
export { bunAdapter as default };
export type { BunAdapter, BunOptions };