import React from 'react'; import { withTracker } from 'meteor/react-meteor-data'; import ErrorBoundary from '/imports/ui/components/error-boundary/component'; import FallbackModal from '/imports/ui/components/fallback-errors/fallback-modal/component'; import Service from './service'; import PresentationUploader from './component'; const PresentationUploaderContainer = props => ( }> ); export default withTracker(() => { const PRESENTATION_CONFIG = Meteor.settings.public.presentation; const currentPresentations = Service.getPresentations(); const { dispatchDisableDownloadable, dispatchEnableDownloadable, dispatchTogglePresentationDownloadable, } = Service; return { presentations: currentPresentations, defaultFileName: PRESENTATION_CONFIG.defaultPresentationFile, fileSizeMin: PRESENTATION_CONFIG.uploadSizeMin, fileSizeMax: PRESENTATION_CONFIG.uploadSizeMax, fileValidMimeTypes: PRESENTATION_CONFIG.uploadValidMimeTypes, handleSave: presentations => Service.persistPresentationChanges( currentPresentations, presentations, PRESENTATION_CONFIG.uploadEndpoint, 'DEFAULT_PRESENTATION_POD', ), dispatchDisableDownloadable, dispatchEnableDownloadable, dispatchTogglePresentationDownloadable, }; })(PresentationUploaderContainer);