build method
Implementation
@override
Widget build(BuildContext context, Widget child) {
if (value.device is NoneDevice) {
return child;
}
return Padding(
padding: const EdgeInsets.all(32),
child: Center(
child: DeviceFrame(
orientation: value.orientation,
device: value.device,
isFrameVisible: value.hasFrame,
screen: ColoredBox(
color: WidgetbookTheme.of(context).scaffoldBackgroundColor,
// A navigator below the device frame is necessary to make the popup
// routes (e.g. dialogs and bottom sheets) work within the device
// frame, otherwise they would use the navigator from the app
// builder, causing these routes to fill the whole workbench and not
// just the device frame.
child: Navigator(
onGenerateRoute: (_) => PageRouteBuilder(
pageBuilder: (context, _, __) => value.hasFrame
? child
: SafeArea(
child: child,
),
),
),
),
),
),
);
}