import React from 'react'; import ReactDOM from 'react-dom'; import Account from './components/common/account'; import { gettext, siteRoot, mediaUrl, logoPath, logoWidth, logoHeight, siteTitle } from './utils/constants'; import { Button } from 'reactstrap'; import { Utils } from './utils/utils'; import SaveSharedFileDialog from './components/dialog/save-shared-file-dialog'; import PDFViewer from './components/pdf-viewer'; import toaster from './components/toast'; import watermark from 'watermark-dom'; import './css/shared-file-view.css'; import './css/pdf-file-view.css'; let loginUser = window.app.pageOptions.name; const { repoID, sharedToken, trafficOverLimit, fileName, fileSize, rawPath, sharedBy, siteName, enableWatermark, download, err } = window.shared.pageOptions; class SharedFileViewImage extends React.Component { constructor(props) { super(props); this.state = { showSaveSharedFileDialog: false }; } handleSaveSharedFileDialog = () => { this.setState({ showSaveSharedFileDialog: true }); } toggleCancel = () => { this.setState({ showSaveSharedFileDialog: false }); } handleSaveSharedFile = () => { toaster.success(gettext('Successfully saved'), { duration: 3 }); } componentDidMount() { if (trafficOverLimit == 'True') { toaster.danger(gettext('File download is disabled: the share link traffic of owner is used up.'), { duration: 3 }); } } getContent() { if (err) { let errorMsg; if (err == 'File preview unsupported') { errorMsg =

{gettext('Online view is not applicable to this file format')}

; } else { errorMsg =

{err}

; } return (
{errorMsg}
); } else { return (
); } } render() { return (
logo { loginUser && }

{fileName}

{gettext('Shared by:')}{' '}{sharedBy}

{download &&
{(loginUser && loginUser !== sharedBy) && }{' '} {(trafficOverLimit === 'False') && }
}
{this.getContent()}
{this.state.showSaveSharedFileDialog && }
); } } if (enableWatermark) { let watermark_txt; if (loginUser) { watermark_txt = siteName + ' ' + loginUser; } else { watermark_txt = gettext('Anonymous User'); } watermark.init({ watermark_txt: watermark_txt, watermark_alpha: 0.075 }); } ReactDOM.render( , document.getElementById('wrapper') );