Replace PostHog integration with AnalyticsManager architecture
Remove old PostHogAnalytics singleton and replace with guide-based two-file architecture: AnalyticsManager (singleton wrapper with super properties, session replay, opt-out, subscription funnel) and AnalyticsEvent (type-safe enum with associated values). Key changes: - New API key, self-hosted analytics endpoint - All 19 events ported to type-safe AnalyticsEvent enum - Screen tracking via AnalyticsManager.Screen enum + SwiftUI modifier - Remove all identify() calls — fully anonymous analytics - Add lifecycle hooks: flush on background, update super properties on foreground - Add privacy opt-out toggle in Settings - Subscription funnel methods ready for IAP integration Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -292,7 +292,7 @@ struct ContractorFormSheet: View {
|
||||
.onAppear {
|
||||
// Track screen view for new contractors
|
||||
if contractor == nil {
|
||||
PostHogAnalytics.shared.screen(AnalyticsEvents.newContractorScreenShown)
|
||||
AnalyticsManager.shared.trackScreen(.newContractor)
|
||||
}
|
||||
residenceViewModel.loadMyResidences()
|
||||
loadContractorData()
|
||||
@@ -504,7 +504,7 @@ struct ContractorFormSheet: View {
|
||||
viewModel.createContractor(request: request) { success in
|
||||
if success {
|
||||
// Track contractor creation
|
||||
PostHogAnalytics.shared.capture(AnalyticsEvents.contractorCreated)
|
||||
AnalyticsManager.shared.track(.contractorCreated)
|
||||
onSave()
|
||||
dismiss()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user