Merge pull request #668 from alikhabazian/newyear
add image field to ConnectionButton
This commit is contained in:
BIN
assets/images/connect_norouz.PNG
Normal file
BIN
assets/images/connect_norouz.PNG
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 MiB |
BIN
assets/images/disconnect_norouz.PNG
Normal file
BIN
assets/images/disconnect_norouz.PNG
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 166 KiB |
@@ -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,
|
||||
),
|
||||
);
|
||||
}
|
||||
},
|
||||
),
|
||||
),
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user