content method
Widget
content(
- BuildContext context, {
- required DeferredJobState<
XWidget> state, - required VoidCallback onRetry,
- required Size size,
Implementation
Widget content(
BuildContext context, {
required DeferredJobState<XWidget> state,
required VoidCallback onRetry,
required Size size,
}) {
final theme = hubbleThemeData(context);
if (state.isInProgress || state.isReady) {
return ShimmerContainer(
height: size.height,
width: size.width,
color: theme.baseTertiaryMedium,
decoration: BoxDecoration(
color: theme.baseTertiaryMedium,
borderRadius: BorderRadius.circular(16.0.dp),
),
margin: EdgeInsets.all(12.0.dp).copyWith(bottom: 0),
);
}
if (state.isFailed) {
return GestureDetector(
onTap: onRetry,
child: ShimmerContainer(
alignment: Alignment.center,
height: size.height,
width: size.width,
margin: EdgeInsets.all(12.0.dp).copyWith(bottom: 0),
color: theme.baseTertiaryMedium,
decoration: BoxDecoration(
color: theme.baseTertiaryMedium,
borderRadius: BorderRadius.circular(10),
),
child: const Column(
mainAxisSize: MainAxisSize.min,
children: [
Icon(PhosphorIcons.arrowCounterClockwise, size: 34),
HubbleText('Retry')
],
),
),
);
}
params.ssrWidget ??= (() {
final widget = _cookWidgetNonNullable(state.data!, params.context);
widget.applyTheme(theme);
return widget;
})();
return params.ssrWidget!.build(context);
}