feat: Alignment is now calculated

This commit is contained in:
Deven Joshi
2020-10-30 17:56:31 +05:30
parent 5ff432eb79
commit b39038d0ab
+19 -9
View File
@@ -36,7 +36,17 @@ class MessageReactionsModal extends StatelessWidget {
@override
Widget build(BuildContext context) {
var size = MediaQuery.of(context).size;
var user = StreamChat.of(context).user;
var roughMaxSize = 2 * size.width / 3;
var roughSentenceSize = message.text.length * messageTheme.messageText.fontSize * 1.2;
var divFactor = roughSentenceSize / roughMaxSize;
print(roughMaxSize);
print(roughSentenceSize);
print(divFactor);
return GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () {
@@ -67,7 +77,7 @@ class MessageReactionsModal extends StatelessWidget {
(message.status == MessageSendingStatus.SENT ||
message.status == null))
Align(
alignment: Alignment(-0.3 + (user.id == message.id ? 0.2 : 0.0), 0.0),
alignment: Alignment(user.id == message.user.id ? (divFactor > 1.0 ? 0.0 : (1.0 - divFactor)) : (divFactor > 1.0 ? 0.0 : -(1.0 - divFactor)), 0.0),
child: ReactionPicker(
message: message,
messageTheme: messageTheme,
@@ -144,10 +154,10 @@ class MessageReactionsModal extends StatelessWidget {
alignment: WrapAlignment.start,
children: message.latestReactions
.map((e) => _buildReaction(
e,
currentUser,
context,
))
e,
currentUser,
context,
))
.toList(),
),
),
@@ -160,10 +170,10 @@ class MessageReactionsModal extends StatelessWidget {
}
Widget _buildReaction(
Reaction reaction,
User currentUser,
BuildContext context,
) {
Reaction reaction,
User currentUser,
BuildContext context,
) {
final isCurrentUser = reaction.user.id == currentUser.id;
return ConstrainedBox(
constraints: BoxConstraints.loose(Size(