improvements
parent
1f074b33e5
commit
e3857149e7
@ -0,0 +1,73 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:test_sa/extensions/context_extension.dart';
|
||||
import 'package:test_sa/extensions/widget_extensions.dart';
|
||||
|
||||
import 'chat_page.dart';
|
||||
import 'chat_provider.dart';
|
||||
|
||||
class ChatWidget extends StatefulWidget {
|
||||
int moduleId;
|
||||
int requestId;
|
||||
String assigneeEmployeeNumber;
|
||||
String myEmployeeID;
|
||||
bool isReadOnly;
|
||||
String title;
|
||||
|
||||
ChatWidget({Key? key, this.isReadOnly = false, this.title = "Chat", required this.moduleId, required this.requestId, required this.assigneeEmployeeNumber, required this.myEmployeeID})
|
||||
: super(key: key);
|
||||
|
||||
@override
|
||||
_ChatWidgetState createState() {
|
||||
return _ChatWidgetState();
|
||||
}
|
||||
}
|
||||
|
||||
class _ChatWidgetState extends State<ChatWidget> {
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
Provider.of<ChatProvider>(context, listen: false).reset();
|
||||
getChatToken();
|
||||
}
|
||||
|
||||
void getChatToken() {
|
||||
ChatProvider cProvider = Provider.of<ChatProvider>(context, listen: false);
|
||||
if (cProvider.chatLoginResponse != null && cProvider.referenceID == widget.requestId) return;
|
||||
// String assigneeEmployeeNumber = Provider.of<ServiceRequestDetailProvider>(context, listen: false).currentWorkOrder?.data?.assignedEmployee?.employeeId ?? "";
|
||||
String myEmployeeId = widget.myEmployeeID;
|
||||
|
||||
String receiver = context.userProvider.isNurse ? widget.assigneeEmployeeNumber : widget.myEmployeeID;
|
||||
|
||||
cProvider.getUserAutoLoginTokenSilent(widget.moduleId, widget.requestId, widget.title, myEmployeeId, receiver);
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Consumer<ChatProvider>(builder: (pContext, requestProvider, _) {
|
||||
return IconButton(
|
||||
icon: const Icon(Icons.chat_bubble),
|
||||
onPressed: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
CupertinoPageRoute(
|
||||
builder: (context) => ChatPage(
|
||||
moduleId: widget.moduleId,
|
||||
requestId: widget.requestId,
|
||||
title: widget.title,
|
||||
readOnly: widget.isReadOnly,
|
||||
assigneeEmployeeNumber: widget.assigneeEmployeeNumber,
|
||||
myEmployeeID: widget.myEmployeeID,
|
||||
)));
|
||||
},
|
||||
).toShimmer(context: context, isShow: requestProvider.chatLoginTokenLoading, radius: 30, height: 30, width: 30);
|
||||
});
|
||||
;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue