- 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.
8 lines
416 B
TypeScript
8 lines
416 B
TypeScript
import type { AnySQLiteSelect } from "../sqlite-core/index.js";
|
|
import { SQLiteRelationalQuery } from "../sqlite-core/query-builders/query.js";
|
|
export declare const useLiveQuery: <T extends Pick<AnySQLiteSelect, "_" | "then"> | SQLiteRelationalQuery<"sync", unknown>>(query: T, deps?: unknown[]) => {
|
|
readonly data: Awaited<T>;
|
|
readonly error: Error | undefined;
|
|
readonly updatedAt: Date | undefined;
|
|
};
|