chore: Follow up threads design

This commit is contained in:
Christian Kußowski 2025-11-05 08:59:50 +01:00
commit 1884149be1
No known key found for this signature in database
GPG key ID: E067ECD60F1A0652
2 changed files with 20 additions and 4 deletions

View file

@ -249,6 +249,7 @@ class ChatView extends StatelessWidget {
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
PinnedEvents(controller),
if (activeThreadId != null) if (activeThreadId != null)
SizedBox( SizedBox(
height: ChatAppBarListTile.fixedHeight, height: ChatAppBarListTile.fixedHeight,
@ -258,10 +259,16 @@ class ChatView extends StatelessWidget {
controller.scrollToEventId(activeThreadId), controller.scrollToEventId(activeThreadId),
icon: const Icon(Icons.message), icon: const Icon(Icons.message),
label: Text(L10n.of(context).replyInThread), label: Text(L10n.of(context).replyInThread),
style: TextButton.styleFrom(
foregroundColor:
theme.colorScheme.onSecondaryContainer,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(4),
),
),
), ),
), ),
), ),
PinnedEvents(controller),
if (scrollUpBannerEventId != null) if (scrollUpBannerEventId != null)
ChatAppBarListTile( ChatAppBarListTile(
leading: IconButton( leading: IconButton(

View file

@ -878,15 +878,24 @@ class Message extends StatelessWidget {
child: threadChildren.isEmpty child: threadChildren.isEmpty
? const SizedBox.shrink() ? const SizedBox.shrink()
: Padding( : Padding(
padding: const EdgeInsets.only(top: 1.0, bottom: 4.0), padding: const EdgeInsets.only(
top: 4.0,
bottom: 8.0,
left: Avatar.defaultSize + 8,
),
child: ConstrainedBox( child: ConstrainedBox(
constraints: const BoxConstraints( constraints: const BoxConstraints(
maxWidth: 400, maxWidth: FluffyThemes.columnWidth * 1.5,
), ),
child: TextButton.icon( child: TextButton.icon(
style: TextButton.styleFrom( style: TextButton.styleFrom(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(4),
),
foregroundColor:
theme.colorScheme.onSecondaryContainer,
backgroundColor: backgroundColor:
theme.colorScheme.surfaceContainerHighest, theme.colorScheme.secondaryContainer,
), ),
onPressed: () => enterThread(event.eventId), onPressed: () => enterThread(event.eventId),
icon: const Icon(Icons.message), icon: const Icon(Icons.message),