DOOChatTheme constructor

const DOOChatTheme({
  1. Widget? attachmentButtonIcon,
  2. Color backgroundColor = DOO_BG_COLOR,
  3. TextStyle dateDividerTextStyle = const TextStyle(color: Colors.black26, fontSize: 12, fontWeight: FontWeight.w800, height: 1.333),
  4. Widget? deliveredIcon,
  5. Widget? documentIcon,
  6. TextStyle emptyChatPlaceholderTextStyle = const TextStyle(color: Colors.black, fontSize: 16, fontWeight: FontWeight.w500, height: 1.5),
  7. Color errorColor = Colors.red,
  8. Widget? errorIcon,
  9. Color inputBackgroundColor = Colors.white,
  10. BorderRadius inputBorderRadius = const BorderRadius.all(Radius.circular(10)),
  11. Color inputTextColor = Colors.black87,
  12. TextStyle inputTextStyle = const TextStyle(fontSize: 16, fontWeight: FontWeight.w500, height: 1.5),
  13. double messageBorderRadius = 20.0,
  14. Color primaryColor = DOO_COLOR_PRIMARY,
  15. TextStyle receivedMessageBodyTextStyle = const TextStyle(color: Colors.black87, fontSize: 16, fontWeight: FontWeight.w500, height: 1.5),
  16. TextStyle receivedMessageCaptionTextStyle = const TextStyle(color: Colors.greenAccent, fontSize: 12, fontWeight: FontWeight.w500, height: 1.333),
  17. Color receivedMessageDocumentIconColor = Colors.green,
  18. TextStyle receivedMessageLinkDescriptionTextStyle = const TextStyle(color: Colors.greenAccent, fontSize: 14, fontWeight: FontWeight.w400, height: 1.428),
  19. TextStyle receivedMessageLinkTitleTextStyle = const TextStyle(color: Colors.blueAccent, fontSize: 16, fontWeight: FontWeight.w800, height: 1.375),
  20. Color secondaryColor = Colors.white,
  21. Widget? seenIcon,
  22. Widget? sendButtonIcon,
  23. Widget? sendingIcon,
  24. TextStyle sentMessageBodyTextStyle = const TextStyle(color: Colors.white, fontSize: 16, fontWeight: FontWeight.w500, height: 1.5),
  25. TextStyle sentMessageCaptionTextStyle = const TextStyle(color: Colors.amber, fontSize: 12, fontWeight: FontWeight.w500, height: 1.333),
  26. Color sentMessageDocumentIconColor = Colors.blueGrey,
  27. TextStyle sentMessageLinkDescriptionTextStyle = const TextStyle(color: Colors.grey, fontSize: 14, fontWeight: FontWeight.w400, height: 1.428),
  28. TextStyle sentMessageLinkTitleTextStyle = const TextStyle(color: Colors.amberAccent, fontSize: 16, fontWeight: FontWeight.w800, height: 1.375),
  29. List<Color> userAvatarNameColors = DOO_AVATAR_COLORS,
  30. TextStyle userAvatarTextStyle = const TextStyle(color: Colors.orange, fontSize: 12, fontWeight: FontWeight.w800, height: 1.333),
  31. TextStyle userNameTextStyle = const TextStyle(color: Colors.black87, fontSize: 12, fontWeight: FontWeight.w800, height: 1.333),
})

Creates a DOO chat theme. Use this constructor if you want to override only a couple of variables.

Implementation

