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:
Trey t
2026-02-11 09:48:49 -06:00
parent 09be5fa444
commit 2fc4a48fc9
50 changed files with 2191 additions and 335 deletions

View File

@@ -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()
}