/** * Posthog event tracking utility. * Wywoływany z kluczowych akcji użytkownika. */ /* eslint-disable @typescript-eslint/no-explicit-any */ declare const posthog: any; function ph(): any | null { return typeof posthog !== 'undefined' ? posthog : null; } export const analytics = { /** Identyfikuj użytkownika po zalogowaniu */ identify(userId: string, props?: Record) { ph()?.identify(userId, props); }, /** Użytkownik kliknął "Nowy Projekt" */ projectCreated(projectId: string, name: string) { ph()?.capture('project_created', { project_id: projectId, project_name: name }); }, /** Sekcja wygenerowana przez AI */ sectionGenerated(projectId: string, sectionKey: string, tierUsed: string) { ph()?.capture('section_generated', { project_id: projectId, section_key: sectionKey, tier: tierUsed }); }, /** Upload dokumentu PDF */ documentUploaded(projectId: string, fileName: string) { ph()?.capture('document_uploaded', { project_id: projectId, file_name: fileName }); }, /** Klik "Kup Pro" — przed redirect do Stripe */ checkoutStarted(plan: string) { ph()?.capture('checkout_started', { plan }); }, /** Powrót z Stripe — sukces */ checkoutCompleted(plan: string) { ph()?.capture('checkout_completed', { plan }); }, /** Audyt wniosku */ auditRun(projectId: string, score: number) { ph()?.capture('audit_run', { project_id: projectId, compliance_score: score }); }, /** Export DOCX */ exportDocx(projectId: string) { ph()?.capture('export_docx', { project_id: projectId }); }, };