diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/component.dart b/packages/wyatt_ui_components/lib/src/domain/entities/component.dart new file mode 100644 index 00000000..0a2f8205 --- /dev/null +++ b/packages/wyatt_ui_components/lib/src/domain/entities/component.dart @@ -0,0 +1,5 @@ +import 'package:flutter/material.dart'; + +abstract class Component extends StatelessWidget { + const Component({super.key}); +} diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/components.dart b/packages/wyatt_ui_components/lib/src/domain/entities/components.dart index 496f50ce..105753c3 100644 --- a/packages/wyatt_ui_components/lib/src/domain/entities/components.dart +++ b/packages/wyatt_ui_components/lib/src/domain/entities/components.dart @@ -15,19 +15,16 @@ // along with this program. If not, see . import 'package:flutter/material.dart'; +import 'package:wyatt_ui_components/src/domain/entities/component.dart'; -abstract class AppBarComponent extends PreferredSize { +abstract class AppBarComponent extends Component { final String? title; - const AppBarComponent({this.title, super.key}) - : super( - preferredSize: const Size.fromHeight(60), - child: const SizedBox.shrink(), - ); + const AppBarComponent({this.title, super.key}); AppBarComponent configure({String? title}); } -abstract class BottomNavigationBarComponent extends StatelessWidget { +abstract class BottomNavigationBarComponent extends Component { final int currentIndex; final void Function(BuildContext, int)? onTap; const BottomNavigationBarComponent({ @@ -41,3 +38,12 @@ abstract class BottomNavigationBarComponent extends StatelessWidget { int currentIndex = 0, }); } + +abstract class ErrorWidget extends Component { + final String error; + const ErrorWidget({required this.error, super.key}); +} + +abstract class LoadingWidget extends Component { + const LoadingWidget({super.key}); +} diff --git a/packages/wyatt_ui_components/lib/src/features/component_theme_data.dart b/packages/wyatt_ui_components/lib/src/features/component_theme_data.dart index 0e6ddf34..79594623 100644 --- a/packages/wyatt_ui_components/lib/src/features/component_theme_data.dart +++ b/packages/wyatt_ui_components/lib/src/features/component_theme_data.dart @@ -19,9 +19,13 @@ import 'package:wyatt_ui_components/src/domain/entities/components.dart'; class ComponentThemeData { final AppBarComponent appBar; final BottomNavigationBarComponent bottomNavigationBar; + final ErrorWidget errorWidget; + final LoadingWidget loadingWidget; const ComponentThemeData.raw({ required this.appBar, required this.bottomNavigationBar, + required this.errorWidget, + required this.loadingWidget, }); }