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

Uploader component design #816

Open
6 tasks
nimishavijay opened this issue May 19, 2023 · 11 comments
Open
6 tasks

Uploader component design #816

nimishavijay opened this issue May 19, 2023 · 11 comments
Assignees
Labels
1. to develop Accepted and waiting to be taken care of design Related to the design enhancement New feature or request

Comments

@nimishavijay
Copy link

nimishavijay commented May 19, 2023

As discussed in nextcloud/photos#1785 the uploader component needs to work across all screen sizes. After discussing with @jancborchardt and @szaimen, here is what it could look like:

  • On desktop and large screens, just show the progress bar as it is.
  • On mobile, it depends on the use case. For eg. in Talk, since there is ample horizontal space, it could just be the progress bar that appears below the associated element.
  • For Photos and Files, we could use the circular progress bar seen for uploading in ios, or for indicating the number of characters while composing a tweet on Twitter (screenshots attached).
    • This would be used when there is not enough space for a linear progress bar. It could appear next to the associated element.
    • It can be in the same style as the linear progress bar (--color-primary-element color and --color-background-darker bg).
    • Tapping on this element would show an action menu with 2 entries, 1 line with the text info ("a few seconds remaining", etc), as well as the second option to "Cancel upload"

What do you think? @skjnldsv :)

@nimishavijay nimishavijay added the design Related to the design label May 19, 2023
@skjnldsv skjnldsv transferred this issue from nextcloud-libraries/nextcloud-vue May 23, 2023
@skjnldsv skjnldsv added the 0. Needs triage Pending approval or rejection. This issue is pending approval. label May 23, 2023
@jancborchardt jancborchardt added 1. to develop Accepted and waiting to be taken care of enhancement New feature or request and removed 0. Needs triage Pending approval or rejection. This issue is pending approval. labels May 24, 2023
@jancborchardt
Copy link
Contributor

@nimishavijay FYI I did a small adjustment:

Tapping on this element would show an action menu with 2 entries, 1 line with the text info ("a few seconds remaining", etc), as well as the second option to "Cancel upload"

@skjnldsv
Copy link
Contributor

Could we have mockups of what it would look like in the following state please?
Not just inspiration, but real design references to use for the UI :)

  1. No upload ongoing with the add button visible ?
  2. Upload ongoing
  3. Something went wrong during the upload
  4. Upload finished

@marcoambrosini marcoambrosini self-assigned this Jul 4, 2023
@marcoambrosini
Copy link

marcoambrosini commented Jul 27, 2023

So here's a first draft. I think that the progress part of it should be implemented in the NcProgress component and imported from there into this wrapper as it would be nice to have the circular progress for other application too.
The progress would wrapped in a NcButton component and all icons are 30px in diameter so that they can fit nicely in 44px tall rows, list items and so forth.

No upload ongoing with the add button visible ?

@skjnldsv what do you mean by this?

Screenshot 2023-07-27 at 17 31 23

@skjnldsv
Copy link
Contributor

No upload ongoing with the add button visible ?

@skjnldsv what do you mean by this?

A mockup where no upload is in progress and we can see the add button

@skjnldsv
Copy link
Contributor

@marcoambrosini thanks for the mockups!
Can you maybe show them in action? Like with the UI around it? I find it harder to really grasp the expectations.
ideally something looking like the initial mockups in photos 🙏

image

@marcoambrosini
Copy link

marcoambrosini commented Jul 28, 2023

Ok, sorry I thought that what was needed was already established but I see now that it's a wider problem that needs solution.
Our competitors use a small collapsible dialogs placed at the bottom of the screen and they work great. I'm going to work on something like that as opposed to this small indicator.

@skjnldsv I have a couple of questions: what kind of information about the upload do we have available in the front-end? For example, if I'm doing a batch upload, do I have the progress of every file in the batch? If not do we have at least a confirmation of each uploaded file?
Thanks for the info :)

@skjnldsv
Copy link
Contributor

skjnldsv commented Aug 1, 2023

You will know:

  • The queue size
  • The overall progress
  • The current queue status (initialized, uploading, assembling, finished, cancelled or failed)
  • The queue list of uploads

And for each upload in the queue you can request those same stats but for the file only.

@marcoambrosini
Copy link

marcoambrosini commented Aug 2, 2023

So @skjnldsv as a first step we decided to have the component mentioned above next to the add button, both in photos and files. We will iterate and improve over time but for now we're going to keep it simple.

Screenshot 2023-08-02 at 20 02 37

Group 3

Both error and success state should last for 3 seconds and fade out.

@skjnldsv
Copy link
Contributor

skjnldsv commented Aug 2, 2023

Please note that the second schreenshot doesn't use this component, so we can take the first one as refrerence only

@jancborchardt
Copy link
Contributor

@skjnldsv which of the points here are still relevant after merging nextcloud/server#39945 ? :)

@skjnldsv
Copy link
Contributor

skjnldsv commented Oct 3, 2023

All of them, this was not scheduled for 28

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. to develop Accepted and waiting to be taken care of design Related to the design enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants