import 'package:didvan/models/view/app_bar_data.dart'; import 'package:didvan/widgets/didvan/app_bar.dart'; import 'package:flutter/material.dart'; class DidvanScaffold extends StatelessWidget { final List? slivers; final List? children; final AppBarData appBarData; final EdgeInsets padding; final Color? backgroundColor; const DidvanScaffold({ Key? key, this.slivers, required this.appBarData, this.children, this.padding = const EdgeInsets.symmetric(horizontal: 16), this.backgroundColor, }) : super(key: key); @override Widget build(BuildContext context) { final double statusBarHeight = MediaQuery.of(context).padding.top; return Scaffold( backgroundColor: backgroundColor, body: Padding( padding: EdgeInsets.only(top: statusBarHeight), child: CustomScrollView( slivers: [ SliverAppBar( toolbarHeight: kToolbarHeight, backgroundColor: backgroundColor ?? Theme.of(context).colorScheme.background, automaticallyImplyLeading: false, pinned: true, flexibleSpace: DidvanAppBar(appBarData: appBarData), ), const SliverToBoxAdapter( child: SizedBox(height: 16), ), if (children != null) SliverPadding( padding: padding, sliver: SliverList( delegate: SliverChildBuilderDelegate( (context, index) => children![index], childCount: children!.length, ), ), ), if (slivers != null) for (var i = 0; i < slivers!.length; i++) SliverPadding( padding: padding, sliver: slivers![i], ), ], ), ), ); } }