Complete Astro migration - PDPA compliant website

- Migrated all pages from Next.js to Astro
- Added PDPA-compliant Privacy Policy (Thai)
- Added PDPA-compliant Terms & Conditions (Thai)
- Added Cookie Policy with disclosure (Thai)
- Implemented cookie consent banner (client-side)
- Integrated Umami Analytics placeholder
- Blog system with 3 posts
- Optimized Docker configuration for production
- Static site build (184KB, 11 pages)
- Ready for Easypanel deployment

Backup: /Users/kunthawatgreethong/Gitea/dealplustech-backup-nextjs-20260309.tar.gz
This commit is contained in:
Kunthawat Greethong
2026-03-09 18:28:01 +07:00
parent 668f69048f
commit 6402d885f9
6183 changed files with 463899 additions and 1913 deletions

View File

@@ -0,0 +1,16 @@
import type { ColumnType } from 'kysely';
import type { InferInsertModel, InferSelectModel, MapColumnName, Table } from "../table.js";
import type { Simplify } from "../utils.js";
export type Kyselify<T extends Table> = Simplify<{
[Key in keyof T['_']['columns'] & string as MapColumnName<Key, T['_']['columns'][Key], true>]: ColumnType<InferSelectModel<T, {
dbColumnNames: true;
}>[MapColumnName<Key, T['_']['columns'][Key], true>], MapColumnName<Key, T['_']['columns'][Key], true> extends keyof InferInsertModel<T, {
dbColumnNames: true;
}> ? InferInsertModel<T, {
dbColumnNames: true;
}>[MapColumnName<Key, T['_']['columns'][Key], true>] : never, MapColumnName<Key, T['_']['columns'][Key], true> extends keyof InferInsertModel<T, {
dbColumnNames: true;
}> ? InferInsertModel<T, {
dbColumnNames: true;
}>[MapColumnName<Key, T['_']['columns'][Key], true>] : never>;
}>;