about summary refs log tree commit diff
path: root/src/state/models/root-store.ts
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2023-04-05 18:56:02 -0500
committerGitHub <noreply@github.com>2023-04-05 18:56:02 -0500
commitea04c2bd330dc5b46d6f9df0d7d4619bbd8f56d0 (patch)
tree870c7d3dbffe1f382cba30b858eaa2b76b31af36 /src/state/models/root-store.ts
parent8e28d3c6be8e063b6d563b0068cb4fc907ff5df0 (diff)
downloadvoidsky-ea04c2bd330dc5b46d6f9df0d7d4619bbd8f56d0.tar.zst
Add user invite codes (#393)
* Add mobile UIs for invite codes

* Update invite code UIs for web

* Finish implementing invite code behaviors (including notifications of invited users)

* Bump deps

* Update web right nav to use real data; also fix lint
Diffstat (limited to 'src/state/models/root-store.ts')
-rw-r--r--src/state/models/root-store.ts8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/state/models/root-store.ts b/src/state/models/root-store.ts
index 0d893415f..9207f27ba 100644
--- a/src/state/models/root-store.ts
+++ b/src/state/models/root-store.ts
@@ -16,6 +16,7 @@ import {ProfilesCache} from './cache/profiles-view'
 import {LinkMetasCache} from './cache/link-metas'
 import {NotificationsFeedItemModel} from './feeds/notifications'
 import {MeModel} from './me'
+import {InvitedUsers} from './invited-users'
 import {PreferencesModel} from './ui/preferences'
 import {resetToTab} from '../../Navigation'
 import {ImageSizesCache} from './cache/image-sizes'
@@ -36,6 +37,7 @@ export class RootStoreModel {
   shell = new ShellUiModel(this)
   preferences = new PreferencesModel()
   me = new MeModel(this)
+  invitedUsers = new InvitedUsers(this)
   profiles = new ProfilesCache(this)
   linkMetas = new LinkMetasCache(this)
   imageSizes = new ImageSizesCache()
@@ -61,6 +63,7 @@ export class RootStoreModel {
       me: this.me.serialize(),
       shell: this.shell.serialize(),
       preferences: this.preferences.serialize(),
+      invitedUsers: this.invitedUsers.serialize(),
     }
   }
 
@@ -84,6 +87,9 @@ export class RootStoreModel {
       if (hasProp(v, 'preferences')) {
         this.preferences.hydrate(v.preferences)
       }
+      if (hasProp(v, 'invitedUsers')) {
+        this.invitedUsers.hydrate(v.invitedUsers)
+      }
     }
   }
 
@@ -141,7 +147,7 @@ export class RootStoreModel {
       return
     }
     try {
-      await this.me.notifications.loadUnreadCount()
+      await this.me.updateIfNeeded()
     } catch (e: any) {
       this.log.error('Failed to fetch latest state', e)
     }