fix: select state.version for selector hook

This commit is contained in:
2024-05-01 10:52:24 +01:00
parent 6398e470ef
commit d3bcb75f3a
7 changed files with 13 additions and 9 deletions

View File

@ -63,6 +63,7 @@ export class UserState<TAppData> extends EventEmitter<UserStateEvents> {
// state object will be used in the getters as a fallback value
#stateObj?: UserStateObject<TAppData>;
#didInit = false;
#version = 0;
constructor(
readonly pubkey: string,
@ -92,6 +93,7 @@ export class UserState<TAppData> extends EventEmitter<UserStateEvents> {
this.#profile.on("change", () => this.emit("change", UserStateChangeType.Profile));
this.#contacts.on("change", () => this.emit("change", UserStateChangeType.Contacts));
this.#relays.on("change", () => this.emit("change", UserStateChangeType.Relays));
this.on("change", () => this.#version++);
}
async init(signer: EventSigner | undefined, system: SystemInterface) {
@ -143,6 +145,10 @@ export class UserState<TAppData> extends EventEmitter<UserStateEvents> {
}
}
get version() {
return this.#version;
}
/**
* Users profile
*/