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 bool hasPadding; const DidvanScaffold({ Key? key, this.slivers, required this.appBarData, this.hasPadding = true, this.children, }) : super(key: key); @override Widget build(BuildContext context) { final double statusBarHeight = MediaQuery.of(context).padding.top; return Scaffold( body: Padding( padding: EdgeInsets.only(top: statusBarHeight), child: CustomScrollView( slivers: [ SliverAppBar( toolbarHeight: kToolbarHeight, backgroundColor: Theme.of(context).backgroundColor, automaticallyImplyLeading: false, pinned: true, flexibleSpace: DidvanAppBar(appBarData: appBarData), ), const SliverToBoxAdapter( child: SizedBox(height: 16), ), if (children != null) SliverPadding( padding: const EdgeInsets.symmetric(horizontal: 16), sliver: SliverList( delegate: SliverChildBuilderDelegate( (context, index) => children![index], childCount: children!.length, ), ), ), if (slivers != null) ...slivers!, ], ), ), ); } }