tweak MessageDisplayname fallback state

This commit is contained in:
Henry Hiles 2026-10-03 12:23:33 -04:00
commit f23a29e7c1
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs

View file

@ -5,6 +5,7 @@ import "package:nexus/helpers/extensions/get_localpart.dart";
import "package:nexus/helpers/extensions/show_user_popover.dart"; import "package:nexus/helpers/extensions/show_user_popover.dart";
import "package:nexus/helpers/extensions/string_to_color.dart"; import "package:nexus/helpers/extensions/string_to_color.dart";
import "package:nexus/models/event.dart"; import "package:nexus/models/event.dart";
import "package:nexus/models/content/membership.dart";
class const MessageDisplayname( class const MessageDisplayname(
final Event event, { final Event event, {
@ -16,8 +17,10 @@ class const MessageDisplayname(
Widget build(BuildContext context, WidgetRef ref) => switch (ref.watch( Widget build(BuildContext context, WidgetRef ref) => switch (ref.watch(
AuthorController.provider(event), AuthorController.provider(event),
)) { )) {
AsyncData(:final value) || AsyncLoading(:final value?) => InkWell( AsyncData(:final MembershipContent? value) ||
onTap: clickable AsyncLoading(:final value) ||
AsyncError(:final value) => InkWell(
onTap: clickable && value != null
? () => context.showUserPopover( ? () => context.showUserPopover(
value, value,
event.sender, event.sender,
@ -29,7 +32,7 @@ class const MessageDisplayname(
crossAxisAlignment: .center, crossAxisAlignment: .center,
children: [ children: [
Text( Text(
value.displayName ?? event.sender.localpart, value?.displayName ?? event.sender.localpart,
style: style:
style ?? .new(color: event.sender.colorHash, fontWeight: .bold), style ?? .new(color: event.sender.colorHash, fontWeight: .bold),
maxLines: 1, maxLines: 1,
@ -46,9 +49,5 @@ class const MessageDisplayname(
], ],
), ),
), ),
_ => Text(
event.sender.localpart,
style: .new(color: event.sender.colorHash, fontWeight: .bold),
),
}; };
} }