diff options
author | Ansh <anshnanda10@gmail.com> | 2023-06-27 08:11:05 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-27 10:11:05 -0500 |
commit | a8bbaa06c7266c73f6a71b5e9223c11c96995947 (patch) | |
tree | bae43bbbd724ceb513aa29339273418623b8d7f4 /src/state/models/feeds/posts.ts | |
parent | bfaa6d73f37f251259c521befa9e9ee8ea877560 (diff) | |
download | voidsky-a8bbaa06c7266c73f6a71b5e9223c11c96995947.tar.zst |
[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
Diffstat (limited to 'src/state/models/feeds/posts.ts')
-rw-r--r-- | src/state/models/feeds/posts.ts | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/state/models/feeds/posts.ts b/src/state/models/feeds/posts.ts index 2c6f89c35..cd5e3c056 100644 --- a/src/state/models/feeds/posts.ts +++ b/src/state/models/feeds/posts.ts @@ -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 > { |