Replace EventLogger with typed AnalyticsManager using PostHog
Complete analytics overhaul: delete EventLogger.swift, create Analytics.swift with typed event enum (~45 events), screen tracking, super properties (theme, icon pack, voting layout, etc.), session replay with kill switch, autocapture, and network telemetry. Replace all 99 call sites across 38 files with compiler-enforced typed events in object_action naming convention. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -18,7 +18,7 @@ extension DataController {
|
||||
entry.moodValue = mood.rawValue
|
||||
saveAndRunDataListeners()
|
||||
|
||||
EventLogger.log(event: "update_entry")
|
||||
AnalyticsManager.shared.track(.moodUpdated(mood: mood.rawValue))
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ extension DataController {
|
||||
entry.notes = notes
|
||||
saveAndRunDataListeners()
|
||||
|
||||
EventLogger.log(event: "update_notes")
|
||||
AnalyticsManager.shared.track(.noteUpdated(characterCount: (notes ?? "").count))
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -48,7 +48,11 @@ extension DataController {
|
||||
entry.photoID = photoID
|
||||
saveAndRunDataListeners()
|
||||
|
||||
EventLogger.log(event: "update_photo")
|
||||
if photoID != nil {
|
||||
AnalyticsManager.shared.track(.photoAdded)
|
||||
} else {
|
||||
AnalyticsManager.shared.track(.photoDeleted)
|
||||
}
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user