const DOOChatTheme(
    {Widget? attachmentButtonIcon,
    Color backgroundColor = DOO_BG_COLOR,
    TextStyle dateDividerTextStyle = const TextStyle(
      color: Colors.black26,
      fontSize: 12,
      fontWeight: FontWeight.w800,
      height: 1.333,
    ),
    Widget? deliveredIcon,
    Widget? documentIcon,
    TextStyle emptyChatPlaceholderTextStyle = const TextStyle(
      color: Colors.black,
      fontSize: 16,
      fontWeight: FontWeight.w500,
      height: 1.5,
    ),
    Color errorColor = Colors.red,
    Widget? errorIcon,
    Color inputBackgroundColor = Colors.white,
    BorderRadius inputBorderRadius = const BorderRadius.all(
      Radius.circular(10),
    ),
    Color inputTextColor = Colors.black87,
    TextStyle inputTextStyle = const TextStyle(
      fontSize: 16,
      fontWeight: FontWeight.w500,
      height: 1.5,
    ),
    double messageBorderRadius = 20.0,
    Color primaryColor = DOO_COLOR_PRIMARY,
    TextStyle receivedMessageBodyTextStyle = const TextStyle(
      color: Colors.black87,
      fontSize: 16,
      fontWeight: FontWeight.w500,
      height: 1.5,
    ),
    TextStyle receivedMessageCaptionTextStyle = const TextStyle(
      color: Colors.greenAccent,
      fontSize: 12,
      fontWeight: FontWeight.w500,
      height: 1.333,
    ),
    Color receivedMessageDocumentIconColor = Colors.green,
    TextStyle receivedMessageLinkDescriptionTextStyle = const TextStyle(
      color: Colors.greenAccent,
      fontSize: 14,
      fontWeight: FontWeight.w400,
      height: 1.428,
    ),
    TextStyle receivedMessageLinkTitleTextStyle = const TextStyle(
      color: Colors.blueAccent,
      fontSize: 16,
      fontWeight: FontWeight.w800,
      height: 1.375,
    ),
    Color secondaryColor = Colors.white,
    Widget? seenIcon,
    Widget? sendButtonIcon,
    Widget? sendingIcon,
    TextStyle sentMessageBodyTextStyle = const TextStyle(
      color: Colors.white,
      fontSize: 16,
      fontWeight: FontWeight.w500,
      height: 1.5,
    ),
    TextStyle sentMessageCaptionTextStyle = const TextStyle(
      color: Colors.amber,
      fontSize: 12,
      fontWeight: FontWeight.w500,
      height: 1.333,
    ),
    Color sentMessageDocumentIconColor = Colors.blueGrey,
    TextStyle sentMessageLinkDescriptionTextStyle = const TextStyle(
      color: Colors.grey,
      fontSize: 14,
      fontWeight: FontWeight.w400,
      height: 1.428,
    ),
    TextStyle sentMessageLinkTitleTextStyle = const TextStyle(
      color: Colors.amberAccent,
      fontSize: 16,
      fontWeight: FontWeight.w800,
      height: 1.375,
    ),
    List<Color> userAvatarNameColors = DOO_AVATAR_COLORS,
    TextStyle userAvatarTextStyle = const TextStyle(
      color: Colors.orange,
      fontSize: 12,
      fontWeight: FontWeight.w800,
      height: 1.333,
    ),
    TextStyle userNameTextStyle = const TextStyle(
      color: Colors.black87,
      fontSize: 12,
      fontWeight: FontWeight.w800,
      height: 1.333,
    )})
    : super(
        attachmentButtonIcon: attachmentButtonIcon,
        backgroundColor: backgroundColor,
        dateDividerTextStyle: dateDividerTextStyle,
        deliveredIcon: deliveredIcon,
        documentIcon: documentIcon,
        emptyChatPlaceholderTextStyle: emptyChatPlaceholderTextStyle,
        errorColor: errorColor,
        errorIcon: errorIcon,
        inputBackgroundColor: inputBackgroundColor,
        inputBorderRadius: inputBorderRadius,
        inputTextColor: inputTextColor,
        inputTextStyle: inputTextStyle,
        messageBorderRadius: messageBorderRadius,
        primaryColor: primaryColor,
        receivedMessageBodyTextStyle: receivedMessageBodyTextStyle,
        receivedMessageCaptionTextStyle: receivedMessageCaptionTextStyle,
        receivedMessageDocumentIconColor: receivedMessageDocumentIconColor,
        receivedMessageLinkDescriptionTextStyle:
            receivedMessageLinkDescriptionTextStyle,
        receivedMessageLinkTitleTextStyle: receivedMessageLinkTitleTextStyle,
        secondaryColor: secondaryColor,
        seenIcon: seenIcon,
        sendButtonIcon: sendButtonIcon,
        sendingIcon: sendingIcon,
        sentMessageBodyTextStyle: sentMessageBodyTextStyle,
        sentMessageCaptionTextStyle: sentMessageCaptionTextStyle,
        sentMessageDocumentIconColor: sentMessageDocumentIconColor,
        sentMessageLinkDescriptionTextStyle:
            sentMessageLinkDescriptionTextStyle,
        sentMessageLinkTitleTextStyle: sentMessageLinkTitleTextStyle,
        userAvatarNameColors: userAvatarNameColors,
        userAvatarTextStyle: userAvatarTextStyle,
        userNameTextStyle: userNameTextStyle,
        attachmentButtonMargin: null,
        dateDividerMargin: EdgeInsets.zero,
        inputMargin: EdgeInsets.zero,
        inputPadding: EdgeInsets.zero,
        inputTextDecoration: const InputDecoration(),
        messageInsetsHorizontal: 4,
        messageInsetsVertical: 4,
        receivedEmojiMessageTextStyle: const TextStyle(),
        sendButtonMargin: null,
        sentEmojiMessageTextStyle: const TextStyle(),
        statusIconPadding: const EdgeInsets.symmetric(),
        systemMessageTheme: const SystemMessageTheme(
            margin: EdgeInsets.zero, textStyle: TextStyle()),
        typingIndicatorTheme: const TypingIndicatorTheme(
            animatedCirclesColor: Colors.blue,
            animatedCircleSize: 5,
            bubbleBorder: BorderRadius.zero,
            bubbleColor: Colors.lightBlue,
            countAvatarColor: Colors.blue,
            countTextColor: Colors.black,
            multipleUserTextStyle: TextStyle()),
        unreadHeaderTheme: const UnreadHeaderTheme(
            color: Colors.black, textStyle: TextStyle()),
        userAvatarImageBackgroundColor: Colors.transparent,
        inputSurfaceTintColor: Colors.black,
        inputElevation: 2,
        messageMaxWidth: 300,
      );