cloud_storage_gallery library

Ready-made widgets for browsing folders, viewing media, uploading with progress, and generating thumbnails on top of cloud_storage.

Classes

CloudBatchUploadDialog
Progress dialog for a batch of concurrent uploads. Shows a total "X of N complete" bar at the top and a scrollable per-file list where each row renders its own byte-level progress bar and terminal state (success / cancelled / error).
CloudBulkProgressDialog<T>
Generic progress dialog that iterates a list of items and calls operation on each one in sequence. Shows both a total "X of N complete" bar AND a scrollable per-item list where each row renders its own state (pending / in-progress / done / failed).
CloudFolderBreadcrumb
Renders a /foo/bar/baz style breadcrumb for the current folder, with each segment tappable.
CloudFolderGrid
Live grid of a folder's contents — folders shown as folder tiles, files as thumbnails (or generic icons until the Cloud Function generates a thumbnail).
CloudFolderScreen
A ready-to-use, full-featured folder browser backed by CloudStorage.
CloudGalleryLocalizations
Translatable strings used by the cloud_storage_gallery widgets.
CloudGalleryLocalizationsAr
Arabic strings for the gallery widgets.
CloudGalleryLocalizationsEn
English strings for the gallery widgets. Also serves as the fallback when no delegate is registered or the resolved locale is unsupported.
CloudMediaViewer
Pageable viewer for a list of CloudFile media (images + videos).
CloudNodeSort
Immutable description of how the gallery grid should order its nodes.
CloudPathBar
A path/navigation bar rendered inside the body of a folder browser (typically the first row below the consumer-supplied AppBar).
CloudUploadDialog
Progress dialog that tracks an UploadTask and offers a Cancel button.
MediaThumbnails
Two JPEG variants produced from a source media file.

Enums

CloudNodeSortField
Field that a CloudNodeSort orders on.

Functions

generateThumbnails(File file, {String? mimeType}) Future<MediaThumbnails?>
Generates a thumb (256w) and preview (1024w) JPEG for file if the MIME type is a supported image or video. Returns null for unsupported types (PDFs, docs, etc.) — pass those to upload() without variants.
pickCloudFolder(BuildContext context, {required CloudStorage storage, String? excludeFolderId, String startFolderId = kRootFolderId, String? title, String? moveHereLabel, String? rootLabel}) Future<String?>
Presents a modal that lets the user navigate the folder tree and pick a destination folder. Returns the selected folder's id, or null if the user cancelled.
sortCloudNodes(List<CloudNode> nodes, CloudNodeSort sort) List<CloudNode>
Returns a new list of nodes sorted according to sort. Does not mutate the input.

Typedefs

CloudNodeLongPressCallback = void Function(CloudNode node, LongPressStartDetails details)
Live grid of a folder's contents — folders shown as folder tiles, files as thumbnails (or generic icons until the Cloud Function generates a thumbnail). Signature for a long-press on a node in CloudFolderGrid. Exposes the tap details so consumers can position a menu at the touch point.