better message_item layout

This commit is contained in:
Mike Schwörer 2024-06-15 12:37:38 +02:00
parent 8126327b95
commit 9c366399df
Signed by: Mikescher
GPG Key ID: D3C7172E0A70F8CF
4 changed files with 44 additions and 24 deletions

View File

@ -48,10 +48,6 @@ class MessageListItem extends StatelessWidget {
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if (message.priority == 2) FaIcon(FontAwesomeIcons.solidTriangleExclamation, size: 16, color: Colors.red[900]),
if (message.priority == 2) SizedBox(width: 4),
if (message.priority == 0) FaIcon(FontAwesomeIcons.solidDown, size: 16, color: Colors.lightBlue[900]),
if (message.priority == 0) SizedBox(width: 4),
Expanded(
child: Text(
processTitle(message.title),
@ -69,12 +65,23 @@ class MessageListItem extends StatelessWidget {
],
),
SizedBox(height: 4),
Text(
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Expanded(
child: Text(
processContent(message.content),
style: TextStyle(color: Theme.of(context).textTheme.bodyLarge?.color?.withAlpha(160)),
overflow: TextOverflow.ellipsis,
maxLines: _lineCount,
),
),
if (message.priority == 2) SizedBox(width: 4),
if (message.priority == 2) FaIcon(FontAwesomeIcons.solidTriangleExclamation, size: 16, color: Colors.red[900]),
if (message.priority == 0) SizedBox(width: 4),
if (message.priority == 0) FaIcon(FontAwesomeIcons.solidDown, size: 16, color: Colors.lightBlue[900]),
],
),
],
),
),
@ -99,10 +106,6 @@ class MessageListItem extends StatelessWidget {
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if (message.priority == 2) FaIcon(FontAwesomeIcons.solidTriangleExclamation, size: 16, color: Colors.red[900]),
if (message.priority == 2) SizedBox(width: 4),
if (message.priority == 0) FaIcon(FontAwesomeIcons.solidDown, size: 16, color: Colors.lightBlue[900]),
if (message.priority == 0) SizedBox(width: 4),
UI.channelChip(
context: context,
text: resolveChannelName(message),
@ -124,12 +127,23 @@ class MessageListItem extends StatelessWidget {
overflow: TextOverflow.ellipsis,
maxLines: 3,
),
Text(
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Expanded(
child: Text(
processContent(message.content),
style: TextStyle(color: Theme.of(context).textTheme.bodyLarge?.color?.withAlpha(160)),
overflow: TextOverflow.ellipsis,
maxLines: _lineCount,
),
),
if (message.priority == 2) SizedBox(width: 4),
if (message.priority == 2) FaIcon(FontAwesomeIcons.solidTriangleExclamation, size: 16, color: Colors.red[900]),
if (message.priority == 0) SizedBox(width: 4),
if (message.priority == 0) FaIcon(FontAwesomeIcons.solidDown, size: 16, color: Colors.lightBlue[900]),
],
),
],
),
),

View File

@ -163,7 +163,7 @@ class _MessageViewPageState extends State<MessageViewPage> {
],
),
SizedBox(height: 8),
Text(message.title, style: const TextStyle(fontSize: 18, fontWeight: FontWeight.bold)),
Text(_preformatTitle(message), style: const TextStyle(fontSize: 18, fontWeight: FontWeight.bold)),
];
}
@ -248,4 +248,8 @@ class _MessageViewPageState extends State<MessageViewPage> {
);
}
}
String _preformatTitle(Message message) {
return message.title.replaceAll('\n', '').replaceAll('\r', '').replaceAll('\t', ' ');
}
}

View File

@ -130,6 +130,8 @@ class _SendRootPageState extends State<SendRootPage> {
try {
final Uri uri = Uri.parse(url);
ApplicationLog.debug('Opening URL: [ ${uri.toString()} ]');
if (await canLaunchUrl(uri)) {
await launchUrl(uri);
} else {

View File

@ -6,7 +6,7 @@ part 'application_log.g.dart';
class ApplicationLog {
static void debug(String message, {String? additional, StackTrace? trace}) {
print('[DEBUG] ${message}: ${additional ?? ''}');
(additional != null && additional != '') ? print('[DEBUG] ${message}: ${additional}') : print('[DEBUG] ${message}');
Hive.box<SCNLog>('scn-logs').add(SCNLog(
id: Xid().toString(),
@ -19,7 +19,7 @@ class ApplicationLog {
}
static void info(String message, {String? additional, StackTrace? trace}) {
print('[INFO] ${message}: ${additional ?? ''}');
(additional != null && additional != '') ? print('[INFO] ${message}: ${additional}') : print('[INFO] ${message}');
Hive.box<SCNLog>('scn-logs').add(SCNLog(
id: Xid().toString(),
@ -32,7 +32,7 @@ class ApplicationLog {
}
static void warn(String message, {String? additional, StackTrace? trace}) {
print('[WARN] ${message}: ${additional ?? ''}');
(additional != null && additional != '') ? print('[WARN] ${message}: ${additional}') : print('[WARN] ${message}');
Hive.box<SCNLog>('scn-logs').add(SCNLog(
id: Xid().toString(),
@ -45,7 +45,7 @@ class ApplicationLog {
}
static void error(String message, {String? additional, StackTrace? trace}) {
print('[ERROR] ${message}: ${additional ?? ''}');
(additional != null && additional != '') ? print('[ERROR] ${message}: ${additional}') : print('[ERROR] ${message}');
Hive.box<SCNLog>('scn-logs').add(SCNLog(
id: Xid().toString(),
@ -58,7 +58,7 @@ class ApplicationLog {
}
static void fatal(String message, {String? additional, StackTrace? trace}) {
print('[FATAL] ${message}: ${additional ?? ''}');
(additional != null && additional != '') ? print('[FATAL] ${message}: ${additional}') : print('[FATAL] ${message}');
Hive.box<SCNLog>('scn-logs').add(SCNLog(
id: Xid().toString(),