build method Null safety

  1. @override
dynamic build(
  1. dynamic context
)

Implementation

@override
Widget build(BuildContext context) {
  final AppLocalizations appLocalizations = AppLocalizations.of(context);
  return LayoutBuilder(
      builder: (BuildContext context, BoxConstraints constraints) {
    return SmoothCard(
      elevation: elevation,
      child: Padding(
        padding: EdgeInsets.symmetric(
          vertical: constraints.maxHeight * 0.10,
          horizontal: constraints.maxWidth * 0.05,
        ),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          crossAxisAlignment: CrossAxisAlignment.center,
          children: <Widget>[
            Text(
              appLocalizations.missing_product,
              textAlign: TextAlign.center,
              style: Theme.of(context).textTheme.headline2,
            ),
            Text(
              appLocalizations.add_product_take_photos,
              textAlign: TextAlign.center,
              style: Theme.of(context).textTheme.bodyText2,
            ),
            Padding(
              padding: const EdgeInsets.only(top: LARGE_SPACE),
              child: SmoothLargeButtonWithIcon(
                text: appLocalizations.add_product_information_button_label,
                icon: Icons.add,
                padding: const EdgeInsets.symmetric(vertical: LARGE_SPACE),
                onPressed: () async {
                  final String? result = await Navigator.push<String>(
                    context,
                    MaterialPageRoute<String>(
                      builder: (BuildContext context) =>
                          AddNewProductPage(barcode),
                    ),
                  );
                  if (callback != null) {
                    await callback!(result);
                  }
                },
              ),
            ),
          ],
        ),
      ),
    );
  });
}