refactor(fix): performance metrics

This commit is contained in:
mso7nueh
2024-06-19 16:00:18 +03:00
parent 4b22f1c638
commit 76d33623c7
3 changed files with 80 additions and 71 deletions

View File

@@ -88,19 +88,24 @@ class ChatScreen extends StatelessWidget {
child: Container(
color: Color(0xFFF0F2F5),
width: double.maxFinite,
child: ListView.builder(
child: CustomScrollView(
reverse: true,
padding: EdgeInsets.symmetric(vertical: 16),
shrinkWrap: true,
itemBuilder: (BuildContext context, int index) {
return ChatBubbleWidget(
text: state.chatRoomModel.messages[state.chatRoomModel.messages.length - index - 1].data,
isCurrentUser:
state.chatRoomModel.users['to_chat_user']!.id != state.chatRoomModel.messages[state.chatRoomModel.messages.length - index - 1].authorId,
mediaData: state.chatRoomModel.messages[state.chatRoomModel.messages.length - index - 1].mediaData,
);
},
itemCount: state.chatRoomModel.messages.length,
slivers: [
SliverPadding(
padding: EdgeInsets.symmetric(vertical: 16),
sliver: SliverList(
delegate: SliverChildBuilderDelegate(
(context, index) => ChatBubbleWidget(
text: state.chatRoomModel.messages[state.chatRoomModel.messages.length - index - 1].data,
isCurrentUser: state.chatRoomModel.users['to_chat_user']!.id !=
state.chatRoomModel.messages[state.chatRoomModel.messages.length - index - 1].authorId,
mediaData: state.chatRoomModel.messages[state.chatRoomModel.messages.length - index - 1].mediaData,
),
childCount: state.chatRoomModel.messages.length,
),
),
),
],
),
),
),
@@ -112,7 +117,7 @@ class ChatScreen extends StatelessWidget {
SizedBox(width: 8),
InkWell(
onTap: () {},
borderRadius: BorderRadius.circular(16),
borderRadius: BorderRadiusStyle.circleBorder17,
child: Ink(
height: 32,
width: 32,
@@ -147,21 +152,21 @@ class ChatScreen extends StatelessWidget {
),
filled: true,
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(16),
borderRadius: BorderRadiusStyle.circleBorder17,
borderSide: BorderSide(
color: Color(0xFFD1D1D6),
width: 1,
),
),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(16),
borderRadius: BorderRadiusStyle.circleBorder17,
borderSide: BorderSide(
color: Color(0xFFD1D1D6),
width: 1,
),
),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(16),
borderRadius: BorderRadiusStyle.circleBorder17,
borderSide: BorderSide(
color: Color(0xFFD1D1D6),
width: 1,
@@ -172,7 +177,7 @@ class ChatScreen extends StatelessWidget {
),
SizedBox(width: 8),
InkWell(
borderRadius: BorderRadius.circular(16),
borderRadius: BorderRadiusStyle.circleBorder17,
onTap: () {},
child: Ink(
height: 32,

View File

@@ -1,3 +1,4 @@
import 'package:eatvio_app/core/app_export.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
@@ -70,7 +71,7 @@ class _PhotoViewScreenState extends State<PhotoViewScreen> {
SizedBox(height: 8),
ListTile(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16),
borderRadius: BorderRadiusStyle.circleBorder17,
),
contentPadding: EdgeInsets.all(16),
onTap: () async {