feat: Add complete PDPA compliance pages

- Admin dashboard (/admin/consent-logs) with password auth
- Consent API (/api/consent) with SQLite + IP hashing
- Privacy Policy (Thai) - PDPA Section 36 compliant
- Terms & Conditions (Thai) - 9 standard clauses
- .env.example template with Umami placeholder

All pages preserve current design system.
This commit is contained in:
Kunthawat
2026-03-10 21:28:23 +07:00
parent e98b9f2bff
commit b2e427791b
3282 changed files with 302503 additions and 435 deletions

View File

@@ -0,0 +1,14 @@
export type ObjectFun<T> = (w: ObjectWriter, value: T) => void;
export declare class ObjectWriter {
#private;
constructor(output: Array<string>);
begin(): void;
end(): void;
string(name: string, value: string): void;
stringRaw(name: string, value: string): void;
number(name: string, value: number): void;
boolean(name: string, value: boolean): void;
object<T>(name: string, value: T, valueFun: ObjectFun<T>): void;
arrayObjects<T>(name: string, values: Array<T>, valueFun: ObjectFun<T>): void;
}
export declare function writeJsonObject<T>(value: T, fun: ObjectFun<T>): string;