[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
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 436 additions and 386 deletions

View file

@ -9,11 +9,17 @@ import {bundleAsync} from 'lib/async/bundle'
import {RootStoreModel} from '../root-store'
import {cleanError} from 'lib/strings/errors'
import {FeedTuner, FeedViewPostsSlice} from 'lib/api/feed-manip'
import {PostsFeedSliceModel} from './post'
import {PostsFeedSliceModel} from './posts-slice'
import {track} from 'lib/analytics/analytics'
const PAGE_SIZE = 30
let _idCounter = 0
type QueryParams =
| GetTimeline.QueryParams
| GetAuthorFeed.QueryParams
| GetCustomFeed.QueryParams
export class PostsFeedModel {
// state
isLoading = false
@ -24,7 +30,7 @@ export class PostsFeedModel {
isBlockedBy = false
error = ''
loadMoreError = ''
params: GetTimeline.QueryParams | GetAuthorFeed.QueryParams
params: QueryParams
hasMore = true
loadMoreCursor: string | undefined
pollCursor: string | undefined
@ -43,10 +49,7 @@ export class PostsFeedModel {
constructor(
public rootStore: RootStoreModel,
public feedType: 'home' | 'author' | 'custom',
params:
| GetTimeline.QueryParams
| GetAuthorFeed.QueryParams
| GetCustomFeed.QueryParams,
params: QueryParams,
) {
makeAutoObservable(
this,
@ -218,6 +221,9 @@ export class PostsFeedModel {
}
} finally {
this.lock.release()
if (this.feedType === 'custom') {
track('CustomFeed:LoadMore')
}
}
})
@ -416,10 +422,7 @@ export class PostsFeedModel {
}
protected async _getFeed(
params:
| GetTimeline.QueryParams
| GetAuthorFeed.QueryParams
| GetCustomFeed.QueryParams,
params: QueryParams,
): Promise<
GetTimeline.Response | GetAuthorFeed.Response | GetCustomFeed.Response
> {