Merge pull request #19734 from ramonlsouza/issue-19180

fix: Download presentation popup window is broken
This commit is contained in:
Ramón Souza 2024-03-06 17:51:11 -03:00 committed by GitHub
commit 361717c69a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 10 additions and 15 deletions

View File

@ -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, {

View File

@ -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)

View File

@ -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,