check null safety
This commit is contained in:
@@ -21,14 +21,17 @@ import 'package:provider/provider.dart';
|
||||
import 'bubble.dart';
|
||||
|
||||
class MessageDetail extends StatelessWidget {
|
||||
final String receiverName;
|
||||
final String receiverID;
|
||||
final String? receiverName;
|
||||
final String? receiverID;
|
||||
final MessageModel messageModel;
|
||||
final TextEditingController textEditingController = TextEditingController();
|
||||
final ScrollController listScrollController = ScrollController();
|
||||
|
||||
MessageDetail(
|
||||
{Key key, this.messageModel, this.receiverName, this.receiverID})
|
||||
{Key? key,
|
||||
required this.messageModel,
|
||||
this.receiverName,
|
||||
this.receiverID})
|
||||
: super(key: key) {
|
||||
listScrollController.addListener(() {
|
||||
if (listScrollController.offset >=
|
||||
@@ -44,7 +47,7 @@ class MessageDetail extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
String userID = Provider.of<MessageModel>(context).user.id;
|
||||
String userID = Provider.of<MessageModel>(context).user?.id ?? "";
|
||||
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
@@ -96,8 +99,8 @@ class MessageDetail extends StatelessWidget {
|
||||
Widget buildBubble(Message msg, String userID, bool showDate,
|
||||
CallbackOnViewDetail callback) {
|
||||
return Bubble(
|
||||
message: msg.message,
|
||||
date: msg.date,
|
||||
message: msg.message ?? "",
|
||||
date: msg.date!,
|
||||
delivered: true,
|
||||
sender: msg.senderName,
|
||||
isMine: msg.senderID == userID || msg.receiverID == receiverID,
|
||||
@@ -117,8 +120,8 @@ class MessageDetail extends StatelessWidget {
|
||||
child: Container(
|
||||
child: TextField(
|
||||
onSubmitted: (value) {
|
||||
Provider.of<MessageModel>(context, listen: false)
|
||||
.sendMessage(textEditingController.text, receiverID);
|
||||
Provider.of<MessageModel>(context, listen: false).sendMessage(
|
||||
textEditingController.text, receiverID ?? "");
|
||||
textEditingController.text = "";
|
||||
},
|
||||
style: TextStyle(color: primaryColor, fontSize: 15.0),
|
||||
@@ -152,8 +155,8 @@ class MessageDetail extends StatelessWidget {
|
||||
child: IconButton(
|
||||
icon: Icon(Icons.send),
|
||||
onPressed: () {
|
||||
Provider.of<MessageModel>(context, listen: false)
|
||||
.sendMessage(textEditingController.text, receiverID);
|
||||
Provider.of<MessageModel>(context, listen: false).sendMessage(
|
||||
textEditingController.text, receiverID ?? "");
|
||||
textEditingController.text = "";
|
||||
},
|
||||
color: primaryColor,
|
||||
@@ -165,7 +168,8 @@ class MessageDetail extends StatelessWidget {
|
||||
),
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
border: Border(top: BorderSide(color: Colors.grey[700], width: 0.5)),
|
||||
border:
|
||||
Border(top: BorderSide(color: Colors.grey.shade700, width: 0.5)),
|
||||
color: Colors.white),
|
||||
);
|
||||
}
|
||||
@@ -176,7 +180,7 @@ class MessageDetail extends StatelessWidget {
|
||||
message.messageID != "") {
|
||||
PackageModel packageModel =
|
||||
Provider.of<PackageModel>(context, listen: false);
|
||||
Package p = await packageModel.getPackage(message.messageID);
|
||||
Package p = await packageModel.getPackage(message.messageID!);
|
||||
if (p == null) return;
|
||||
Navigator.push<bool>(context,
|
||||
CupertinoPageRoute(builder: (context) => PackageInfo(package: p)));
|
||||
@@ -186,7 +190,7 @@ class MessageDetail extends StatelessWidget {
|
||||
message.messageID != "") {
|
||||
MainModel mainModel = Provider.of<MainModel>(context, listen: false);
|
||||
|
||||
if (mainModel.user.isCustomer()) {
|
||||
if (mainModel.user?.isCustomer() ?? false) {
|
||||
Navigator.push<bool>(
|
||||
context, CupertinoPageRoute(builder: (context) => Profile()));
|
||||
} else {
|
||||
@@ -202,7 +206,7 @@ class MessageDetail extends StatelessWidget {
|
||||
message.messageID != "") {
|
||||
ShipmentModel shipmentModel =
|
||||
Provider.of<ShipmentModel>(context, listen: false);
|
||||
Shipment s = await shipmentModel.getShipment(message.messageID);
|
||||
Shipment s = await shipmentModel.getShipment(message.messageID!);
|
||||
if (s == null) return;
|
||||
await Navigator.push<bool>(
|
||||
context,
|
||||
|
||||
Reference in New Issue
Block a user