Skip to content

Commit

Permalink
Merge pull request #98 from ES2-UFPI/davi
Browse files Browse the repository at this point in the history
Davi
  • Loading branch information
iuryFilho authored Jan 21, 2025
2 parents ba51eb5 + b1ba3f8 commit cca0f20
Showing 1 changed file with 67 additions and 51 deletions.
118 changes: 67 additions & 51 deletions healthway_app/lib/geral_screens/chat_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,60 +14,76 @@ class ChatScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
foregroundColor: Colors.white,
title: Row(
children: [
CircleAvatar(
backgroundColor: kPrimaryColor,
radius: 20,
child: Icon(Icons.person, color: Colors.white),
),
SizedBox(width: 10),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('Nutricionista',
style: TextStyle(fontSize: 16, color: Colors.white)),
Text('Online',
style: TextStyle(fontSize: 12, color: Colors.white70)),
],
),
],
),
backgroundColor: kPrimaryColor,
actions: [
IconButton(icon: Icon(Icons.video_call), onPressed: () {}),
IconButton(icon: Icon(Icons.call), onPressed: () {}),
IconButton(icon: Icon(Icons.more_vert), onPressed: () {}),
appBar: _buildAppBar(),
body: _buildBody(),
);
}

AppBar _buildAppBar() {
return AppBar(
foregroundColor: Colors.white,
title: Row(
children: [
CircleAvatar(
backgroundColor: kPrimaryColor,
radius: 20,
child: Icon(Icons.person, color: Colors.white),
),
SizedBox(width: 10),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('Nutricionista',
style: TextStyle(fontSize: 16, color: Colors.white)),
Text('Online',
style: TextStyle(fontSize: 12, color: Colors.white70)),
],
),
],
),
body: Container(
decoration: BoxDecoration(
color: Colors.white,
),
child: Column(
children: [
Expanded(
child: Obx(() {
return ListView.builder(
reverse: true,
itemCount: chatController.messages.length,
itemBuilder: (context, index) {
final message = chatController.messages[index];
return ChatMessageBubble(message: message);
},
);
}),
),
ChatInputField(
onSendMessage: (String text) {
chatController.sendMessage(text);
},
),
],
),
backgroundColor: kPrimaryColor,
actions: _buildAppBarActions(),
);
}

List<Widget> _buildAppBarActions() {
return [
IconButton(icon: Icon(Icons.video_call), onPressed: () {}),
IconButton(icon: Icon(Icons.call), onPressed: () {}),
IconButton(icon: Icon(Icons.more_vert), onPressed: () {}),
];
}

Widget _buildBody() {
return Container(
decoration: BoxDecoration(
color: Colors.white,
),
child: Column(
children: [
_buildMessagesList(),
ChatInputField(
onSendMessage: (String text) {
chatController.sendMessage(text);
},
),
],
),
);
}

Widget _buildMessagesList() {
return Expanded(
child: Obx(() {
return ListView.builder(
reverse: true,
itemCount: chatController.messages.length,
itemBuilder: (context, index) {
final message = chatController.messages[index];
return ChatMessageBubble(message: message);
},
);
}),
);
}
}

0 comments on commit cca0f20

Please sign in to comment.