fluffychat/lib/pangea/activity_sessions/activity_status_message.dart
ggurdin b1d9b30b29
Conditionally render participants (#3700)
* chore: only show activity participants in state event widget it user has assigned role

* chore: show participants in activity state event if there are no available roles
2025-08-12 11:49:19 -04:00

49 lines
1.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:matrix/matrix.dart';
import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/pangea/activity_sessions/activity_room_extension.dart';
import 'package:fluffychat/pangea/activity_sessions/activity_unfinished_status_message.dart';
class ActivityStatusMessage extends StatelessWidget {
final Room room;
const ActivityStatusMessage({
super.key,
required this.room,
});
@override
Widget build(BuildContext context) {
if (!room.showActivityChatUI || room.activityIsFinished) {
return const SizedBox.shrink();
}
final role = room.ownRole;
if (role != null && !role.isFinished) {
return const SizedBox.shrink();
}
return Material(
child: AnimatedSize(
duration: FluffyThemes.animationDuration,
child: Padding(
padding: EdgeInsets.only(
bottom: FluffyThemes.isColumnMode(context) ? 32.0 : 16.0,
left: 16.0,
right: 16.0,
),
child: ConstrainedBox(
constraints: BoxConstraints(
maxHeight: MediaQuery.of(context).size.height * 0.8,
),
child: SingleChildScrollView(
child: ActivityUnfinishedStatusMessage(room: room),
),
),
),
),
);
}
}