Move CupertinoLoadingWidget to core module

Signed-off-by: dab246 <tdvu@linagora.com>
(cherry picked from commit 2091224f5e55587af2b4c901299673cd0387d15a)
This commit is contained in:
dab246
2023-10-13 15:22:17 +07:00
committed by Dat H. Pham
parent f35bcd8c88
commit 01ea3c4dbe
11 changed files with 52 additions and 45 deletions
+1
View File
@@ -84,6 +84,7 @@ export 'presentation/views/checkbox/labeled_checkbox.dart';
export 'presentation/views/container/tmail_container_widget.dart';
export 'presentation/views/clipper/side_arrow_clipper.dart';
export 'presentation/views/avatar/gradient_circle_avatar_icon.dart';
export 'presentation/views/loading/cupertino_loading_widget.dart';
// Resources
export 'presentation/resources/assets_paths.dart';
@@ -0,0 +1,45 @@
import 'package:core/presentation/views/loading/cupertino_loading_widget_styles.dart';
import 'package:flutter/cupertino.dart';
class CupertinoLoadingWidget extends StatelessWidget {
final double? size;
final EdgeInsetsGeometry? padding;
final bool isCenter;
const CupertinoLoadingWidget({
super.key,
this.size,
this.padding,
this.isCenter = true,
});
@override
Widget build(BuildContext context) {
final item = isCenter
? Center(
child: SizedBox(
width: size ?? CupertinoLoadingWidgetStyles.size,
height: size ?? CupertinoLoadingWidgetStyles.size,
child: const CupertinoActivityIndicator(
color: CupertinoLoadingWidgetStyles.progressColor
)
)
)
: Align(
alignment: AlignmentDirectional.topCenter,
child: SizedBox(
width: size ?? CupertinoLoadingWidgetStyles.size,
height: size ?? CupertinoLoadingWidgetStyles.size,
child: const CupertinoActivityIndicator(
color: CupertinoLoadingWidgetStyles.progressColor
)
),
);
if (padding != null) {
return Padding(padding: padding!, child: item);
} else {
return item;
}
}
}
@@ -0,0 +1,7 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:flutter/material.dart';
class CupertinoLoadingWidgetStyles {
static const Color progressColor = AppColor.colorLoading;
static const double size = 24;
}