DefaultChatTheme constructor

DefaultChatTheme({
  1. BorderRadius? imageBorderRadius,
  2. Color? backgroundColor,
  3. DecorationImage? backgroundImage = const DecorationImage(image: CachedNetworkImageProvider("https://i.pinimg.com/736x/85/ec/df/85ecdf1c3611ecc9b7fa85282d9526e0.jpg"), fit: BoxFit.cover),
  4. Color? userStatusColor = Colors.green,
  5. Widget verificationBadge = const Iconify(Ic.sharp_verified, color: Colors.green, size: 14),
  6. TextStyle timestampTextStyle = const TextStyle(fontSize: 14, color: Color.fromARGB(255, 114, 114, 114), fontWeight: FontWeight.w500),
  7. MessageTheme? inwardMessageTheme = const MessageTheme(linkPreviewTitleStyle: TextStyle(color: Colors.white, fontWeight: FontWeight.bold), linkPreviewTextStyle: TextStyle(color: Color.fromARGB(255, 182, 182, 182)), contentTextStyle: TextStyle(color: Color.fromARGB(255, 225, 225, 225), fontSize: 14, fontWeight: FontWeight.w500), borderRadius: BorderRadius.only(topLeft: Radius.circular(20), topRight: Radius.circular(20), bottomRight: Radius.circular(20), bottomLeft: Radius.circular(5)), backgroundColor: Color(0xff373E4E), messageWidth: 0.7, padding: EdgeInsets.all(10.0), margin: EdgeInsets.only(top: 20), urlTextStyle: TextStyle(color: Colors.blue)),
  8. MessageTheme? outwardMessageTheme = const MessageTheme(linkPreviewTitleStyle: TextStyle(color: Colors.white, fontWeight: FontWeight.bold), linkPreviewTextStyle: TextStyle(color: Color.fromARGB(255, 182, 182, 182)), borderRadius: BorderRadius.only(topLeft: Radius.circular(20), topRight: Radius.circular(20), bottomRight: Radius.circular(5), bottomLeft: Radius.circular(20)), contentTextStyle: TextStyle(color: Color.fromARGB(255, 225, 225, 225), fontSize: 14, fontWeight: FontWeight.w500), backgroundColor: Color(0xff7A8194), messageWidth: 0.7, padding: EdgeInsets.all(10.0), margin: EdgeInsets.only(top: 20)),
  9. MessageTheme? actionMessageTheme = const MessageTheme(contentTextStyle: TextStyle(fontSize: 14, color: Color.fromARGB(255, 114, 114, 114), fontWeight: FontWeight.w500), backgroundColor: null, margin: EdgeInsets.only(top: 15, left: 20, right: 20), urlTextStyle: TextStyle(color: Colors.blue)),
  10. EdgeInsetsGeometry bodyPadding = const EdgeInsets.symmetric(vertical: 10, horizontal: 20),
  11. EdgeInsetsGeometry usernamePadding = const EdgeInsets.all(2),
  12. Widget seenIcon = const MessageStatus(2),
  13. Widget sentIcon = const MessageStatus(1),
  14. Widget sendingFailedIcon = const Iconify(Mdi.alert_circle_outline, color: Colors.red),
  15. TextStyle timeTextStyle = const TextStyle(color: Colors.white, fontSize: 12),
  16. TextStyle usernameTextStyle = const TextStyle(fontSize: 14, fontWeight: FontWeight.bold),
  17. TextStyle avatarTextStyle = const TextStyle(color: Colors.white, fontWeight: FontWeight.bold, fontSize: 22, fontFamily: 'Satoshi'),
  18. Color defaultUserColor = Colors.blue,
  19. double userAvatarRadius = 10.0,
  20. Color? iconColor = Colors.white,
  21. Color? inputBackgroundColor,
  22. required Color primaryColor,
})

Implementation

