diff --git a/bigbluebutton-html5/imports/ui/components/presentation/component.jsx b/bigbluebutton-html5/imports/ui/components/presentation/component.jsx index b6cd8f5ebc..80ce006b37 100755 --- a/bigbluebutton-html5/imports/ui/components/presentation/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/presentation/component.jsx @@ -206,6 +206,7 @@ class Presentation extends PureComponent { numPages, currentPresentationId, fitToWidth, + downloadPresentationUri, } = this.props; const { presentationWidth, @@ -258,8 +259,9 @@ class Presentation extends PureComponent { ); if ( - prevProps?.currentPresentation?.id !== currentPresentation.id || - (downloadableOn && !userIsPresenter) + prevProps?.currentPresentation?.id !== currentPresentation.id + || prevProps?.downloadPresentationUri !== downloadPresentationUri + || (downloadableOn && !userIsPresenter) ) { if (this.currentPresentationToastId) { toast.update(this.currentPresentationToastId, { diff --git a/bigbluebutton-html5/imports/ui/components/presentation/container.jsx b/bigbluebutton-html5/imports/ui/components/presentation/container.jsx index 528db95652..ef1509a599 100755 --- a/bigbluebutton-html5/imports/ui/components/presentation/container.jsx +++ b/bigbluebutton-html5/imports/ui/components/presentation/container.jsx @@ -117,10 +117,15 @@ export default lockContextContainer( } } const currentPresentation = PresentationService.getCurrentPresentation(podId); + + const downloadPresentationUri = currentPresentation + ? `${APP_CONFIG.bbbWebBase}/${currentPresentation?.originalFileURI}` + : null; + return { currentSlide, slidePosition, - downloadPresentationUri: PresentationService.downloadPresentationUri(podId), + downloadPresentationUri, multiUser: (WhiteboardService.hasMultiUserAccess(currentSlide && currentSlide.id, Auth.userID) || WhiteboardService.isMultiUserActive(currentSlide?.id) diff --git a/bigbluebutton-html5/imports/ui/components/presentation/service.js b/bigbluebutton-html5/imports/ui/components/presentation/service.js index de1d738ab9..7c85847298 100755 --- a/bigbluebutton-html5/imports/ui/components/presentation/service.js +++ b/bigbluebutton-html5/imports/ui/components/presentation/service.js @@ -6,23 +6,12 @@ import { safeMatch } from '/imports/utils/string-utils'; const POLL_SETTINGS = Meteor.settings.public.poll; const MAX_CUSTOM_FIELDS = POLL_SETTINGS.maxCustom; const MAX_CHAR_LIMIT = POLL_SETTINGS.maxTypedAnswerLength; -const APP = Meteor.settings.public.app; const getCurrentPresentation = (podId) => Presentations.findOne({ podId, current: true, }); -const downloadPresentationUri = (podId) => { - const currentPresentation = getCurrentPresentation(podId); - if (!currentPresentation) { - return null; - } - - const { originalFileURI: uri } = currentPresentation; - return `${APP.bbbWebBase}/${uri}`; -}; - const isPresentationDownloadable = (podId) => { const currentPresentation = getCurrentPresentation(podId); if (!currentPresentation) { @@ -248,7 +237,6 @@ export default { getCurrentSlide, getSlidePosition, isPresentationDownloadable, - downloadPresentationUri, currentSlidHasContent, parseCurrentSlideContent, getCurrentPresentation,