diff --git a/js/app.js b/js/app.js index 1a89cd70..d8afe54c 100644 --- a/js/app.js +++ b/js/app.js @@ -138,22 +138,10 @@ import { import { getDesignSystemMode as getCanonicalDesignSystemMode } from "./designSystem.js"; import { getHashViewName, setHashView } from "./hashView.js"; import { - getPubkey as getStoredPubkey, - setPubkey as setStoredPubkey, - getCurrentUserNpub as getStoredCurrentUserNpub, - setCurrentUserNpub as setStoredCurrentUserNpub, - getCurrentVideo as getStoredCurrentVideo, - setCurrentVideo as setStoredCurrentVideo, setModalState as setGlobalModalState, subscribeToAppStateKey, } from "./state/appState.js"; import { - getSavedProfiles, - getActiveProfilePubkey, - setActiveProfilePubkey as setStoredActiveProfilePubkey, - setSavedProfiles, - persistSavedProfiles, - getProfileCacheMap, getCachedUrlHealth as readCachedUrlHealth, storeUrlHealth as persistUrlHealth, setInFlightUrlProbe, @@ -211,35 +199,43 @@ const RELAY_UI_BATCH_DELAY_MS = 250; */ class Application { get pubkey() { - return getStoredPubkey(); + return this.authService.pubkey; } set pubkey(value) { - setStoredPubkey(value ?? null); + this.authService.pubkey = value; } get currentUserNpub() { - return getStoredCurrentUserNpub(); + return this.authService.currentUserNpub; } set currentUserNpub(value) { - setStoredCurrentUserNpub(value ?? null); + this.authService.currentUserNpub = value; } get currentVideo() { - return getStoredCurrentVideo(); + return this.playbackService.currentVideo; } set currentVideo(value) { - setStoredCurrentVideo(value ?? null); + this.playbackService.currentVideo = value; } get activeProfilePubkey() { - return getActiveProfilePubkey(); + return this.authService.activeProfilePubkey; + } + + set activeProfilePubkey(value) { + this.authService.setActiveProfilePubkey(value, { persist: false }); } get savedProfiles() { - return getSavedProfiles(); + return this.authService.savedProfiles; + } + + set savedProfiles(value) { + this.authService.setSavedProfiles(value, { persist: false, persistActive: false }); } constructor({ services = {}, ui = {}, helpers = {}, loadView: viewLoader } = {}) { @@ -603,7 +599,7 @@ class Application { queueSignEvent, bootstrapTrustedSeeds, getModerationSettings, - getActiveProfilePubkey, + getActiveProfilePubkey: () => this.authService.activeProfilePubkey, })), writable: true, configurable: true, @@ -688,7 +684,7 @@ class Application { } persistActiveProfileSelection(pubkey, { persist = true } = {}) { - setStoredActiveProfilePubkey(pubkey, { persist }); + this.authService.setActiveProfilePubkey(pubkey, { persist }); this.renderSavedProfiles(); } diff --git a/js/services/authService.js b/js/services/authService.js index cb84b23b..db27bf70 100644 --- a/js/services/authService.js +++ b/js/services/authService.js @@ -10,6 +10,7 @@ import { userLogger } from "../utils/logger.js"; import { requestDefaultExtensionPermissions } from "../nostr/defaultClient.js"; import { getSavedProfiles, + setSavedProfiles, getActiveProfilePubkey, setActiveProfilePubkey, mutateSavedProfiles, @@ -417,6 +418,38 @@ export default class AuthService { return publish(payload); } + get pubkey() { + return getPubkey(); + } + + set pubkey(value) { + setPubkey(value ?? null); + } + + get currentUserNpub() { + return getCurrentUserNpub(); + } + + set currentUserNpub(value) { + setCurrentUserNpub(value ?? null); + } + + get activeProfilePubkey() { + return getActiveProfilePubkey(); + } + + setActiveProfilePubkey(pubkey, options = {}) { + return setActiveProfilePubkey(pubkey, options); + } + + get savedProfiles() { + return getSavedProfiles(); + } + + setSavedProfiles(profiles, options = {}) { + return setSavedProfiles(profiles, options); + } + getActivePubkey() { return getPubkey(); } diff --git a/js/services/playbackService.js b/js/services/playbackService.js index 5502be15..0e4c7359 100644 --- a/js/services/playbackService.js +++ b/js/services/playbackService.js @@ -1,6 +1,7 @@ import { userLogger } from "../utils/logger.js"; import { safeDecodeURIComponent } from "../utils/safeDecode.js"; import { PLAYBACK_START_TIMEOUT } from "../constants.js"; +import { getCurrentVideo, setCurrentVideo } from "../state/appState.js"; // js/services/playbackService.js /** @@ -285,6 +286,14 @@ export class PlaybackService { this.probeCacheTtlMs = PROBE_CACHE_TTL_MS; } + get currentVideo() { + return getCurrentVideo(); + } + + set currentVideo(value) { + setCurrentVideo(value); + } + log(...args) { try { this.logger(...args); diff --git a/js/ui/applicationBootstrap.js b/js/ui/applicationBootstrap.js index 15e75d05..d3d614e5 100644 --- a/js/ui/applicationBootstrap.js +++ b/js/ui/applicationBootstrap.js @@ -867,31 +867,6 @@ export default class ApplicationBootstrap { } }; app.boundNwcSettingsToastHandler = null; - Object.defineProperty(app, "savedProfiles", { - configurable: false, - enumerable: false, - get() { - return getSavedProfiles(); - }, - set(next) { - setSavedProfiles(Array.isArray(next) ? next : [], { - persist: false, - persistActive: false, - }); - }, - }); - - Object.defineProperty(app, "activeProfilePubkey", { - configurable: false, - enumerable: false, - get() { - return getActiveProfilePubkey(); - }, - set(value) { - setStoredActiveProfilePubkey(value, { persist: false }); - }, - }); - Object.defineProperty(app, "profileCache", { configurable: false, enumerable: false,