profileUi method
Widget
profileUi({
- required Widget builder(
- BuildContext context,
- TProfile? profile
- Widget? loading,
A simplified reactive StreamBuilder UI helper for the user profile.
Implementation
Widget profileUi({
required Widget Function(BuildContext context, TProfile? profile) builder,
Widget? loading,
}) {
return StreamBuilder<TProfile?>(
stream: profileStream,
initialData: profile,
builder: (context, snapshot) {
if (snapshot.hasError) {
return const SizedBox.shrink();
}
// If there's no data yet and we're waiting/loading
if (snapshot.connectionState == ConnectionState.waiting &&
!snapshot.hasData) {
return loading ?? const Center(child: CircularProgressIndicator());
}
return builder(context, snapshot.data);
},
);
}