import { Injectable } from '@angular/core';
import posthog from 'posthog-js';
import { environment } from '../../environments/environment';

@Injectable({
  providedIn: 'root'
})
export class PosthogService {
  constructor() {
    // Initialisierung kann alternativ hier statt in main.ts erfolgen
    posthog.init(environment.POSTHOG_KEY, {
      api_host: environment.POSTHOG_HOST,
      capture_pageview: false // Wir steuern Seitenaufrufe manuell (siehe Schritt 4)
    });
  }

  // Methode zum Erfassen eines benutzerdefinierten Events
  capture(eventName: string, properties?: Record<string, any>) {
    posthog.capture(eventName, properties);
  }

  // Benutzer identifizieren
  identify(userId: string, properties?: Record<string, any>) {
    posthog.identify(userId, properties);
  }

  // Feature Flags prüfen
  isFeatureEnabled(flagKey: string): boolean {
    return posthog.isFeatureEnabled(flagKey) || false;
  }
}