diff --git a/core/lib/presentation/extensions/color_extension.dart b/core/lib/presentation/extensions/color_extension.dart index bbf5f8fea..ba69f2ff4 100644 --- a/core/lib/presentation/extensions/color_extension.dart +++ b/core/lib/presentation/extensions/color_extension.dart @@ -181,6 +181,8 @@ extension AppColor on Color { static const colorErrorState = Color(0xFFE64646); static const colorBackgroundErrorState = Color(0xFFFAEBEB); static const colorBackgroundDeliveringState = Color(0xFFF2F3F5); + static const colorNetworkConnectionBannerBackground = Color(0x99EBEDF0); + static const colorNetworkConnectionLabel = Color(0xFF818C99); static const mapGradientColor = [ [Color(0xFF21D4FD), Color(0xFFB721FF)], diff --git a/lib/features/network_connection/presentation/network_connection_banner_widget.dart b/lib/features/network_connection/presentation/network_connection_banner_widget.dart new file mode 100644 index 000000000..5ab64437f --- /dev/null +++ b/lib/features/network_connection/presentation/network_connection_banner_widget.dart @@ -0,0 +1,34 @@ + +import 'package:core/presentation/extensions/color_extension.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; + +class NetworkConnectionBannerWidget extends StatelessWidget { + + const NetworkConnectionBannerWidget({super.key}); + + @override + Widget build(BuildContext context) { + return Container( + color: AppColor.colorNetworkConnectionBannerBackground, + width: double.infinity, + padding: const EdgeInsetsDirectional.symmetric(vertical: 6, horizontal: 16), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const CupertinoActivityIndicator(), + const SizedBox(width: 8), + Text( + AppLocalizations.of(context).no_internet_connection, + textAlign: TextAlign.center, + style: const TextStyle( + color: AppColor.colorNetworkConnectionLabel, + fontSize: 14, + fontWeight: FontWeight.w500, + ), + ), + ], + ), + ); + } +} \ No newline at end of file