page conversation fonctionnelle

messagerie_lucas_test
Lucas DELANIER 2 years ago
parent 84ad3100ee
commit 8c5bdfe940

@ -27,11 +27,14 @@ class _ConversationPageState extends State<ConversationPage> {
void SendMessage(String content){
setState(() {
messages.add(MessageWidget(Message(MyApp().controller.currentUser,content)));
messages.add(MessageWidget(Message(destinataire,"reponse test gyegryzgrgz zyegruhzb hvhbzy vhu ry z yrzrv ze vhv hzvh z zv zz ev")));
});
}
Widget MessageWidget(Message message) {
if(message.sender != MyApp().controller.currentUser){
return Container(
return Align(
alignment: Alignment.centerLeft,
child: Container(
margin: EdgeInsets.fromLTRB(40, 7, 80, 7),
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
@ -48,10 +51,13 @@ class _ConversationPageState extends State<ConversationPage> {
padding: EdgeInsets.fromLTRB(15, 15, 15, 15),
child: Text(message.content,style: TextStyle(fontFamily: 'DMSans', color: Colors.white ,fontSize: 15, fontWeight: FontWeight.w400),
)),
),
);
}
else{
return Container(
return Align(
alignment: Alignment.centerRight,
child: Container(
margin: EdgeInsets.fromLTRB(80, 7, 40, 7),
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
@ -63,9 +69,9 @@ class _ConversationPageState extends State<ConversationPage> {
color: Color(0xFF2F2F2F),
),
child: Padding(
padding: EdgeInsets.fromLTRB(15, 15, 15, 15),
child: Text(message.content,style: TextStyle(fontFamily: 'DMSans', color: Colors.white ,fontSize: 15, fontWeight: FontWeight.w400),
)),
padding: EdgeInsets.all(15),
child: Text(message.content,style: TextStyle(fontFamily: 'DMSans', color: Colors.white ,fontSize: 15, fontWeight: FontWeight.w400),),
),),
);
}
@ -84,6 +90,7 @@ class _ConversationPageState extends State<ConversationPage> {
Widget build(BuildContext context) {
double height = MediaQuery.of(context).size.height;
double width = MediaQuery.of(context).size.width;
ScrollController listScrollController = ScrollController();
return Scaffold(
@ -127,6 +134,7 @@ class _ConversationPageState extends State<ConversationPage> {
],
),*/
ListView.builder(
controller: listScrollController,
physics: BouncingScrollPhysics(),
itemCount: messages.length,
itemBuilder: (context, index) {
@ -177,6 +185,11 @@ class _ConversationPageState extends State<ConversationPage> {
onTap: () {
SendMessage(messageTextField.text);
if (listScrollController.hasClients) {
final position = listScrollController.position.maxScrollExtent;
listScrollController.jumpTo(position+40);
}
messageTextField.clear();
},
child: Container(

Loading…
Cancel
Save