Soru/moor
This commit is contained in:
parent
79a306351e
commit
f594c7005d
55 changed files with 1034 additions and 1133 deletions
|
|
@ -71,11 +71,11 @@ class ChatListItem extends StatelessWidget {
|
|||
|
||||
if (room.membership == Membership.join) {
|
||||
if (Matrix.of(context).shareContent != null) {
|
||||
if (Matrix.of(context).shareContent["msgtype"] ==
|
||||
"chat.fluffy.shared_file") {
|
||||
if (Matrix.of(context).shareContent['msgtype'] ==
|
||||
'chat.fluffy.shared_file') {
|
||||
await SimpleDialogs(context).tryRequestWithErrorToast(
|
||||
room.sendFileEvent(
|
||||
Matrix.of(context).shareContent["file"],
|
||||
Matrix.of(context).shareContent['file'],
|
||||
),
|
||||
);
|
||||
} else {
|
||||
|
|
@ -98,11 +98,11 @@ class ChatListItem extends StatelessWidget {
|
|||
final success = await SimpleDialogs(context)
|
||||
.tryRequestWithLoadingDialog(room.forget());
|
||||
if (success != false) {
|
||||
if (this.onForget != null) this.onForget();
|
||||
if (onForget != null) onForget();
|
||||
}
|
||||
return success;
|
||||
}
|
||||
final bool confirmed = await SimpleDialogs(context).askConfirmation();
|
||||
final confirmed = await SimpleDialogs(context).askConfirmation();
|
||||
if (!confirmed) {
|
||||
return false;
|
||||
}
|
||||
|
|
@ -217,7 +217,7 @@ class ChatListItem extends StatelessWidget {
|
|||
),
|
||||
),
|
||||
)
|
||||
: Text(" "),
|
||||
: Text(' '),
|
||||
],
|
||||
),
|
||||
onTap: () => clickAction(context),
|
||||
|
|
|
|||
|
|
@ -37,23 +37,23 @@ class Message extends StatelessWidget {
|
|||
return StateMessage(event);
|
||||
}
|
||||
|
||||
Client client = Matrix.of(context).client;
|
||||
final bool ownMessage = event.senderId == client.userID;
|
||||
Alignment alignment = ownMessage ? Alignment.topRight : Alignment.topLeft;
|
||||
Color color = Theme.of(context).secondaryHeaderColor;
|
||||
final bool sameSender = nextEvent != null &&
|
||||
var client = Matrix.of(context).client;
|
||||
final ownMessage = event.senderId == client.userID;
|
||||
var alignment = ownMessage ? Alignment.topRight : Alignment.topLeft;
|
||||
var color = Theme.of(context).secondaryHeaderColor;
|
||||
final sameSender = nextEvent != null &&
|
||||
[EventTypes.Message, EventTypes.Sticker].contains(nextEvent.type)
|
||||
? nextEvent.sender.id == event.sender.id
|
||||
: false;
|
||||
BubbleNip nip = sameSender
|
||||
var nip = sameSender
|
||||
? BubbleNip.no
|
||||
: ownMessage ? BubbleNip.rightBottom : BubbleNip.leftBottom;
|
||||
Color textColor = ownMessage
|
||||
var textColor = ownMessage
|
||||
? Colors.white
|
||||
: Theme.of(context).brightness == Brightness.dark
|
||||
? Colors.white
|
||||
: Colors.black;
|
||||
MainAxisAlignment rowMainAxisAlignment =
|
||||
var rowMainAxisAlignment =
|
||||
ownMessage ? MainAxisAlignment.end : MainAxisAlignment.start;
|
||||
|
||||
if (event.showThumbnail) {
|
||||
|
|
@ -65,7 +65,7 @@ class Message extends StatelessWidget {
|
|||
: Theme.of(context).primaryColor;
|
||||
}
|
||||
|
||||
List<Widget> rowChildren = [
|
||||
var rowChildren = <Widget>[
|
||||
Expanded(
|
||||
child: Bubble(
|
||||
elevation: 0,
|
||||
|
|
@ -84,14 +84,14 @@ class Message extends StatelessWidget {
|
|||
FutureBuilder<Event>(
|
||||
future: event.getReplyEvent(timeline),
|
||||
builder: (BuildContext context, snapshot) {
|
||||
final Event replyEvent = snapshot.hasData
|
||||
final replyEvent = snapshot.hasData
|
||||
? snapshot.data
|
||||
: Event(
|
||||
eventId: event.content['m.relates_to']
|
||||
['m.in_reply_to']['event_id'],
|
||||
content: {"msgtype": "m.text", "body": "..."},
|
||||
content: {'msgtype': 'm.text', 'body': '...'},
|
||||
senderId: event.senderId,
|
||||
typeKey: "m.room.message",
|
||||
typeKey: 'm.room.message',
|
||||
room: event.room,
|
||||
roomId: event.roomId,
|
||||
status: 1,
|
||||
|
|
@ -110,7 +110,7 @@ class Message extends StatelessWidget {
|
|||
),
|
||||
if (event.type == EventTypes.Encrypted &&
|
||||
event.messageType == MessageTypes.BadEncrypted &&
|
||||
event.content["body"] == DecryptError.UNKNOWN_SESSION)
|
||||
event.content['body'] == DecryptError.UNKNOWN_SESSION)
|
||||
RaisedButton(
|
||||
color: color.withAlpha(100),
|
||||
child: Text(
|
||||
|
|
@ -146,7 +146,7 @@ class Message extends StatelessWidget {
|
|||
),
|
||||
),
|
||||
];
|
||||
final Widget avatarOrSizedBox = sameSender
|
||||
final avatarOrSizedBox = sameSender
|
||||
? SizedBox(width: Avatar.defaultSize)
|
||||
: Avatar(
|
||||
event.sender.avatarUrl,
|
||||
|
|
@ -193,8 +193,8 @@ class _MetaRow extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final String displayname = event.sender.calcDisplayname();
|
||||
final bool showDisplayname =
|
||||
final displayname = event.sender.calcDisplayname();
|
||||
final showDisplayname =
|
||||
!ownMessage && event.senderId != event.room.directChatMatrixID;
|
||||
return Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
|
|
|
|||
|
|
@ -13,44 +13,44 @@ class ParticipantListItem extends StatelessWidget {
|
|||
|
||||
const ParticipantListItem(this.user);
|
||||
|
||||
participantAction(BuildContext context, String action) async {
|
||||
void participantAction(BuildContext context, String action) async {
|
||||
switch (action) {
|
||||
case "ban":
|
||||
case 'ban':
|
||||
if (await SimpleDialogs(context).askConfirmation()) {
|
||||
await SimpleDialogs(context).tryRequestWithLoadingDialog(user.ban());
|
||||
}
|
||||
break;
|
||||
case "unban":
|
||||
case 'unban':
|
||||
if (await SimpleDialogs(context).askConfirmation()) {
|
||||
await SimpleDialogs(context)
|
||||
.tryRequestWithLoadingDialog(user.unban());
|
||||
}
|
||||
break;
|
||||
case "kick":
|
||||
case 'kick':
|
||||
if (await SimpleDialogs(context).askConfirmation()) {
|
||||
await SimpleDialogs(context).tryRequestWithLoadingDialog(user.kick());
|
||||
}
|
||||
break;
|
||||
case "admin":
|
||||
case 'admin':
|
||||
if (await SimpleDialogs(context).askConfirmation()) {
|
||||
await SimpleDialogs(context)
|
||||
.tryRequestWithLoadingDialog(user.setPower(100));
|
||||
}
|
||||
break;
|
||||
case "moderator":
|
||||
case 'moderator':
|
||||
if (await SimpleDialogs(context).askConfirmation()) {
|
||||
await SimpleDialogs(context)
|
||||
.tryRequestWithLoadingDialog(user.setPower(50));
|
||||
}
|
||||
break;
|
||||
case "user":
|
||||
case 'user':
|
||||
if (await SimpleDialogs(context).askConfirmation()) {
|
||||
await SimpleDialogs(context)
|
||||
.tryRequestWithLoadingDialog(user.setPower(0));
|
||||
}
|
||||
break;
|
||||
case "message":
|
||||
final String roomId = await user.startDirectChat();
|
||||
case 'message':
|
||||
final roomId = await user.startDirectChat();
|
||||
await Navigator.of(context).pushAndRemoveUntil(
|
||||
AppRoute.defaultRoute(
|
||||
context,
|
||||
|
|
@ -63,21 +63,21 @@ class ParticipantListItem extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
Map<Membership, String> membershipBatch = {
|
||||
Membership.join: "",
|
||||
var membershipBatch = <Membership, String>{
|
||||
Membership.join: '',
|
||||
Membership.ban: L10n.of(context).banned,
|
||||
Membership.invite: L10n.of(context).invited,
|
||||
Membership.leave: L10n.of(context).leftTheChat,
|
||||
};
|
||||
final String permissionBatch = user.powerLevel == 100
|
||||
final permissionBatch = user.powerLevel == 100
|
||||
? L10n.of(context).admin
|
||||
: user.powerLevel >= 50 ? L10n.of(context).moderator : "";
|
||||
List<PopupMenuEntry<String>> items = <PopupMenuEntry<String>>[];
|
||||
: user.powerLevel >= 50 ? L10n.of(context).moderator : '';
|
||||
var items = <PopupMenuEntry<String>>[];
|
||||
|
||||
if (user.id != Matrix.of(context).client.userID) {
|
||||
items.add(
|
||||
PopupMenuItem(
|
||||
child: Text(L10n.of(context).sendAMessage), value: "message"),
|
||||
child: Text(L10n.of(context).sendAMessage), value: 'message'),
|
||||
);
|
||||
}
|
||||
if (user.canChangePowerLevel &&
|
||||
|
|
@ -85,7 +85,7 @@ class ParticipantListItem extends StatelessWidget {
|
|||
user.powerLevel != 100) {
|
||||
items.add(
|
||||
PopupMenuItem(
|
||||
child: Text(L10n.of(context).makeAnAdmin), value: "admin"),
|
||||
child: Text(L10n.of(context).makeAnAdmin), value: 'admin'),
|
||||
);
|
||||
}
|
||||
if (user.canChangePowerLevel &&
|
||||
|
|
@ -93,29 +93,29 @@ class ParticipantListItem extends StatelessWidget {
|
|||
user.powerLevel != 50) {
|
||||
items.add(
|
||||
PopupMenuItem(
|
||||
child: Text(L10n.of(context).makeAModerator), value: "moderator"),
|
||||
child: Text(L10n.of(context).makeAModerator), value: 'moderator'),
|
||||
);
|
||||
}
|
||||
if (user.canChangePowerLevel && user.powerLevel != 0) {
|
||||
items.add(
|
||||
PopupMenuItem(
|
||||
child: Text(L10n.of(context).revokeAllPermissions), value: "user"),
|
||||
child: Text(L10n.of(context).revokeAllPermissions), value: 'user'),
|
||||
);
|
||||
}
|
||||
if (user.canKick) {
|
||||
items.add(
|
||||
PopupMenuItem(
|
||||
child: Text(L10n.of(context).kickFromChat), value: "kick"),
|
||||
child: Text(L10n.of(context).kickFromChat), value: 'kick'),
|
||||
);
|
||||
}
|
||||
if (user.canBan && user.membership != Membership.ban) {
|
||||
items.add(
|
||||
PopupMenuItem(child: Text(L10n.of(context).banFromChat), value: "ban"),
|
||||
PopupMenuItem(child: Text(L10n.of(context).banFromChat), value: 'ban'),
|
||||
);
|
||||
} else if (user.canBan && user.membership == Membership.ban) {
|
||||
items.add(
|
||||
PopupMenuItem(
|
||||
child: Text(L10n.of(context).removeExile), value: "unban"),
|
||||
child: Text(L10n.of(context).removeExile), value: 'unban'),
|
||||
);
|
||||
}
|
||||
return PopupMenuButton(
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ class PresenceListItem extends StatelessWidget {
|
|||
|
||||
const PresenceListItem(this.presence);
|
||||
|
||||
static Map<String, Profile> _presences = {};
|
||||
static final Map<String, Profile> _presences = {};
|
||||
|
||||
Future<Profile> _requestProfile(BuildContext context) async {
|
||||
_presences[presence.sender] ??=
|
||||
|
|
@ -28,7 +28,7 @@ class PresenceListItem extends StatelessWidget {
|
|||
builder: (context, snapshot) {
|
||||
if (!snapshot.hasData) return Container();
|
||||
Uri avatarUrl;
|
||||
String displayname = presence.sender.localpart;
|
||||
var displayname = presence.sender.localpart;
|
||||
if (snapshot.hasData) {
|
||||
avatarUrl = snapshot.data.avatarUrl;
|
||||
displayname = snapshot.data.displayname;
|
||||
|
|
@ -64,7 +64,7 @@ class PresenceListItem extends StatelessWidget {
|
|||
FlatButton(
|
||||
child: Text(L10n.of(context).sendAMessage),
|
||||
onPressed: () async {
|
||||
final String roomId = await User(
|
||||
final roomId = await User(
|
||||
presence.sender,
|
||||
room: Room(id: '', client: Matrix.of(context).client),
|
||||
).startDirectChat();
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ class PublicRoomListItem extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final bool hasTopic =
|
||||
final hasTopic =
|
||||
publicRoomEntry.topic != null && publicRoomEntry.topic.isNotEmpty;
|
||||
return ListTile(
|
||||
leading: Avatar(
|
||||
|
|
@ -36,13 +36,13 @@ class PublicRoomListItem extends StatelessWidget {
|
|||
: Uri.parse(publicRoomEntry.avatarUrl),
|
||||
publicRoomEntry.name),
|
||||
title: Text(hasTopic
|
||||
? "${publicRoomEntry.name} (${publicRoomEntry.numJoinedMembers})"
|
||||
? '${publicRoomEntry.name} (${publicRoomEntry.numJoinedMembers})'
|
||||
: publicRoomEntry.name),
|
||||
subtitle: Text(
|
||||
hasTopic
|
||||
? publicRoomEntry.topic
|
||||
: L10n.of(context).countParticipants(
|
||||
publicRoomEntry.numJoinedMembers?.toString() ?? "0"),
|
||||
publicRoomEntry.numJoinedMembers?.toString() ?? '0'),
|
||||
maxLines: 1,
|
||||
),
|
||||
onTap: () => joinAction(context),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue