Watch
1
0
Fork
You've already forked nexus
0
forked from Nexus/nexus

Compare commits

..
5 changed files with 13 additions and 33 deletions

View file

@ -170,24 +170,8 @@ class ClientController extends AsyncNotifier<int> {
Future<Event> sendMessage(SendMessageRequest request) async => Future<Event> sendMessage(SendMessageRequest request) async =>
Event.fromJson(await _sendCommand("send_message", request.toJson())); Event.fromJson(await _sendCommand("send_message", request.toJson()));
Future<Event> sendEvent(SendEventRequest request) async { Future<Event> sendEvent(SendEventRequest request) async =>
final json = request.toJson(); Event.fromJson(await _sendCommand("send_event", request.toJson()));
final content = request.content.toJson();
return Event.fromJson(
await _sendCommand("send_event", {
...json,
"content": {
...content,
"m.relates_to": {
...((content["m.relates_to"] as Map<String, dynamic>?) ?? {}),
"event_id": request.relatesTo,
"rel_type": request.relationType,
},
},
}),
);
}
Future<String?> setState(SetStateRequest request) async => Future<String?> setState(SetStateRequest request) async =>
await _sendCommand("set_state", request.toJson()); await _sendCommand("set_state", request.toJson());

View file

@ -205,11 +205,15 @@ class RoomChatController extends AsyncNotifier<IList<Event>?> {
.new( .new(
roomId: roomId, roomId: roomId,
type: EventType.reaction.type, type: EventType.reaction.type,
content: ReactionContent(key: reaction), content: {
"m.relates_to": {
"event_id": event.eventId,
"rel_type": "m.annotation",
"key": reaction,
},
},
synchronous: true, synchronous: true,
disableEncryption: true, disableEncryption: true,
relatesTo: event.eventId,
relationType: "m.annotation",
), ),
); );
} }

View file

@ -3,7 +3,7 @@ import "package:nexus/models/content/content.dart";
part "reaction.freezed.dart"; part "reaction.freezed.dart";
part "reaction.g.dart"; part "reaction.g.dart";
@Freezed(toJson: false) @freezed
abstract class ReactionContent extends Content with _$ReactionContent { abstract class ReactionContent extends Content with _$ReactionContent {
ReactionContent._(); ReactionContent._();
static String? keyJsonFromJson(Map<dynamic, dynamic> json, String key) => static String? keyJsonFromJson(Map<dynamic, dynamic> json, String key) =>
@ -13,11 +13,6 @@ abstract class ReactionContent extends Content with _$ReactionContent {
@JsonKey(readValue: ReactionContent.keyJsonFromJson) String? key, @JsonKey(readValue: ReactionContent.keyJsonFromJson) String? key,
}) = _ReactionContent; }) = _ReactionContent;
@override
Map<String, dynamic> toJson() => {
"m.relates_to": {"key": key},
};
factory ReactionContent.fromJson(Map<String, Object?> json) => factory ReactionContent.fromJson(Map<String, Object?> json) =>
_$ReactionContentFromJson(json); _$ReactionContentFromJson(json);
} }

View file

@ -1,5 +1,4 @@
import "package:freezed_annotation/freezed_annotation.dart"; import "package:freezed_annotation/freezed_annotation.dart";
import "package:nexus/models/content/content.dart";
part "send_event_request.freezed.dart"; part "send_event_request.freezed.dart";
part "send_event_request.g.dart"; part "send_event_request.g.dart";
@ -8,9 +7,7 @@ abstract class SendEventRequest with _$SendEventRequest {
const factory SendEventRequest({ const factory SendEventRequest({
required String roomId, required String roomId,
required String type, required String type,
required Content content, required Map<String, dynamic> content,
String? relatesTo,
String? relationType,
@Default(false) bool synchronous, @Default(false) bool synchronous,
@Default(false) bool disableEncryption, @Default(false) bool disableEncryption,
}) = _SendEventRequest; }) = _SendEventRequest;

View file

@ -143,8 +143,8 @@ class MemberList extends HookConsumerWidget {
if (member.content if (member.content
case MembershipContent content) { case MembershipContent content) {
showModalBottomSheet( showModalBottomSheet(
constraints: .loose( constraints: BoxConstraints.loose(
.new( Size(
500, 500,
(context.size?.height ?? 1000) - 80, (context.size?.height ?? 1000) - 80,
), ),