diff --git a/assets/images/connect_norouz.PNG b/assets/images/connect_norouz.PNG new file mode 100644 index 00000000..280edc56 Binary files /dev/null and b/assets/images/connect_norouz.PNG differ diff --git a/assets/images/disconnect_norouz.PNG b/assets/images/disconnect_norouz.PNG new file mode 100644 index 00000000..05bcb560 Binary files /dev/null and b/assets/images/disconnect_norouz.PNG differ diff --git a/lib/features/home/widget/connection_button.dart b/lib/features/home/widget/connection_button.dart index e8aa4b29..c44f8009 100644 --- a/lib/features/home/widget/connection_button.dart +++ b/lib/features/home/widget/connection_button.dart @@ -25,6 +25,7 @@ class ConnectionButton extends HookConsumerWidget { final connectionStatus = ref.watch(connectionNotifierProvider); final requiresReconnect = ref.watch(configOptionNotifierProvider).valueOrNull; + final today = DateTime.now(); ref.listen( connectionNotifierProvider, @@ -93,6 +94,18 @@ class ConnectionButton extends HookConsumerWidget { AsyncData(value: _) => buttonTheme.idleColor!, _ => Colors.red, }, + image:switch (connectionStatus) { + AsyncData(value: Connected()) when requiresReconnect == true => + Assets.images.disconnectNorouz, + AsyncData(value: Connected()) => Assets.images.connectNorouz, + AsyncData(value: _) => Assets.images.disconnectNorouz, + _ => Assets.images.disconnectNorouz, + AsyncData(value: Disconnected()) || AsyncError() => Assets.images.disconnectNorouz, + AsyncData(value: Connected()) => Assets.images.connectNorouz, + _ =>Assets.images.disconnectNorouz, + }, + useImage:today.day>=19 && today.day<=23 && today.month==3 , + ); } } @@ -103,12 +116,16 @@ class _ConnectionButton extends StatelessWidget { required this.enabled, required this.label, required this.buttonColor, + required this.image, + required this.useImage, }); final VoidCallback onTap; final bool enabled; final String label; final Color buttonColor; + final AssetGenImage image; + final bool useImage; @override Widget build(BuildContext context) { @@ -144,12 +161,19 @@ class _ConnectionButton extends StatelessWidget { tween: ColorTween(end: buttonColor), duration: const Duration(milliseconds: 250), builder: (context, value, child) { - return Assets.images.logo.svg( - colorFilter: ColorFilter.mode( - value!, - BlendMode.srcIn, - ), - ); + if(useImage) { + return image.image( + filterQuality: FilterQuality.medium + ); + } + else{ + return Assets.images.logo.svg( + colorFilter: ColorFilter.mode( + value!, + BlendMode.srcIn, + ), + ); + } }, ), ), diff --git a/pubspec.yaml b/pubspec.yaml index bba7cd48..5d139c70 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -113,6 +113,8 @@ flutter: - assets/images/tray_icon.png - assets/images/tray_icon_connected.ico - assets/images/tray_icon_disconnected.ico + - assets/images/connect_norouz.PNG + - assets/images/disconnect_norouz.PNG fonts: - family: Shabnam