fluffychat merge
This commit is contained in:
commit
bdbbfc1b91
8 changed files with 36 additions and 45 deletions
|
|
@ -325,6 +325,7 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"changedTheChatDescription": "{username} changed the chat description",
|
||||
"changedTheChatDescriptionTo": "{username} changed the chat description to: '{description}'",
|
||||
"@changedTheChatDescriptionTo": {
|
||||
"type": "String",
|
||||
|
|
@ -337,6 +338,7 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"changedTheChatName": "{username} changed the chat name",
|
||||
"changedTheChatNameTo": "{username} changed the chat name to: '{chatname}'",
|
||||
"@changedTheChatNameTo": {
|
||||
"type": "String",
|
||||
|
|
|
|||
|
|
@ -346,6 +346,17 @@ class ChatController extends State<ChatPageWithRoom>
|
|||
|
||||
if (mostRecentEvent != null) {
|
||||
setReadMarker(eventId: mostRecentEvent.eventId);
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
final index = timeline.events.filterByVisibleInGui().indexOf(
|
||||
mostRecentEvent,
|
||||
);
|
||||
if (index >= 0) {
|
||||
scrollController.scrollToIndex(
|
||||
index,
|
||||
preferPosition: AutoScrollPosition.begin,
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -680,7 +691,7 @@ class ChatController extends State<ChatPageWithRoom>
|
|||
|
||||
void onInsert(int i) {
|
||||
// setState will be called by updateView() anyway
|
||||
if (i <= 5) animateInEventIndex = i;
|
||||
if (timeline?.allowNewEvent == true) animateInEventIndex = i;
|
||||
}
|
||||
|
||||
// #Pangea
|
||||
|
|
|
|||
|
|
@ -109,21 +109,19 @@ class ChatEventList extends StatelessWidget {
|
|||
}
|
||||
return Builder(
|
||||
builder: (context) {
|
||||
if (timeline.canRequestHistory) {
|
||||
final visibleIndex = timeline.events.lastIndexWhere(
|
||||
(event) =>
|
||||
!event.isCollapsedState && event.isVisibleInGui,
|
||||
final visibleIndex = timeline.events.lastIndexWhere(
|
||||
(event) =>
|
||||
!event.isCollapsedState && event.isVisibleInGui,
|
||||
);
|
||||
if (visibleIndex > timeline.events.length - 50) {
|
||||
// #Pangea
|
||||
// WidgetsBinding.instance.addPostFrameCallback(
|
||||
// controller.requestHistory,
|
||||
// );
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => controller.requestHistory(),
|
||||
);
|
||||
if (visibleIndex > timeline.events.length - 50) {
|
||||
// #Pangea
|
||||
// WidgetsBinding.instance.addPostFrameCallback(
|
||||
// controller.requestHistory,
|
||||
// );
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => controller.requestHistory(),
|
||||
);
|
||||
// Pangea#
|
||||
}
|
||||
// Pangea#
|
||||
}
|
||||
return Center(
|
||||
child: TextButton.icon(
|
||||
|
|
|
|||
|
|
@ -10,13 +10,13 @@ import 'package:fluffychat/config/themes.dart';
|
|||
import 'package:fluffychat/l10n/l10n.dart';
|
||||
import 'package:fluffychat/pages/chat/chat.dart';
|
||||
import 'package:fluffychat/pages/chat/events/pangea_message_reactions.dart';
|
||||
import 'package:fluffychat/pages/chat/events/room_creation_state_event.dart';
|
||||
import 'package:fluffychat/pangea/activity_sessions/activity_room_extension.dart';
|
||||
import 'package:fluffychat/pangea/activity_sessions/activity_session_chat/activity_roles_event_widget.dart';
|
||||
import 'package:fluffychat/pangea/activity_sessions/activity_summary_widget.dart';
|
||||
import 'package:fluffychat/pangea/bot/utils/bot_name.dart';
|
||||
import 'package:fluffychat/pangea/bot/widgets/bot_settings_language_icon.dart';
|
||||
import 'package:fluffychat/pangea/chat/extensions/custom_room_display_extension.dart';
|
||||
import 'package:fluffychat/pangea/chat/widgets/room_creation_state_event.dart';
|
||||
import 'package:fluffychat/pangea/common/widgets/pressable_button.dart';
|
||||
import 'package:fluffychat/pangea/events/constants/pangea_event_types.dart';
|
||||
import 'package:fluffychat/pangea/events/event_wrappers/pangea_message_event.dart';
|
||||
|
|
@ -138,16 +138,13 @@ class Message extends StatelessWidget {
|
|||
if (event.type.startsWith('m.call.')) {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
// #Pangea
|
||||
if (event.type == EventTypes.RoomCreate) {
|
||||
// #Pangea
|
||||
// return RoomCreationStateEvent(event: event);
|
||||
return event.room.isActivitySession
|
||||
? const SizedBox()
|
||||
: RoomCreationStateEvent(event: event);
|
||||
// Pangea#
|
||||
}
|
||||
|
||||
// #Pangea
|
||||
if (event.type == PangeaEventTypes.activityPlan &&
|
||||
event.room.activityPlan != null) {
|
||||
return ValueListenableBuilder(
|
||||
|
|
|
|||
|
|
@ -64,10 +64,7 @@ class StateMessage extends StatelessWidget {
|
|||
// Pangea#
|
||||
),
|
||||
if (onExpand != null) ...[
|
||||
const TextSpan(
|
||||
text: ' + ',
|
||||
style: TextStyle(fontWeight: FontWeight.bold),
|
||||
),
|
||||
const TextSpan(text: '\n'),
|
||||
TextSpan(
|
||||
style: TextStyle(
|
||||
color: theme.colorScheme.primary,
|
||||
|
|
@ -82,7 +79,7 @@ class StateMessage extends StatelessWidget {
|
|||
),
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 12 * AppSettings.fontSizeFactor.value,
|
||||
fontSize: 11 * AppSettings.fontSizeFactor.value,
|
||||
decoration: event.redacted
|
||||
? TextDecoration.lineThrough
|
||||
: null,
|
||||
|
|
|
|||
|
|
@ -85,8 +85,8 @@ class ChatListItem extends StatelessWidget {
|
|||
clipBehavior: Clip.hardEdge,
|
||||
color: backgroundColor,
|
||||
child: FutureBuilder(
|
||||
future: room.loadHeroUsers(),
|
||||
builder: (context, snapshot) => HoverBuilder(
|
||||
future: room.name.isEmpty ? room.loadHeroUsers() : null,
|
||||
builder: (context, _) => HoverBuilder(
|
||||
builder: (context, listTileHovered) => ListTile(
|
||||
visualDensity: const VisualDensity(vertical: -0.5),
|
||||
contentPadding: const EdgeInsets.symmetric(horizontal: 8),
|
||||
|
|
|
|||
|
|
@ -12,15 +12,10 @@ import 'package:fluffychat/utils/date_time_extension.dart';
|
|||
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
||||
import 'package:fluffychat/widgets/avatar.dart';
|
||||
|
||||
// #Pangea
|
||||
// class RoomCreationStateEvent extends StatelessWidget {
|
||||
class RoomCreationStateEvent extends StatefulWidget {
|
||||
// Pangea#
|
||||
final Event event;
|
||||
|
||||
const RoomCreationStateEvent({required this.event, super.key});
|
||||
|
||||
// #Pangea
|
||||
@override
|
||||
State<RoomCreationStateEvent> createState() => RoomCreationStateEventState();
|
||||
}
|
||||
|
|
@ -51,7 +46,6 @@ class RoomCreationStateEventState extends State<RoomCreationStateEvent> {
|
|||
_memberSubscription?.cancel();
|
||||
super.dispose();
|
||||
}
|
||||
// Pangea#
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
@ -61,13 +55,9 @@ class RoomCreationStateEventState extends State<RoomCreationStateEvent> {
|
|||
final roomName = event.room.getLocalizedDisplayname(matrixLocals);
|
||||
return Padding(
|
||||
padding: const EdgeInsets.only(bottom: 32.0),
|
||||
// #Pangea
|
||||
// child: Center(
|
||||
// child: ConstrainedBox(
|
||||
child: Column(
|
||||
children: [
|
||||
ConstrainedBox(
|
||||
// Pangea#
|
||||
constraints: const BoxConstraints(maxWidth: 256),
|
||||
child: Material(
|
||||
color: theme.colorScheme.surfaceContainer,
|
||||
|
|
@ -81,10 +71,8 @@ class RoomCreationStateEventState extends State<RoomCreationStateEvent> {
|
|||
mxContent: event.room.avatar,
|
||||
name: roomName,
|
||||
size: Avatar.defaultSize * 2,
|
||||
// #Pangea
|
||||
userId: event.room.directChatMatrixID,
|
||||
useRive: true,
|
||||
// Pangea#
|
||||
),
|
||||
Text(
|
||||
roomName,
|
||||
|
|
@ -102,7 +90,6 @@ class RoomCreationStateEventState extends State<RoomCreationStateEvent> {
|
|||
),
|
||||
),
|
||||
),
|
||||
// #Pangea
|
||||
const SizedBox(height: 16.0),
|
||||
const InstructionsInlineTooltip(
|
||||
instructionsEnum: InstructionsEnum.clickMessage,
|
||||
|
|
@ -115,7 +102,6 @@ class RoomCreationStateEventState extends State<RoomCreationStateEvent> {
|
|||
padding: EdgeInsets.only(left: 16.0, right: 16.0, top: 16.0),
|
||||
animate: false,
|
||||
),
|
||||
// Pangea#
|
||||
],
|
||||
),
|
||||
);
|
||||
|
|
@ -37,13 +37,13 @@ class MatrixLocals extends MatrixLocalizations {
|
|||
}
|
||||
|
||||
@override
|
||||
String changedTheChatDescriptionTo(String senderName, String content) {
|
||||
return l10n.changedTheChatDescriptionTo(senderName, content);
|
||||
String changedTheChatDescriptionTo(String senderName, _) {
|
||||
return l10n.changedTheChatDescription(senderName);
|
||||
}
|
||||
|
||||
@override
|
||||
String changedTheChatNameTo(String senderName, String content) {
|
||||
return l10n.changedTheChatNameTo(senderName, content);
|
||||
String changedTheChatNameTo(String senderName, _) {
|
||||
return l10n.changedTheChatName(senderName);
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue