diff options
author | Ansh <anshnanda10@gmail.com> | 2023-03-02 10:21:33 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-02 12:21:33 -0600 |
commit | bd9386d81c258d3d3f43666d3e25328f68428689 (patch) | |
tree | 8008c5dcfc41f85aac24abac0f6fec08dea6296f /src/state/models/my-follows.ts | |
parent | 9b46b2e6a9a8e4e9254fa9031b2eb44a672e287f (diff) | |
download | voidsky-bd9386d81c258d3d3f43666d3e25328f68428689.tar.zst |
New onboarding (#241)
* delete old onboarding files and code * add custom FollowButton component to Post, FeedItem, & ProfileCard * move building suggested feed into helper lib * show suggested posts/feed if follower list is empty * Update tsconfig.json * add pagination to getting new onboarding * remove unnecessary console log * fix naming, add better null check for combinedCursor * In locally-combined feeds, correctly produce an undefined cursor when out of data * Minor refactors of the suggested posts lib functions * Show 'follow button' style of post meta in certain conditions only * Only show follow btn in posts on the main feed and the discovery feed * Add a welcome notice to the home feed * Tune the timing of when the welcome banner shows or hides * Make the follow button an observer (closes #244) * Update postmeta to keep the follow btn after press until next render * A couple of fixes that ensure consistent welcome screen * Fix lint * Rework the welcome banner * Fix cache invalidation of follows model on user switch * Show welcome banner while loading * Update the home onboarding feed to get top posts from hardcode recommends * Drop unused helper function * Update happy path tests --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Diffstat (limited to 'src/state/models/my-follows.ts')
-rw-r--r-- | src/state/models/my-follows.ts | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/state/models/my-follows.ts b/src/state/models/my-follows.ts index 252e8a3d3..c1fba1352 100644 --- a/src/state/models/my-follows.ts +++ b/src/state/models/my-follows.ts @@ -20,6 +20,7 @@ export class MyFollowsModel { // data followDidToRecordMap: Record<string, string> = {} lastSync = 0 + myDid?: string constructor(public rootStore: RootStoreModel) { makeAutoObservable( @@ -36,6 +37,7 @@ export class MyFollowsModel { fetchIfNeeded = bundleAsync(async () => { if ( + this.myDid !== this.rootStore.me.did || Object.keys(this.followDidToRecordMap).length === 0 || Date.now() - this.lastSync > CACHE_TTL ) { @@ -62,6 +64,7 @@ export class MyFollowsModel { this.followDidToRecordMap[record.value.subject.did] = record.uri } this.lastSync = Date.now() + this.myDid = this.rootStore.me.did }) }) @@ -69,6 +72,10 @@ export class MyFollowsModel { return !!this.followDidToRecordMap[did] } + get isEmpty() { + return Object.keys(this.followDidToRecordMap).length === 0 + } + getFollowUri(did: string): string { const v = this.followDidToRecordMap[did] if (!v) { |