feat: Add file download buttons to Orders by Timeslot dashboard#86
Merged
Conversation
Previously admins had to click into each individual order to view and download files for printing. This adds: - Per-file 'Open' button next to each file name in the dashboard table - 'Download All Files' button in each timeslot header to open all files for that timeslot at once API changes: - orders-by-timeslot endpoint now includes stagingKey and permanentKey in the file data so the dashboard can generate presigned download URLs The file key resolution logic (permanent vs staging) mirrors the existing OrderFilesViewer component.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Previously, admins had to click into each individual order page to view and download files for printing. This was tedious when processing multiple orders for a timeslot.
Changes
API:
/api/admin/orders-by-timeslotstagingKeyandpermanentKeyin the file data returned for each order, enabling the dashboard to generate presigned download URLs directly.UI:
OrdersByTimeslotViewOrderFilesViewercomponent used on individual order pages.How it works
/api/admin/file-urlwith the appropriate R2 key to get a temporary presigned URL (valid 1 hour)Testing