The LibreSign signature request page currently allows users to upload documents by clicking the upload button and selecting files from their device.
Users commonly expect file upload areas to also support dragging and dropping files. Adding this interaction would make the document upload flow faster and more intuitive, especially when users already have the document open in their file manager.
This issue proposes adding drag-and-drop support to the existing document upload area used when creating a signature request.
How to find the page
- Sign in to Nextcloud.
- Open the LibreSign app.
- Start the flow to request signatures for a document.
- Use the option to upload a document from the device.
Expected behavior
Users should be able to:
- Drag one or more supported documents from their device.
- Drop them onto the document upload area.
- Have the files processed through the same upload flow already used by the existing upload button.
The existing click-to-upload functionality must continue to work.
Envelope behavior
The drag-and-drop implementation must respect the existing envelope configuration:
- When the envelope feature is enabled, users may upload multiple documents according to the existing upload rules.
- When the envelope feature is disabled, only one document may be uploaded.
- If multiple files are dropped while envelopes are disabled, the interface must handle the situation consistently with the existing upload button.
- File type, file count, size and other upload restrictions must remain consistent with the existing upload flow.
The drag-and-drop implementation should reuse the current upload validation logic rather than introducing a separate set of rules.
User experience
While supported files are being dragged over the upload area, the interface should provide clear visual feedback indicating that the files can be dropped there.
The interaction should:
- Clearly identify the available drop area.
- Restore the normal appearance when the files leave the drop area.
- Preserve the existing upload button.
- Preserve keyboard accessibility.
- Display the existing error messages when a file cannot be accepted.
- Avoid automatically creating a separate upload or signature-request flow.
Acceptance criteria
Implementation notes
This feature should reuse the existing upload handlers and validation rules. Drag-and-drop should act as an additional way to provide files to the current upload flow, not as a separate upload implementation.
Please avoid duplicating the logic that determines whether multiple documents are allowed.
Good first issue
This issue should be a good starting point for contributors interested in learning about the LibreSign frontend and document upload flow.
The change is expected to be mostly isolated to the signature request interface while reusing existing upload and validation logic.
Additional context
- If you have questions, feel free to ask in this issue.
- Give a ⭐️ star to this repository if you find LibreSign useful and would like to support the project.
The LibreSign signature request page currently allows users to upload documents by clicking the upload button and selecting files from their device.
Users commonly expect file upload areas to also support dragging and dropping files. Adding this interaction would make the document upload flow faster and more intuitive, especially when users already have the document open in their file manager.
This issue proposes adding drag-and-drop support to the existing document upload area used when creating a signature request.
How to find the page
Expected behavior
Users should be able to:
The existing click-to-upload functionality must continue to work.
Envelope behavior
The drag-and-drop implementation must respect the existing envelope configuration:
The drag-and-drop implementation should reuse the current upload validation logic rather than introducing a separate set of rules.
User experience
While supported files are being dragged over the upload area, the interface should provide clear visual feedback indicating that the files can be dropped there.
The interaction should:
Acceptance criteria
Implementation notes
This feature should reuse the existing upload handlers and validation rules. Drag-and-drop should act as an additional way to provide files to the current upload flow, not as a separate upload implementation.
Please avoid duplicating the logic that determines whether multiple documents are allowed.
Good first issue
This issue should be a good starting point for contributors interested in learning about the LibreSign frontend and document upload flow.
The change is expected to be mostly isolated to the signature request interface while reusing existing upload and validation logic.
Additional context