Files
ngo-toolkit/lib/types.ts
T
2026-03-18 18:26:24 +08:00

49 lines
988 B
TypeScript

export type ToolName = 'logframe' | 'funder-rewriter' | 'smart-indicators' | 'theory-of-change';
export interface Session {
id: string;
tool: ToolName;
email: string | null;
input: Record<string, string>;
output: string | null;
is_paid: boolean;
payment_id: string | null;
improvements_used: number;
created_at: string;
updated_at: string;
}
export interface Lead {
id: number;
email: string;
org_name: string | null;
tool: string;
created_at: string;
}
export interface AdminConfig {
price_amount: string;
price_currency: string;
free_tier_enabled: string;
max_improvements: string;
openai_model: string;
lemonsqueezy_variant_id: string;
}
export interface ToolConfig {
slug: ToolName;
name: string;
description: string;
icon: string;
fields: FormField[];
}
export interface FormField {
name: string;
label: string;
type: 'text' | 'textarea' | 'select';
placeholder?: string;
options?: string[];
required?: boolean;
}