index.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. const Uppy = require('@uppy/core')
  2. const Dashboard = require('@uppy/dashboard')
  3. const Instagram = require('@uppy/instagram')
  4. const GoogleDrive = require('@uppy/google-drive')
  5. const Url = require('@uppy/url')
  6. const Webcam = require('@uppy/webcam')
  7. const Tus = require('@uppy/tus')
  8. require('@uppy/core/dist/style.css')
  9. require('@uppy/dashboard/dist/style.css')
  10. require('@uppy/url/dist/style.css')
  11. require('@uppy/webcam/dist/style.css')
  12. const TUS_ENDPOINT = 'https://master.tus.io/files/'
  13. const uppy = Uppy({
  14. debug: true,
  15. meta: {
  16. username: 'John',
  17. license: 'Creative Commons'
  18. }
  19. })
  20. .use(Dashboard, {
  21. trigger: '#pick-files',
  22. target: '#upload-form',
  23. inline: true,
  24. replaceTargetContent: true,
  25. metaFields: [
  26. { id: 'license', name: 'License', placeholder: 'specify license' },
  27. { id: 'caption', name: 'Caption', placeholder: 'add caption' }
  28. ],
  29. showProgressDetails: true,
  30. proudlyDisplayPoweredByUppy: true,
  31. note: '2 files, images and video only'
  32. })
  33. .use(GoogleDrive, { target: Dashboard, serverUrl: 'http://localhost:3020' })
  34. .use(Instagram, { target: Dashboard, serverUrl: 'http://localhost:3020' })
  35. .use(Url, { target: Dashboard, serverUrl: 'http://localhost:3020' })
  36. .use(Webcam, { target: Dashboard })
  37. .use(Tus, { endpoint: TUS_ENDPOINT })
  38. // .use(GoldenRetriever, {serviceWorker: true})
  39. uppy.on('complete', (result) => {
  40. if (result.failed.length === 0) {
  41. console.log('Upload successful 😀')
  42. } else {
  43. console.warn('Upload failed 😞')
  44. }
  45. console.log('successful files:', result.successful)
  46. console.log('failed files:', result.failed)
  47. })
  48. /* eslint-disable compat/compat */
  49. if ('serviceWorker' in navigator) {
  50. navigator.serviceWorker
  51. .register('/sw.js')
  52. .then((registration) => {
  53. console.log('ServiceWorker registration successful with scope: ', registration.scope)
  54. })
  55. .catch((error) => {
  56. console.log('Registration failed with ' + error)
  57. })
  58. }
  59. /* eslint-enable */