diff --git a/static/js/features/files/contextMenus.js b/static/js/features/files/contextMenus.js index e73e28fa..54618a19 100644 --- a/static/js/features/files/contextMenus.js +++ b/static/js/features/files/contextMenus.js @@ -909,6 +909,7 @@ const contextMenus = { btn.closest('.existing-share-item').remove(); if (existingSharesContainer.children.length === 0) { document.getElementById('existing-shares-section').classList.add('hidden'); + ui.setSharedVisualState(item.id, item.type, false); } } }); @@ -992,6 +993,9 @@ const contextMenus = { shareUrl.select(); } + // Update Item's shared badge + ui.setSharedVisualState(item.id, item.type, true); + // Show success message ui.showNotification( i18n ? i18n.t('notifications.link_created') : 'Link created', diff --git a/static/js/views/shared/sharedView.js b/static/js/views/shared/sharedView.js index 3b2d9c52..8c04b008 100644 --- a/static/js/views/shared/sharedView.js +++ b/static/js/views/shared/sharedView.js @@ -575,6 +575,7 @@ const sharedView = { }; try { + // FIXME: redundance with fileSharing const res = await fetch(`/api/shares/${this.currentItem.id}`, { method: 'PUT', headers: this._headers(true), @@ -589,7 +590,8 @@ const sharedView = { console.error('Error updating share:', err); this.showNotification(err.message || 'Error updating share', 'error'); } - + // update UI + ui.setSharedVisualState(this.currentItem.item_id, this.currentItem.item_type, true); this.closeShareDialog(); await this.loadItems(true); this.filterAndSortItems(); @@ -600,6 +602,7 @@ const sharedView = { if (!this.currentItem) return; try { + // FIXME: redundance with fileSharing const res = await fetch(`/api/shares/${this.currentItem.id}`, { method: 'DELETE', headers: this._headers() @@ -614,6 +617,8 @@ const sharedView = { this.closeShareDialog(); await this.loadItems(true); this.filterAndSortItems(); + // update UI + ui.setSharedVisualState(this.currentItem.item_id, this.currentItem.item_type, this.isShared(this.currentItem.item_id, this.currentItem.item_type)); }, // Send notification (stub)