flutter application streambuilder in real time this is group chat app I need to get bool chat vale from firebase firestore if true or false in real time without exit page and re open to update the value Or any way to prevent the user from sending a message in the group when the value of Chat is equal to False this is my code
StreamBuilder(builder: (context, snapshot) {
if(chat == false){
return Container(
child:
Padding(
padding: const EdgeInsets.symmetric(horizontal: 30,vertical: 5),
child: Row(
children: [
Image.network('https://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/Error.svg/1200px-Error.svg.png',height: 25,width: 25,),
SizedBox(width: 20,),
Expanded(child: Text('Only admin can send message',style: TextStyle(fontSize: 10),maxLines: 1,overflow: TextOverflow.ellipsis,))
],
),
)
);
}else{
return Padding(
padding: const EdgeInsets.all(10.0),
child: Material(
borderRadius: BorderRadius.circular(50),
color: ColorConstants.appColor,
child: Padding(
padding: const EdgeInsets.only(bottom: 4.0,top: 4.0,left: 1.5,right: 1.5),
child: Container(
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(50)
),
child:
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Expanded(child: TextField(
controller: messageedit,
onChanged: (value){
messageText = value;
},
decoration: InputDecoration(
contentPadding: EdgeInsets.symmetric(
vertical: 10,
horizontal: 20
),
hintText: 'Write your message .... ',
border: InputBorder.none
),
)),
IconButton(onPressed: () {
messageedit.clear();
_firestore.collection("messages").add({
'text': messageText,
'sender' : email,
'time' : FieldValue.serverTimestamp(),
}).whenComplete(() => sendNotification('$messageText', '$email'));
}, icon: Icon(Icons.send_rounded,color: ColorConstants.appColor,))
],
)
),
),
),
);
}
},stream: _firestore.collection('admin').doc('admin').snapshots(),),
your code has the wrong implementation.
_firestore.collection('admin').doc({DOCID}).snapshots()
check the flutter fire documentation for the correct implementation
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.