Merge branch 'main' of hiddify-github:hiddify/hiddify-next
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 connectionStatus = ref.watch(connectionNotifierProvider);
|
||||||
final requiresReconnect =
|
final requiresReconnect =
|
||||||
ref.watch(configOptionNotifierProvider).valueOrNull;
|
ref.watch(configOptionNotifierProvider).valueOrNull;
|
||||||
|
final today = DateTime.now();
|
||||||
|
|
||||||
ref.listen(
|
ref.listen(
|
||||||
connectionNotifierProvider,
|
connectionNotifierProvider,
|
||||||
@@ -93,6 +94,18 @@ class ConnectionButton extends HookConsumerWidget {
|
|||||||
AsyncData(value: _) => buttonTheme.idleColor!,
|
AsyncData(value: _) => buttonTheme.idleColor!,
|
||||||
_ => Colors.red,
|
_ => 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.enabled,
|
||||||
required this.label,
|
required this.label,
|
||||||
required this.buttonColor,
|
required this.buttonColor,
|
||||||
|
required this.image,
|
||||||
|
required this.useImage,
|
||||||
});
|
});
|
||||||
|
|
||||||
final VoidCallback onTap;
|
final VoidCallback onTap;
|
||||||
final bool enabled;
|
final bool enabled;
|
||||||
final String label;
|
final String label;
|
||||||
final Color buttonColor;
|
final Color buttonColor;
|
||||||
|
final AssetGenImage image;
|
||||||
|
final bool useImage;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
@@ -144,12 +161,19 @@ class _ConnectionButton extends StatelessWidget {
|
|||||||
tween: ColorTween(end: buttonColor),
|
tween: ColorTween(end: buttonColor),
|
||||||
duration: const Duration(milliseconds: 250),
|
duration: const Duration(milliseconds: 250),
|
||||||
builder: (context, value, child) {
|
builder: (context, value, child) {
|
||||||
return Assets.images.logo.svg(
|
if(useImage) {
|
||||||
colorFilter: ColorFilter.mode(
|
return image.image(
|
||||||
value!,
|
filterQuality: FilterQuality.medium
|
||||||
BlendMode.srcIn,
|
);
|
||||||
),
|
}
|
||||||
);
|
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.png
|
||||||
- assets/images/tray_icon_connected.ico
|
- assets/images/tray_icon_connected.ico
|
||||||
- assets/images/tray_icon_disconnected.ico
|
- assets/images/tray_icon_disconnected.ico
|
||||||
|
- assets/images/connect_norouz.PNG
|
||||||
|
- assets/images/disconnect_norouz.PNG
|
||||||
|
|
||||||
fonts:
|
fonts:
|
||||||
- family: Shabnam
|
- family: Shabnam
|
||||||
|
|||||||
Reference in New Issue
Block a user