From 0918391636c84dfaa646ba0990044a7e433e422d Mon Sep 17 00:00:00 2001 From: advplyr Date: Sun, 7 Jul 2024 17:19:44 -0500 Subject: [PATCH] Update home page shelves to handle share open/closed sockets --- .../components/app/BookShelfCategorized.vue | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/client/components/app/BookShelfCategorized.vue b/client/components/app/BookShelfCategorized.vue index ff0c5ff7..c8a70a2a 100644 --- a/client/components/app/BookShelfCategorized.vue +++ b/client/components/app/BookShelfCategorized.vue @@ -408,6 +408,36 @@ export default { } }) }, + shareOpen(mediaItemShare) { + this.shelves.forEach((shelf) => { + if (shelf.type == 'book') { + shelf.entities = shelf.entities.map((ent) => { + if (ent.media.id === mediaItemShare.mediaItemId) { + return { + ...ent, + mediaItemShare + } + } + return ent + }) + } + }) + }, + shareClosed(mediaItemShare) { + this.shelves.forEach((shelf) => { + if (shelf.type == 'book') { + shelf.entities = shelf.entities.map((ent) => { + if (ent.media.id === mediaItemShare.mediaItemId) { + return { + ...ent, + mediaItemShare: null + } + } + return ent + }) + } + }) + }, initListeners() { if (this.$root.socket) { this.$root.socket.on('user_updated', this.userUpdated) @@ -419,6 +449,8 @@ export default { this.$root.socket.on('items_updated', this.libraryItemsUpdated) this.$root.socket.on('items_added', this.libraryItemsAdded) this.$root.socket.on('episode_added', this.episodeAdded) + this.$root.socket.on('share_open', this.shareOpen) + this.$root.socket.on('share_closed', this.shareClosed) } else { console.error('Error socket not initialized') } @@ -434,6 +466,8 @@ export default { this.$root.socket.off('items_updated', this.libraryItemsUpdated) this.$root.socket.off('items_added', this.libraryItemsAdded) this.$root.socket.off('episode_added', this.episodeAdded) + this.$root.socket.off('share_open', this.shareOpen) + this.$root.socket.off('share_closed', this.shareClosed) } else { console.error('Error socket not initialized') }