Merge pull request 'Move messageDate format handling to MessageBubbleDecoration' (#384) from messagedate into trunk
continuous-integration/drone/push Build is pending
Details
continuous-integration/drone/push Build is pending
Details
Reviewed-on: #384
This commit is contained in:
commit
7122db0388
|
@ -7,11 +7,10 @@ import 'package:cwtch/models/message.dart';
|
|||
import 'package:cwtch/models/profile.dart';
|
||||
import 'package:cwtch/widgets/malformedbubble.dart';
|
||||
import 'package:file_picker_desktop/file_picker_desktop.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import '../main.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
|
||||
import '../settings.dart';
|
||||
|
@ -51,7 +50,8 @@ class FileBubbleState extends State<FileBubble> {
|
|||
var flagStarted = Provider.of<MessageMetadata>(context).attributes["file-downloaded"] == "true";
|
||||
var borderRadiousEh = 15.0;
|
||||
var showFileSharing = Provider.of<Settings>(context, listen: false).isExperimentEnabled(FileSharingExperiment);
|
||||
var prettyDate = DateFormat.yMd(Platform.localeName).add_jm().format(Provider.of<MessageMetadata>(context).timestamp);
|
||||
DateTime messageDate = Provider.of<MessageMetadata>(context).timestamp;
|
||||
|
||||
var metadata = Provider.of<MessageMetadata>(context);
|
||||
var path = Provider.of<ProfileInfoState>(context).downloadFinalPath(widget.fileKey());
|
||||
|
||||
|
@ -80,7 +80,7 @@ class FileBubbleState extends State<FileBubble> {
|
|||
var downloadActive = Provider.of<ProfileInfoState>(context).downloadActive(widget.fileKey());
|
||||
var downloadGotManifest = Provider.of<ProfileInfoState>(context).downloadGotManifest(widget.fileKey());
|
||||
|
||||
var messageStatusWidget = MessageBubbleDecoration(ackd: metadata.ackd, errored: metadata.error, prettyDate: prettyDate, fromMe: fromMe);
|
||||
var messageStatusWidget = MessageBubbleDecoration(ackd: metadata.ackd, errored: metadata.error, messageDate: messageDate, fromMe: fromMe);
|
||||
|
||||
// If the sender is not us, then we want to give them a nickname...
|
||||
var senderDisplayStr = "";
|
||||
|
|
|
@ -41,7 +41,7 @@ class InvitationBubbleState extends State<InvitationBubble> {
|
|||
var borderRadiousEh = 15.0;
|
||||
var showGroupInvite = Provider.of<Settings>(context).isExperimentEnabled(TapirGroupsExperiment);
|
||||
rejected = Provider.of<MessageMetadata>(context).attributes["rejected-invite"] == "true";
|
||||
var prettyDate = DateFormat.yMd(Platform.localeName).add_jm().format(Provider.of<MessageMetadata>(context).timestamp);
|
||||
DateTime messageDate = Provider.of<MessageMetadata>(context).timestamp;
|
||||
|
||||
// If the sender is not us, then we want to give them a nickname...
|
||||
var senderDisplayStr = "";
|
||||
|
@ -77,7 +77,7 @@ class InvitationBubbleState extends State<InvitationBubble> {
|
|||
if (isGroup && !showGroupInvite) {
|
||||
wdgDecorations = Text('\u202F');
|
||||
} else if (fromMe) {
|
||||
wdgDecorations = MessageBubbleDecoration(ackd: Provider.of<MessageMetadata>(context).ackd, errored: Provider.of<MessageMetadata>(context).error, fromMe: fromMe, prettyDate: prettyDate);
|
||||
wdgDecorations = MessageBubbleDecoration(ackd: Provider.of<MessageMetadata>(context).ackd, errored: Provider.of<MessageMetadata>(context).error, fromMe: fromMe, messageDate: messageDate);
|
||||
} else if (isAccepted) {
|
||||
wdgDecorations = Text(AppLocalizations.of(context)!.accepted + '\u202F');
|
||||
} else if (this.rejected) {
|
||||
|
|
|
@ -36,7 +36,6 @@ class MessageBubbleState extends State<MessageBubble> {
|
|||
var showClickableLinks = Provider.of<Settings>(context).isExperimentEnabled(ClickableLinksExperiment);
|
||||
|
||||
DateTime messageDate = Provider.of<MessageMetadata>(context).timestamp;
|
||||
prettyDate = DateFormat.yMd(Platform.localeName).add_jm().format(messageDate.toLocal());
|
||||
|
||||
// If the sender is not us, then we want to give them a nickname...
|
||||
var senderDisplayStr = "";
|
||||
|
@ -86,7 +85,7 @@ class MessageBubbleState extends State<MessageBubble> {
|
|||
);
|
||||
}
|
||||
|
||||
var wdgDecorations = MessageBubbleDecoration(ackd: Provider.of<MessageMetadata>(context).ackd, errored: Provider.of<MessageMetadata>(context).error, fromMe: fromMe, prettyDate: prettyDate);
|
||||
var wdgDecorations = MessageBubbleDecoration(ackd: Provider.of<MessageMetadata>(context).ackd, errored: Provider.of<MessageMetadata>(context).error, fromMe: fromMe, messageDate: messageDate);
|
||||
|
||||
var error = Provider.of<MessageMetadata>(context).error;
|
||||
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
import 'dart:io';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import '../settings.dart';
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
|
||||
// Provides message decorations (acks/errors/dates etc.) for generic message bubble overlays (chats, invites etc.)
|
||||
class MessageBubbleDecoration extends StatefulWidget {
|
||||
MessageBubbleDecoration({required this.ackd, required this.errored, required this.prettyDate, required this.fromMe});
|
||||
final String prettyDate;
|
||||
MessageBubbleDecoration({required this.ackd, required this.errored, required this.messageDate, required this.fromMe});
|
||||
final DateTime messageDate;
|
||||
final bool fromMe;
|
||||
final bool ackd;
|
||||
final bool errored;
|
||||
|
@ -19,12 +20,14 @@ class MessageBubbleDecoration extends StatefulWidget {
|
|||
class _MessageBubbleDecoration extends State<MessageBubbleDecoration> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
var prettyDate = DateFormat.yMd(Platform.localeName).add_jm().format(widget.messageDate.toLocal());
|
||||
|
||||
return Center(
|
||||
widthFactor: 1.0,
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
Text(widget.prettyDate,
|
||||
Text(prettyDate,
|
||||
style: TextStyle(fontSize: 9.0, color: widget.fromMe ? Provider.of<Settings>(context).theme.messageFromMeTextColor : Provider.of<Settings>(context).theme.messageFromOtherTextColor),
|
||||
textAlign: widget.fromMe ? TextAlign.right : TextAlign.left),
|
||||
!widget.fromMe
|
||||
|
|
|
@ -30,7 +30,6 @@ class QuotedMessageBubbleState extends State<QuotedMessageBubble> {
|
|||
var borderRadiousEh = 15.0;
|
||||
|
||||
DateTime messageDate = Provider.of<MessageMetadata>(context).timestamp;
|
||||
prettyDate = DateFormat.yMd().add_jm().format(messageDate.toLocal());
|
||||
|
||||
// If the sender is not us, then we want to give them a nickname...
|
||||
var senderDisplayStr = "";
|
||||
|
@ -82,7 +81,7 @@ class QuotedMessageBubbleState extends State<QuotedMessageBubble> {
|
|||
},
|
||||
);
|
||||
|
||||
var wdgDecorations = MessageBubbleDecoration(ackd: Provider.of<MessageMetadata>(context).ackd, errored: Provider.of<MessageMetadata>(context).error, fromMe: fromMe, prettyDate: prettyDate);
|
||||
var wdgDecorations = MessageBubbleDecoration(ackd: Provider.of<MessageMetadata>(context).ackd, errored: Provider.of<MessageMetadata>(context).error, fromMe: fromMe, messageDate: messageDate);
|
||||
|
||||
var error = Provider.of<MessageMetadata>(context).error;
|
||||
|
||||
|
|
Loading…
Reference in New Issue