From 54306847f8bcb911c5a144726069d9a24247495b Mon Sep 17 00:00:00 2001 From: krille-chan Date: Wed, 11 Sep 2024 13:56:28 +0200 Subject: [PATCH] chore: Follow up audioplayer design --- lib/pages/chat/events/audio_player.dart | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/lib/pages/chat/events/audio_player.dart b/lib/pages/chat/events/audio_player.dart index 80492f284..6225a5c5e 100644 --- a/lib/pages/chat/events/audio_player.dart +++ b/lib/pages/chat/events/audio_player.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'dart:io'; +import 'package:fluffychat/config/app_config.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -244,6 +245,11 @@ class AudioPlayerState extends State { body.isNotEmpty && widget.event.content['org.matrix.msc1767.audio'] == null; + final wavePosition = + (currentPosition / maxPosition) * AudioPlayerWidget.wavesCount; + + final fontSize = 12 * AppConfig.fontSizeFactor; + return Padding( padding: const EdgeInsets.all(12.0), child: Column( @@ -300,8 +306,10 @@ class AudioPlayerState extends State { horizontal: 1, ), decoration: BoxDecoration( - color: widget.color.withAlpha(96), - borderRadius: BorderRadius.circular(32), + color: i < wavePosition + ? theme.colorScheme.onPrimaryContainer + : widget.color.withAlpha(64), + borderRadius: BorderRadius.circular(64), ), height: 32 * (waveform[i] / 1024), ), @@ -366,22 +374,24 @@ class AudioPlayerState extends State { ], ), ), - if (displayBody) + if (displayBody) ...[ + const SizedBox(height: 8), Linkify( text: body, style: TextStyle( color: widget.color, - fontSize: widget.fontSize, + fontSize: fontSize, ), options: const LinkifyOptions(humanize: false), linkStyle: TextStyle( color: widget.color.withAlpha(150), - fontSize: widget.fontSize, + fontSize: fontSize, decoration: TextDecoration.underline, decorationColor: widget.color.withAlpha(150), ), onOpen: (url) => UrlLauncher(context, url.url).launchUrl(), ), + ], ], ), );