didvan scaffold now supprts real slivers!

This commit is contained in:
MohammadTaha Basiri 2022-01-07 13:56:55 +03:30
parent 6928cb697e
commit 4cab5a4c8c
3 changed files with 8 additions and 5 deletions

View File

@ -15,7 +15,7 @@ class EditProfile extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return DidvanScaffold( return DidvanScaffold(
appBarData: AppBarData(title: 'ویرایش پروفایل'), appBarData: AppBarData(title: 'ویرایش پروفایل'),
slivers: [ children: [
const SizedBox(height: 16), const SizedBox(height: 16),
const ProfilePhoto(), const ProfilePhoto(),
const SizedBox(height: 16), const SizedBox(height: 16),

View File

@ -30,7 +30,7 @@ class Settings extends StatelessWidget {
state: context.read<SettingsState>(), state: context.read<SettingsState>(),
builder: (context, state) => DidvanScaffold( builder: (context, state) => DidvanScaffold(
appBarData: AppBarData(hasBack: true, title: 'تنظیمات'), appBarData: AppBarData(hasBack: true, title: 'تنظیمات'),
slivers: [ children: [
DidvanCard( DidvanCard(
child: MenuItem( child: MenuItem(
title: 'زمان دریافت اعلان', title: 'زمان دریافت اعلان',

View File

@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
class DidvanScaffold extends StatelessWidget { class DidvanScaffold extends StatelessWidget {
final List<Widget>? slivers; final List<Widget>? slivers;
final List<Widget>? children;
final AppBarData appBarData; final AppBarData appBarData;
final bool hasPadding; final bool hasPadding;
const DidvanScaffold({ const DidvanScaffold({
@ -11,6 +12,7 @@ class DidvanScaffold extends StatelessWidget {
this.slivers, this.slivers,
required this.appBarData, required this.appBarData,
this.hasPadding = true, this.hasPadding = true,
this.children,
}) : super(key: key); }) : super(key: key);
@override @override
@ -31,16 +33,17 @@ class DidvanScaffold extends StatelessWidget {
const SliverToBoxAdapter( const SliverToBoxAdapter(
child: SizedBox(height: 16), child: SizedBox(height: 16),
), ),
if (slivers != null) if (children != null)
SliverPadding( SliverPadding(
padding: const EdgeInsets.symmetric(horizontal: 16), padding: const EdgeInsets.symmetric(horizontal: 16),
sliver: SliverList( sliver: SliverList(
delegate: SliverChildBuilderDelegate( delegate: SliverChildBuilderDelegate(
(context, index) => slivers![index], (context, index) => children![index],
childCount: slivers!.length, childCount: children!.length,
), ),
), ),
), ),
if (slivers != null) ...slivers!,
], ],
), ),
), ),