We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Firebase UI Storage
Android, iOS, Web, macOS, Linux, Windows
Dart SDK 3.6.0-216.1.beta Flutter SDK 3.26.0-0.1.pre segalytics 1.0.0+1 dependencies:
dependencies:
dev dependencies:
transitive dependencies:
import 'package:firebase_storage/firebase_storage.dart'; import 'package:firebase_ui_auth/firebase_ui_auth.dart'; import 'package:firebase_ui_storage/firebase_ui_storage.dart'; import 'package:flutter/material.dart'; class SignupTestPage extends StatefulWidget { static const String name = 'signup_test'; const SignupTestPage({super.key}); @override State<SignupTestPage> createState() => _SignupTestPageState(); } class _SignupTestPageState extends State<SignupTestPage> { @override void initState() { super.initState(); initFirebaseStorageUI(); } Future<void> initFirebaseStorageUI() async { final FirebaseStorage storage = FirebaseStorage.instance; final FirebaseUIStorageConfiguration config = FirebaseUIStorageConfiguration( storage: storage, uploadRoot: storage.ref('/test'), namingPolicy: FileUploadNamingPolicy.keepPath(), ); await FirebaseUIStorage.configure(config); } @override Widget build(BuildContext context) { return Column( children: [ MyUploadWidget( onUploadComplete: () { setState(() {}); }, ), SizedBox( height: 300, child: StorageGridView( ref: FirebaseStorage.instance.ref('/test'), loadingBuilder: (context) { return Center( child: Text('Loading...'), ); }, itemBuilder: (context, ref) { return AspectRatio( aspectRatio: 1, child: StorageImage(ref: ref), ); }, ), ), ], ); } } class MyUploadWidget extends StatelessWidget { final VoidCallback? onUploadComplete; const MyUploadWidget({super.key, this.onUploadComplete}); @override Widget build(BuildContext context) { UploadTask? task; return StatefulBuilder(builder: (context, setState) { return Stack( children: [ if (task != null) TaskProgressIndicator(task: task!), Visibility( visible: task == null, maintainState: true, maintainSize: true, maintainAnimation: true, child: UploadButton( onUploadStarted: (t) { setState(() { task = t; }); }, onUploadComplete: (ref) { setState(() { task = null; }); // Handle successful upload ScaffoldMessenger.of(context).showSnackBar( SnackBar(content: Text('Upload complete: ${ref.fullPath}')), ); onUploadComplete?.call(); }, onError: (e, stackTrace) { // Handle error ScaffoldMessenger.of(context).showSnackBar( SnackBar(content: Text(e.toString())), ); }, variant: ButtonVariant.filled, ), ), ], ); }); } }
Currently, the very basic flow of uploading an image and seeing it is uploaded is broken.
StorageGridView doesn't load new images after it loads the first time.
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Is there an existing issue for this?
What plugin is this bug for?
Firebase UI Storage
What platform(s) does this bug affect?
Android, iOS, Web, macOS, Linux, Windows
List of dependencies used.
flutter pub deps -s list
dev dependencies:
transitive dependencies:
Steps to reproduce
Expected Behavior
Currently, the very basic flow of uploading an image and seeing it is uploaded is broken.
Actual Behavior
StorageGridView doesn't load new images after it loads the first time.
Additional Information
Screen.Recording.2024-10-03.164840.mp4
The text was updated successfully, but these errors were encountered: