diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-04-25 20:47:07 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-25 20:47:07 -0500 |
commit | f33a355a1ac1fb3e3d91e7e55a9fe9df53313e66 (patch) | |
tree | 107961d843cf4b8cb24e2b8d9f536a5dd2b1912d /src/state/models/invited-users.ts | |
parent | e1fd50d014749fc7757a322839ea46b4156ba8c4 (diff) | |
download | voidsky-f33a355a1ac1fb3e3d91e7e55a9fe9df53313e66.tar.zst |
[APP-562] Persist 'copied' state of invite codes (#535)
* Persist 'copied' state of invite codes (close APP-562) * Dont show copied message if invite used
Diffstat (limited to 'src/state/models/invited-users.ts')
-rw-r--r-- | src/state/models/invited-users.ts | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/state/models/invited-users.ts b/src/state/models/invited-users.ts index 121161a32..a28e0309a 100644 --- a/src/state/models/invited-users.ts +++ b/src/state/models/invited-users.ts @@ -4,6 +4,7 @@ import {RootStoreModel} from './root-store' import {isObj, hasProp, isStrArray} from 'lib/type-guards' export class InvitedUsers { + copiedInvites: string[] = [] seenDids: string[] = [] profiles: AppBskyActorDefs.ProfileViewDetailed[] = [] @@ -20,13 +21,20 @@ export class InvitedUsers { } serialize() { - return {seenDids: this.seenDids} + return {seenDids: this.seenDids, copiedInvites: this.copiedInvites} } hydrate(v: unknown) { if (isObj(v) && hasProp(v, 'seenDids') && isStrArray(v.seenDids)) { this.seenDids = v.seenDids } + if ( + isObj(v) && + hasProp(v, 'copiedInvites') && + isStrArray(v.copiedInvites) + ) { + this.copiedInvites = v.copiedInvites + } } async fetch(invites: ComAtprotoServerDefs.InviteCode[]) { @@ -63,6 +71,16 @@ export class InvitedUsers { } } + isInviteCopied(invite: string) { + return this.copiedInvites.includes(invite) + } + + setInviteCopied(invite: string) { + if (!this.isInviteCopied(invite)) { + this.copiedInvites.push(invite) + } + } + markSeen(did: string) { this.seenDids.push(did) this.profiles = this.profiles.filter(profile => profile.did !== did) |