messageBumble static method

Widget messageBumble(
  1. BuildContext context, {
  2. required ChatMessage message,
  3. bool isviewed = false,
})

Implementation

static Widget messageBumble(
  BuildContext context, {
  required ChatMessage message,
  bool isviewed = false,
}) {
  return Container(
    padding: const EdgeInsets.all(10),
    child: Row(
      mainAxisAlignment:
          message.isMe ? MainAxisAlignment.end : MainAxisAlignment.start,
      children: [
        if (!message.isMe)
          Container(
            padding: const EdgeInsets.only(right: 5),
            child: CircleAvatar(
              backgroundColor: Colors.transparent,
              foregroundImage: CachedNetworkImageProvider(
                  message.user.avatar!.mediaURL.minURL.value),
            ),
          ),
        Container(
          constraints: BoxConstraints(
              maxWidth: MediaQuery.of(context).size.width - 70),
          padding: const EdgeInsets.all(10),
          decoration: BoxDecoration(
            color: message.isMe
                ? Colors.blue
                : const Color.fromARGB(255, 212, 78, 69),
            borderRadius: message.isMe
                ? const BorderRadius.only(
                    topLeft: Radius.circular(12),
                    topRight: Radius.circular(0),
                    bottomLeft: Radius.circular(12),
                    bottomRight: Radius.circular(12),
                  )
                : const BorderRadius.only(
                    topLeft: Radius.circular(0),
                    topRight: Radius.circular(12),
                    bottomLeft: Radius.circular(12),
                    bottomRight: Radius.circular(12),
                  ),
          ),
          child: Column(
            children: [
              Stack(
                children: [
                  Padding(
                    padding: const EdgeInsets.only(right: 15),
                    child: Text(
                      message.messageContext.toString(),
                      style: TextStyle(
                        color: message.isMe ? Colors.white : Colors.white,
                      ),
                    ),
                  ),
                  Visibility(
                    visible: message.isMe,
                    child: Positioned(
                      bottom: -3,
                      right: 0,
                      child: Icon(
                        isviewed ? Icons.done_all : Icons.done,
                        color: isviewed
                            ? const Color.fromRGBO(116, 243, 20, 1)
                            : const Color.fromARGB(255, 222, 224, 220),
                        size: 14,
                      ), // Okundu işareti
                    ),
                  ),
                ],
              ),
            ],
          ),
        ),
      ],
    ),
  );
}