refactor: New html rendering

This commit is contained in:
Krille 2025-01-30 14:09:33 +01:00 committed by krille-chan
commit 12c948211b
No known key found for this signature in database
9 changed files with 467 additions and 436 deletions

View file

@ -4,6 +4,7 @@ import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_linkify/flutter_linkify.dart';
import 'package:just_audio/just_audio.dart';
import 'package:matrix/matrix.dart';
import 'package:opus_caf_converter_dart/opus_caf_converter_dart.dart';
@ -11,14 +12,15 @@ import 'package:path_provider/path_provider.dart';
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pages/chat/events/html_message.dart';
import 'package:fluffychat/utils/error_reporter.dart';
import 'package:fluffychat/utils/file_description.dart';
import 'package:fluffychat/utils/localized_exception_extension.dart';
import 'package:fluffychat/utils/url_launcher.dart';
import '../../../utils/matrix_sdk_extensions/event_extension.dart';
class AudioPlayerWidget extends StatefulWidget {
final Color color;
final Color linkColor;
final double fontSize;
final Event event;
@ -28,7 +30,8 @@ class AudioPlayerWidget extends StatefulWidget {
const AudioPlayerWidget(
this.event, {
this.color = Colors.black,
required this.color,
required this.linkColor,
required this.fontSize,
super.key,
});
@ -392,10 +395,20 @@ class AudioPlayerState extends State<AudioPlayerWidget> {
),
if (fileDescription != null) ...[
const SizedBox(height: 8),
HtmlMessage(
html: fileDescription,
textColor: widget.color,
room: widget.event.room,
Linkify(
text: fileDescription,
style: TextStyle(
color: widget.color,
fontSize: widget.fontSize,
),
options: const LinkifyOptions(humanize: false),
linkStyle: TextStyle(
color: widget.linkColor,
fontSize: widget.fontSize,
decoration: TextDecoration.underline,
decorationColor: widget.linkColor,
),
onOpen: (url) => UrlLauncher(context, url.url).launchUrl(),
),
],
],