[APP-705] Metrics revamp pt2 (#896)

* export track function from analytics.tsx

* fix create account tracking

* fix tracking sign in

* add custom feed events

* fix type errors

* refactor create post event

* add profile follow & unfollow events

* refactor PostsFeedSliceModel into its own file

* refactor PostThreadItemModel into its own file

* reorganize code a lil bit

* refactor post-thread-item to use post-feed-item model under the hood

* add post events

* add post reply tracking

* track custom feed load more

* track list subscribe and unsubscribe
This commit is contained in:
Ansh
2023-06-27 08:11:05 -07:00
committed by GitHub
parent bfaa6d73f3
commit a8bbaa06c7
22 changed files with 436 additions and 386 deletions
+3
View File
@@ -7,6 +7,7 @@ import * as EmailValidator from 'email-validator'
import {createFullHandle} from 'lib/strings/handles'
import {cleanError} from 'lib/strings/errors'
import {getAge} from 'lib/strings/time'
import {track} from 'lib/analytics/analytics'
const DEFAULT_DATE = new Date(Date.now() - 60e3 * 60 * 24 * 365 * 20) // default to 20 years ago
@@ -117,6 +118,8 @@ export class CreateAccountModel {
this.setIsProcessing(false)
this.setError(cleanError(errMsg))
throw e
} finally {
track('Create Account')
}
}
+14
View File
@@ -3,6 +3,7 @@ import {RootStoreModel} from '../root-store'
import {bundleAsync} from 'lib/async/bundle'
import {cleanError} from 'lib/strings/errors'
import {CustomFeedModel} from '../feeds/custom-feed'
import {track} from 'lib/analytics/analytics'
export class SavedFeedsModel {
// state
@@ -143,8 +144,16 @@ export class SavedFeedsModel {
async togglePinnedFeed(feed: CustomFeedModel) {
if (!this.isPinned(feed)) {
track('CustomFeed:Pin', {
name: feed.data.displayName,
uri: feed.uri,
})
return this.rootStore.preferences.addPinnedFeed(feed.uri)
} else {
track('CustomFeed:Unpin', {
name: feed.data.displayName,
uri: feed.uri,
})
return this.rootStore.preferences.removePinnedFeed(feed.uri)
}
}
@@ -185,6 +194,11 @@ export class SavedFeedsModel {
this.rootStore.preferences.savedFeeds,
pinned,
)
track('CustomFeed:Reorder', {
name: item.data.displayName,
uri: item.uri,
index: pinned.indexOf(item.uri),
})
}
// state transitions