|
@@ -2,7 +2,7 @@
|
|
|
import Uppy from '@uppy/core'
|
|
|
/* eslint-disable-next-line no-unused-vars */
|
|
|
import React, { useState } from 'react'
|
|
|
-import { Dashboard, DashboardModal, DragDrop } from '@uppy/react'
|
|
|
+import { Dashboard, DashboardModal, DragDrop, useUppyState } from '@uppy/react'
|
|
|
import ThumbnailGenerator from '@uppy/thumbnail-generator'
|
|
|
import RemoteSources from '@uppy/remote-sources'
|
|
|
|
|
@@ -10,24 +10,33 @@ import '@uppy/core/dist/style.css'
|
|
|
import '@uppy/dashboard/dist/style.css'
|
|
|
import '@uppy/drag-drop/dist/style.css'
|
|
|
|
|
|
+const uppyDashboard = new Uppy({ id: 'dashboard' }).use(RemoteSources, {
|
|
|
+ companionUrl: 'http://companion.uppy.io',
|
|
|
+ sources: ['GoogleDrive', 'OneDrive', 'Unsplash', 'Zoom', 'Url'],
|
|
|
+})
|
|
|
+const uppyModal = new Uppy({ id: 'modal' })
|
|
|
+const uppyDragDrop = new Uppy({ id: 'drag-drop' }).use(ThumbnailGenerator)
|
|
|
+
|
|
|
export default function App () {
|
|
|
- const RemoteSourcesOptions = {
|
|
|
- companionUrl: 'http://companion.uppy.io',
|
|
|
- sources: ['GoogleDrive', 'OneDrive', 'Unsplash', 'Zoom', 'Url'],
|
|
|
- }
|
|
|
- const uppyDashboard = new Uppy({ id: 'dashboard' }).use(RemoteSources, { ...RemoteSourcesOptions })
|
|
|
- const uppyModal = new Uppy({ id: 'modal' })
|
|
|
- const uppyDragDrop = new Uppy({ id: 'drag-drop' }).use(ThumbnailGenerator)
|
|
|
const [open, setOpen] = useState(false)
|
|
|
+ const files = useUppyState(uppyDashboard, (state) => state.files)
|
|
|
|
|
|
// drag-drop has no visual output so we test it via the uppy instance
|
|
|
window.uppy = uppyDragDrop
|
|
|
|
|
|
return (
|
|
|
- <div style={{ maxWidth: '30em', margin: '5em 0', display: 'grid', gridGap: '2em' }}>
|
|
|
+ <div
|
|
|
+ style={{
|
|
|
+ maxWidth: '30em',
|
|
|
+ margin: '5em 0',
|
|
|
+ display: 'grid',
|
|
|
+ gridGap: '2em',
|
|
|
+ }}
|
|
|
+ >
|
|
|
<button type="button" id="open" onClick={() => setOpen(!open)}>
|
|
|
Open Modal
|
|
|
</button>
|
|
|
+ <p>Dashboard file count: {Object.keys(files).length}</p>
|
|
|
|
|
|
<Dashboard id="dashboard" uppy={uppyDashboard} />
|
|
|
<DashboardModal id="modal" open={open} uppy={uppyModal} />
|