fix: mobile chat icon (#8041)

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou 2024-05-14 15:35:34 +08:00 committed by GitHub
parent 0500bf070e
commit 53647fd58e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -419,7 +419,11 @@ class _RemotePageState extends State<RemotePage> {
: <Widget>[ : <Widget>[
IconButton( IconButton(
color: Colors.white, color: Colors.white,
icon: Icon(Icons.message), icon: isAndroid
? SvgPicture.asset('assets/chat.svg',
colorFilter: ColorFilter.mode(
Colors.white, BlendMode.srcIn))
: Icon(Icons.message),
onPressed: () => isAndroid onPressed: () => isAndroid
? showChatOptions(widget.id) ? showChatOptions(widget.id)
: onPressedTextChat(widget.id), : onPressedTextChat(widget.id),
@ -549,19 +553,15 @@ class _RemotePageState extends State<RemotePage> {
onPressVoiceCall() => bind.sessionRequestVoiceCall(sessionId: sessionId); onPressVoiceCall() => bind.sessionRequestVoiceCall(sessionId: sessionId);
onPressEndVoiceCall() => bind.sessionCloseVoiceCall(sessionId: sessionId); onPressEndVoiceCall() => bind.sessionCloseVoiceCall(sessionId: sessionId);
makeTextMenu(String label, String svg, VoidCallback onPressed, makeTextMenu(String label, Widget icon, VoidCallback onPressed,
{ColorFilter? colorFilter, TextStyle? labelStyle}) => {TextStyle? labelStyle}) =>
TTextMenu( TTextMenu(
child: Text(translate(label), style: labelStyle), child: Text(translate(label), style: labelStyle),
trailingIcon: Transform.scale( trailingIcon: Transform.scale(
scale: (isDesktop || isWebDesktop) ? 0.8 : 1, scale: (isDesktop || isWebDesktop) ? 0.8 : 1,
child: IconButton( child: IconButton(
onPressed: onPressed, onPressed: onPressed,
icon: SvgPicture.asset( icon: icon,
svg,
colorFilter: colorFilter ??
ColorFilter.mode(MyTheme.accent, BlendMode.srcIn),
),
), ),
), ),
onPressed: onPressed, onPressed: onPressed,
@ -572,15 +572,25 @@ class _RemotePageState extends State<RemotePage> {
VoiceCallStatus.connected VoiceCallStatus.connected
].contains(gFFI.chatModel.voiceCallStatus.value); ].contains(gFFI.chatModel.voiceCallStatus.value);
final menus = [ final menus = [
makeTextMenu( makeTextMenu('Text chat', Icon(Icons.message, color: MyTheme.accent),
'Text chat', 'assets/chat.svg', () => onPressedTextChat(widget.id)), () => onPressedTextChat(widget.id)),
isInVoice isInVoice
? makeTextMenu( ? makeTextMenu(
'End voice call', 'assets/call_wait.svg', onPressEndVoiceCall, 'End voice call',
colorFilter: ColorFilter.mode(Colors.redAccent, BlendMode.srcIn), SvgPicture.asset(
'assets/call_wait.svg',
colorFilter:
ColorFilter.mode(Colors.redAccent, BlendMode.srcIn),
),
onPressEndVoiceCall,
labelStyle: TextStyle(color: Colors.redAccent)) labelStyle: TextStyle(color: Colors.redAccent))
: makeTextMenu( : makeTextMenu(
'Voice call', 'assets/call_wait.svg', onPressVoiceCall), 'Voice call',
SvgPicture.asset(
'assets/call_wait.svg',
colorFilter: ColorFilter.mode(MyTheme.accent, BlendMode.srcIn),
),
onPressVoiceCall),
]; ];
getChild(TTextMenu menu) { getChild(TTextMenu menu) {
if (menu.trailingIcon != null) { if (menu.trailingIcon != null) {