Вы находитесь на странице: 1из 4

import 'packagefirebase_authfirebase_auth.

dart';
import 'packagesignuphelperconstants.dart';
import 'packagesignuphelperhelperfunctions.dart';
import 'packagesignuphelpertheme.dart';
import 'packagesignupchatchat.dart';
import 'packagesignupchatsearch.dart';
import 'packagefluttermaterial.dart';
import 'packagesignupserviceschatDatabase.dart';

class ChatRoom extends StatefulWidget {


@override
_ChatRoomState createState() = _ChatRoomState();
}

class _ChatRoomState extends StateChatRoom {

FirebaseUser user;
final FirebaseAuth _auth = FirebaseAuth.instance;

@override
void initState() {
super.initState();
String data =
httpsthumbs.dreamstime.combuser-profile-avatar-icon-134114292.jpg;
getUserInfogetChats();
}

String userid;
initUser() async {
user = await _auth.currentUser();
if (user != null) {
userid = user.uid;
} else {
print(user.uid);
User is not available. Do something else
}
setState(() {});
}

Stream chatRooms;

Widget chatRoomsList() {
return StreamBuilder(
stream chatRooms,
builder (context, snapshot) {
print(snapshot.data.documents.length);
return snapshot.hasData ListView.builder(
itemCount snapshot.data.documents.length,
shrinkWrap true,
itemBuilder (context, index) {
return ChatRoomsTile(

userNamesnapshot.data.documents[index].data['chatRoomId'].toString().replaceAll(_,
).replaceAll(Constants.myName, ),
chatRoomId
snapshot.data.documents[index].data[chatRoomId].toString(),
);
})
Container();
},
);
}

getUserInfogetChats() async {
Constants.myName = await HelperFunctions.getUserNameSharedPreference();
chatdatabase().getUserChats(Constants.myName).then((snapshots) {
setState(() {
chatRooms = snapshots;
print(
we got the data + ${chatRooms.toString()} this is name $
{Constants.myName});
});
});
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar AppBar(
title Text(Chat),

Image.asset(
assetschatimagesClogo.png,
height 40,
),
elevation 0.0,
centerTitle false,
),
backgroundColor Color(0xff453658),
resizeToAvoidBottomPadding false,
appBar AppBar(
title Text(Inbox),
centerTitle true,
flexibleSpace Container(
decoration BoxDecoration(
gradient LinearGradient(begin Alignment.bottomRight, colors [
Colors.black.withOpacity(.4),
Colors.black.withOpacity(.2),
]),
),
),
),
body Container(
child chatRoomsList(),
),
floatingActionButton FloatingActionButton(
child Icon(Icons.search),
onPressed () {
Navigator.push(
context, MaterialPageRoute(builder (context) = Search()));
},
),
);
}
}

class ChatRoomsTile extends StatelessWidget {


final String userName;
final String chatRoomId;

ChatRoomsTile({this.userName,@required this.chatRoomId});

@override
Widget build(BuildContext context) {
String data =
httpsthumbs.dreamstime.combuser-profile-avatar-icon-134114292.jpg;
return GestureDetector(
onTap (){
Navigator.push(context, MaterialPageRoute(
builder (context) = Chat(
chatRoomId chatRoomId,
)
));
},
child Padding(
padding const EdgeInsets.all(8.0),
child Container(
padding const EdgeInsets.symmetric(vertical 10.0),
child Row(
children Widget[
CircleAvatar(
backgroundImage NetworkImage(data),
radius 30.0,
),
SizedBox(
width 10,
),
Expanded(
child Column(
crossAxisAlignment CrossAxisAlignment.start,
children Widget[
Text(
userName,
style TextStyle(
color Colors.white,
fontWeight FontWeight.bold,
fontSize 16.0,
),
),
Text(
Hey. How are you !,
maxLines 2,
style TextStyle(
color Colors.grey[200],
),
)
],
),
),
Text(
12'O clock,
style TextStyle(color Colors.white),
),
Divider(),
],
),
),
),
);
}
}

Вам также может понравиться