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

24
node_modules/array-iterate/lib/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,24 @@
/**
* Perform the specified action for each element in an array.
* When `callbackFn` returns a `number`, moves to the element at that index
* next.
*
* @param {unknown[]} values
* Values to iterate over.
* @param {(this: unknown, value: unknown, index: number, array: unknown[]) => number | void} callbackFn
* Function called for each element.
* Can return the `index` to move to next.
* @param {unknown} [thisArg]
* Optional object assigned as `this` in `callbackFn`.
* @returns {void}
*/
export function arrayIterate(
values: unknown[],
callbackFn: (
this: unknown,
value: unknown,
index: number,
array: unknown[]
) => number | void,
thisArg?: unknown
): void