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

View File

@@ -0,0 +1,3 @@
import type { Plugin as VitePlugin } from 'vite';
import type { AstroSettings } from '../types/astro.js';
export declare function vitePluginAdapterConfig(settings: AstroSettings): VitePlugin;

View File

@@ -0,0 +1,33 @@
const VIRTUAL_CLIENT_ID = "virtual:astro:adapter-config/client";
const RESOLVED_VIRTUAL_CLIENT_ID = "\0" + VIRTUAL_CLIENT_ID;
function vitePluginAdapterConfig(settings) {
return {
name: "astro:adapter-config",
resolveId(id) {
if (id === VIRTUAL_CLIENT_ID) {
return RESOLVED_VIRTUAL_CLIENT_ID;
}
},
load(id, options) {
if (id === RESOLVED_VIRTUAL_CLIENT_ID) {
if (options?.ssr) {
return {
code: `export const internalFetchHeaders = {};`
};
}
const adapter = settings.adapter;
const clientConfig = adapter?.client || {};
let internalFetchHeaders = {};
if (clientConfig.internalFetchHeaders) {
internalFetchHeaders = typeof clientConfig.internalFetchHeaders === "function" ? clientConfig.internalFetchHeaders() : clientConfig.internalFetchHeaders;
}
return {
code: `export const internalFetchHeaders = ${JSON.stringify(internalFetchHeaders)};`
};
}
}
};
}
export {
vitePluginAdapterConfig
};