diff --git a/packages/@uppy/dashboard/src/Dashboard.jsx b/packages/@uppy/dashboard/src/Dashboard.jsx index 981e64669e..eb897a29af 100644 --- a/packages/@uppy/dashboard/src/Dashboard.jsx +++ b/packages/@uppy/dashboard/src/Dashboard.jsx @@ -90,6 +90,8 @@ export default class Dashboard extends UIPlugin { showSelectedFiles: true, showRemoveButtonAfterComplete: false, browserBackButtonClose: false, + showNativePhotoCameraButton: false, + showNativeVideoCameraButton: false, theme: 'light', autoOpenFileEditor: false, disabled: false, @@ -967,6 +969,8 @@ export default class Dashboard extends UIPlugin { maxNumberOfFiles: this.uppy.opts.restrictions.maxNumberOfFiles, requiredMetaFields: this.uppy.opts.restrictions.requiredMetaFields, showSelectedFiles: this.opts.showSelectedFiles, + showNativePhotoCameraButton: this.opts.showNativePhotoCameraButton, + showNativeVideoCameraButton: this.opts.showNativeVideoCameraButton, handleCancelRestore: this.handleCancelRestore, handleRequestThumbnail: this.handleRequestThumbnail, handleCancelThumbnail: this.handleCancelThumbnail, diff --git a/packages/@uppy/dashboard/src/components/AddFiles.jsx b/packages/@uppy/dashboard/src/components/AddFiles.jsx index 44a7160100..d46ca17b02 100644 --- a/packages/@uppy/dashboard/src/components/AddFiles.jsx +++ b/packages/@uppy/dashboard/src/components/AddFiles.jsx @@ -1,4 +1,4 @@ -import { h, Component } from 'preact' +import { h, Component, Fragment } from 'preact' class AddFiles extends Component { triggerFileInputClick = () => { @@ -9,6 +9,14 @@ class AddFiles extends Component { this.folderInput.click() } + triggerVideoCameraInputClick = () => { + this.mobileVideoFileInput.click() + } + + triggerPhotoCameraInputClick = () => { + this.mobilePhotoFileInput.click() + } + onFileInputChange = (event) => { this.props.handleInputChange(event) @@ -39,6 +47,26 @@ class AddFiles extends Component { ) } + renderHiddenCameraInput = (type, refCallback) => { + const typeToAccept = { photo: 'image/*', video: 'video/*' } + const accept = typeToAccept[type] + + return ( + + ) + } + renderMyDeviceAcquirer = () => { return (