DefaultChatTheme({
  super.imageBorderRadius,
  super.backgroundColor,
  super.backgroundImage = const DecorationImage(
    image: CachedNetworkImageProvider(
        "https://i.pinimg.com/736x/85/ec/df/85ecdf1c3611ecc9b7fa85282d9526e0.jpg"),
    fit: BoxFit.cover,
  ),
  super.userStatusColor = Colors.green,
  super.verificationBadge = const Iconify(
    Ic.sharp_verified,
    color: Colors.green,
    size: 14,
  ),
  super.timestampTextStyle = const TextStyle(
    fontSize: 14,
    color: Color.fromARGB(255, 114, 114, 114),
    fontWeight: FontWeight.w500,
  ),
  super.inwardMessageTheme = const MessageTheme(
    linkPreviewTitleStyle:
        TextStyle(color: Colors.white, fontWeight: FontWeight.bold),
    linkPreviewTextStyle: TextStyle(
      color: Color.fromARGB(255, 182, 182, 182),
    ),
    contentTextStyle: TextStyle(
      color: Color.fromARGB(255, 225, 225, 225),
      fontSize: 14,
      fontWeight: FontWeight.w500,
    ),
    borderRadius: BorderRadius.only(
      topLeft: Radius.circular(20),
      topRight: Radius.circular(20),
      bottomRight: Radius.circular(20),
      bottomLeft: Radius.circular(5),
    ),
    backgroundColor: Color(0xff373E4E),
    messageWidth: 0.7,
    padding: EdgeInsets.all(10.0),
    margin: EdgeInsets.only(top: 20),
    urlTextStyle: TextStyle(color: Colors.blue),
  ),
  super.outwardMessageTheme = const MessageTheme(
      linkPreviewTitleStyle:
          TextStyle(color: Colors.white, fontWeight: FontWeight.bold),
      linkPreviewTextStyle:
          TextStyle(color: Color.fromARGB(255, 182, 182, 182)),
      borderRadius: BorderRadius.only(
        topLeft: Radius.circular(20),
        topRight: Radius.circular(20),
        bottomRight: Radius.circular(5),
        bottomLeft: Radius.circular(20),
      ),
      contentTextStyle: TextStyle(
        color: Color.fromARGB(255, 225, 225, 225),
        fontSize: 14,
        fontWeight: FontWeight.w500,
      ),
      backgroundColor: Color(0xff7A8194),
      messageWidth: 0.7,
      padding: EdgeInsets.all(10.0),
      margin: EdgeInsets.only(top: 20)),
  super.actionMessageTheme = const MessageTheme(
    contentTextStyle: TextStyle(
      fontSize: 14,
      color: Color.fromARGB(255, 114, 114, 114),
      fontWeight: FontWeight.w500,
    ),
    backgroundColor: null,
    margin: EdgeInsets.only(top: 15, left: 20, right: 20),
    urlTextStyle: TextStyle(color: Colors.blue),
  ),
  super.bodyPadding =
      const EdgeInsets.symmetric(vertical: 10, horizontal: 20),
  super.usernamePadding = const EdgeInsets.all(2),
  super.seenIcon = const MessageStatus(2),
  super.sentIcon = const MessageStatus(1),
  super.sendingFailedIcon = const Iconify(
    Mdi.alert_circle_outline,
    color: Colors.red,
  ),
  super.timeTextStyle = const TextStyle(
    color: Colors.white,
    fontSize: 12,
  ),
  super.usernameTextStyle = const TextStyle(
    fontSize: 14,
    fontWeight: FontWeight.bold,
  ),
  super.avatarTextStyle = const TextStyle(
      color: Colors.white,
      fontWeight: FontWeight.bold,
      fontSize: 22,
      fontFamily: 'Satoshi'),
  super.defaultUserColor = Colors.blue,
  super.userAvatarRadius = 10.0,
  super.iconColor = Colors.white,
  super.inputBackgroundColor,
  required super.primaryColor,
});