import 'package:flutter/material.dart'; import 'package:flutter_example_packages/base/di/app_di.dart'; import 'package:flutter_example_packages/theme/colors.dart'; import 'package:flutter_example_packages/widgets/base/export.dart'; import 'package:flutter_example_packages/widgets/texts/export.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:scoped_model/scoped_model.dart'; class BlockLayout extends AppStatelessWidget { const BlockLayout({ super.key, this.title, required this.builder, }); final String? title; final Widget Function(BuildContext context, Widget? child, T model) builder; @override Widget buildWide( BuildContext context, MediaQueryData media, AppLocalizations l10n, ) { return ScopedModel( model: getIt(), child: ScopedModelDescendant( builder: (context, child, model) { return Scaffold( appBar: title == null ? null : AppBar( leading: Padding( padding: const EdgeInsets.all(8.0), child: ClipOval( child: Material( color: Colors.blueGrey, child: IconButton( icon: const Icon(Icons.arrow_back), tooltip: 'Back', onPressed: () { Navigator.of(context).pop(); }, ), ), ), ), backgroundColor: AppColors.primary, title: TextTitleSmall( title!, color: Colors.white, ), ), body: builder.call(context, child, model), ); }, ), ); } }