Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DRAFT: feat - Storage and Uploads (for Feedback) #11696

Draft
wants to merge 55 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
a5414ba
reset everything
Josh-Walker-GM Sep 19, 2024
8ccdaa7
WIP
Josh-Walker-GM Sep 19, 2024
fd2650b
BROKEN WIP
Josh-Walker-GM Sep 23, 2024
2a1fcfe
Initial s3 storage adapter
dthyresson Oct 4, 2024
cdcff08
some questions on s3 needs
dthyresson Oct 4, 2024
22257d6
WIP memory adapter
dthyresson Oct 4, 2024
601b18e
First pass at upload package with plugin
dthyresson Oct 7, 2024
075001d
first pass at working upload package with web/upload
dthyresson Oct 7, 2024
779ea02
moved into web/upload
dthyresson Oct 7, 2024
045d21c
add upload setup
dthyresson Oct 8, 2024
46a1325
stub out upload and storage docs
dthyresson Oct 8, 2024
dcaadab
setup
dthyresson Oct 8, 2024
b286d7c
update upload setup after test
dthyresson Oct 8, 2024
c80dc5e
prettify
dthyresson Oct 8, 2024
c61c877
rename upload to uploads
dthyresson Oct 8, 2024
32c5e10
get to green on @redwoodjs/uploads-graphql
dthyresson Oct 8, 2024
f597bd3
get uploads package working and generalize the upload files component
dthyresson Oct 9, 2024
5dae29c
update templates for uploads
dthyresson Oct 11, 2024
250ac95
template updates
dthyresson Oct 11, 2024
9bb2162
update templates
dthyresson Oct 11, 2024
3d9323c
withStorage enun
dthyresson Oct 11, 2024
e27c546
directive updates
dthyresson Oct 12, 2024
f4a775d
add cache controls and etag
dthyresson Oct 12, 2024
7927ec5
reorg s&u docs
dthyresson Oct 12, 2024
b0c84c2
docs
dthyresson Oct 13, 2024
9726a03
docs
dthyresson Oct 13, 2024
9709e80
more docs
dthyresson Oct 13, 2024
7f87a97
uploads component
dthyresson Oct 14, 2024
6999e12
can clear accepted and rejected now
dthyresson Oct 14, 2024
d31987f
adds active message
dthyresson Oct 14, 2024
28168ca
style default renderers
dthyresson Oct 14, 2024
1eba57d
export file message utils
dthyresson Oct 14, 2024
ff72004
revoke object url
dthyresson Oct 14, 2024
4a93092
fixing upload to uploads
dthyresson Oct 14, 2024
f312aaa
exports all from react drop zone to use if roll own
dthyresson Oct 15, 2024
b8596ef
Update packages/cli/src/commands/setup/uploads/templates/api/services…
dthyresson Oct 15, 2024
96eef5b
Update packages/cli/src/commands/setup/storage/templates/withStorage.…
dthyresson Oct 15, 2024
43fac5f
better types
dthyresson Oct 15, 2024
e4b2527
refactor validateFiles
dthyresson Oct 15, 2024
34d48bc
simplify
dthyresson Oct 15, 2024
558b7cf
better types
dthyresson Oct 15, 2024
fd25c8b
rework with props
dthyresson Oct 15, 2024
02151e1
export types
dthyresson Oct 15, 2024
163fb3c
add children
dthyresson Oct 15, 2024
0b753d5
lots of component refactoring
dthyresson Oct 16, 2024
52edea8
rework previewers
dthyresson Oct 16, 2024
3025914
set base styles and message
dthyresson Oct 16, 2024
dad7d3a
allow copy paste
dthyresson Oct 16, 2024
578da4a
update web uploads readmen
dthyresson Oct 16, 2024
ebf287f
progress
dthyresson Oct 17, 2024
219b06f
use progress hook
dthyresson Oct 17, 2024
09c38da
set context and headers
dthyresson Oct 18, 2024
8621794
separate out mutation op and heder name
dthyresson Oct 18, 2024
98a398c
rework upload progress to set upload token properly
dthyresson Oct 18, 2024
158d276
remove console
dthyresson Oct 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
use progress hook
  • Loading branch information
dthyresson committed Oct 17, 2024
commit 219b06fb4281e413446ba22de6126864a8e547d0
39 changes: 39 additions & 0 deletions packages/uploads/web/src/components/hooks/useUploadProgress.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import { useState, useCallback } from 'react'

export const useUploadProgress = () => {
const [progress, setProgress] = useState<number>(0)
const [abortHandler, setAbortHandler] = useState<(() => void) | null>(null)

const onAbortHandler = useCallback(() => {
if (abortHandler) {
abortHandler()
setProgress(0)
}
}, [abortHandler])

const fetchOptionsWithProgress = {
useUploadProgress: true,
headers: (headers: Headers) => {
const plainHeaders: Record<string, string> = {}
headers.forEach((value, key) => {
plainHeaders[key] = value
})
return {
...plainHeaders,
}
},
onProgress: (ev: ProgressEvent) => {
setProgress(ev.loaded / ev.total)
},
onAbortPossible: (abort: () => void) => {
setAbortHandler(() => abort)
},
}

return {
fetchOptionsWithProgress,
progress,
setProgress,
onAbortHandler,
}
}
1 change: 1 addition & 0 deletions packages/uploads/web/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ export * from './core/fileTypes.js'
export * from './core/utils.js'
export * from './components/RedwoodFilePickerButton.js'
export * from './components/hooks/useRedwoodUploadsContext.js'
export * from './components/hooks/useUploadProgress.js'
export type { DropzoneOptions, FileRejection } from 'react-dropzone'

export * from 'react-dropzone'
Expand Down