From e667aa06d041345b6aaf6025a6252c9adfca3fff Mon Sep 17 00:00:00 2001 From: AN12345 Date: Tue, 13 Dec 2022 18:49:28 -0500 Subject: [PATCH] feat(ui_layout): make field nullable & add new app bar fields (#97) --- .../presentation/layouts/app_bar_layout.dart | 14 ++++++++++--- .../layouts/bottom_navigation_bar_layout.dart | 11 +++++----- .../presentation/layouts/frame_layout.dart | 21 ++++++++++++------- 3 files changed, 30 insertions(+), 16 deletions(-) diff --git a/packages/wyatt_ui_layout/lib/src/presentation/layouts/app_bar_layout.dart b/packages/wyatt_ui_layout/lib/src/presentation/layouts/app_bar_layout.dart index 93a5c6b4..d591dfee 100644 --- a/packages/wyatt_ui_layout/lib/src/presentation/layouts/app_bar_layout.dart +++ b/packages/wyatt_ui_layout/lib/src/presentation/layouts/app_bar_layout.dart @@ -20,18 +20,26 @@ import 'package:wyatt_ui_layout/src/presentation/layouts/layout.dart'; class AppBarLayout extends Layout { const AppBarLayout({ - required this.title, required this.body, + this.title, + this.leading, + this.actions, super.key, }); - final String title; + final String? title; + final Widget? leading; + final List? actions; final Widget body; @override Widget build(BuildContext context) => Scaffold( appBar: PreferredSize( preferredSize: const Size.fromHeight(60), - child: context.components.appBar?.configure(title: title) ?? + child: context.components.appBar?.configure( + title: title, + leading: leading, + actions: actions, + ) ?? const SizedBox.shrink(), ), body: body, diff --git a/packages/wyatt_ui_layout/lib/src/presentation/layouts/bottom_navigation_bar_layout.dart b/packages/wyatt_ui_layout/lib/src/presentation/layouts/bottom_navigation_bar_layout.dart index cb7b9900..632d5474 100644 --- a/packages/wyatt_ui_layout/lib/src/presentation/layouts/bottom_navigation_bar_layout.dart +++ b/packages/wyatt_ui_layout/lib/src/presentation/layouts/bottom_navigation_bar_layout.dart @@ -3,19 +3,18 @@ import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; import 'package:wyatt_ui_layout/src/presentation/layouts/layout.dart'; class BottomNavigationBarLayout extends Layout { - const BottomNavigationBarLayout({ - required this.currentIndex, - required this.body, + this.currentIndex, + this.body, super.key, }); - final Widget body; - final int currentIndex; + final Widget? body; + final int? currentIndex; @override Widget build(BuildContext context) => Scaffold( body: body, bottomNavigationBar: context.components.bottomNavigationBar?.configure( - currentIndex: currentIndex, + currentIndex: currentIndex ?? 0, ), ); } diff --git a/packages/wyatt_ui_layout/lib/src/presentation/layouts/frame_layout.dart b/packages/wyatt_ui_layout/lib/src/presentation/layouts/frame_layout.dart index 2414c2fb..4d8eb59c 100644 --- a/packages/wyatt_ui_layout/lib/src/presentation/layouts/frame_layout.dart +++ b/packages/wyatt_ui_layout/lib/src/presentation/layouts/frame_layout.dart @@ -19,27 +19,34 @@ import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; import 'package:wyatt_ui_layout/src/presentation/layouts/layout.dart'; class FrameLayout extends Layout { - const FrameLayout({ - required this.title, required this.body, - required this.currentIndex, + this.title, + this.leading, + this.actions, + this.currentIndex, super.key, }); - final String title; + final String? title; + final Widget? leading; + final List? actions; final Widget body; - final int currentIndex; + final int? currentIndex; @override Widget build(BuildContext context) => Scaffold( appBar: PreferredSize( preferredSize: const Size.fromHeight(60), - child: context.components.appBar?.configure(title: title) ?? + child: context.components.appBar?.configure( + title: title, + leading: leading, + actions: actions, + ) ?? const SizedBox.shrink(), ), body: body, bottomNavigationBar: context.components.bottomNavigationBar?.configure( - currentIndex: currentIndex, + currentIndex: currentIndex ?? 0, ), ); }