import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:taafee_mobile/common/const/const.dart';
import 'package:taafee_mobile/common/widgets/text.dart';
import 'package:taafee_mobile/features/chat/data_layer/model/message.dart';
import 'package:taafee_mobile/features/home/business_logic_layer/home_controller.dart';

import '../../business logic layer/chat_controller.dart';

class RecievedMessageWidget extends StatelessWidget {
  RecievedMessageWidget({
    super.key,
    this.dismissibleKey = const Key('recivied'),
    required this.messageModel,
    required this.textFieldFocusNode,
  });
  final Key dismissibleKey;
  final MessageModel messageModel;
  final FocusNode textFieldFocusNode;
  final ChatController chatController = Get.find<ChatController>();
  final HomeController homeController = Get.find<HomeController>();
  @override
  Widget build(BuildContext context) {
    return Dismissible(
      key: dismissibleKey,
      confirmDismiss: (direction) async {
        chatController.updateReplyModel(
          messageModel: messageModel,
        );
        if (chatController.isReplying.value == false) {
          chatController.toggleIsReplying();
        }

        FocusScope.of(context).requestFocus(textFieldFocusNode);

        return false;
      },
      onDismissed: null,
      child: Container(
        alignment: Alignment.centerLeft,
        margin: const EdgeInsets.symmetric(horizontal: 10, vertical: 7),
        width: Get.width * 0.45,
        //height: 66,
        decoration: BoxDecoration(
          color: Colors.white,
          borderRadius: BorderRadius.circular(10),
        ),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            Row(
              mainAxisAlignment: MainAxisAlignment.spaceBetween,
              children: [
                SizedBox(
                  width: Responsive.isTablet()
                      ? Get.width * 0.3
                      : Get.width * 0.35,
                  child: RegularTextWidget(
                    messageModel.content,
                    color: AppColors.textMessageColor,
                    fontSize: 14,
                  ),
                ).paddingOnly(top: 8),
              ],
            ).paddingOnly(left: 2, top: 4),
            RegularTextWidget(
              messageModel.createdAt.toString().substring(11, 16),
              color: AppColors.timeMessageColor,
              fontSize: 10,
            ).paddingOnly(top: 15, left: 2, bottom: 4)
          ],
        ).paddingSymmetric(horizontal: 15),
      ),
    );
  }
}
