customListTile function

Widget customListTile({
  1. required IconData leadingIcon,
  2. required String title,
  3. required dynamic navigateTo(),
  4. required double height,
})

Implementation

Widget customListTile({
  required IconData leadingIcon,
  required String title,
  required Function() navigateTo,
  required double height,
}) {
  return Container(
    margin: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
    decoration: BoxDecoration(
      color: Colors.white,
      borderRadius: BorderRadius.circular(14),
      boxShadow: [
        BoxShadow(
          color: Colors.grey.withValues(alpha: 0.08),
          blurRadius: 10,
          offset: const Offset(0, 2),
        ),
      ],
    ),
    child: ListTile(
      contentPadding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
      leading: Container(
        padding: const EdgeInsets.all(10),
        decoration: BoxDecoration(
          gradient: LinearGradient(
            colors: [
              CommonColors.primary.withValues(alpha: 0.15),
              CommonColors.secondaryColor.withValues(alpha: 0.1),
            ],
          ),
          borderRadius: BorderRadius.circular(12),
        ),
        child: Icon(
          leadingIcon,
          color: CommonColors.primary,
          size: 22,
        ),
      ),
      title: customText(
        text: title,
        textColor: Colors.black87,
        fontSize: 14.0,
        fontWeight: FontWeight.w600,
        textAlign: TextAlign.start,
        textOverFlow: TextOverflow.ellipsis,
        maxLines: 2,
      ),
      onTap: navigateTo,
      trailing: Container(
        padding: const EdgeInsets.all(8),
        decoration: BoxDecoration(
          gradient: LinearGradient(
            colors: [CommonColors.primary, CommonColors.secondaryColor],
          ),
          borderRadius: BorderRadius.circular(10),
        ),
        child: const Icon(
          Icons.arrow_forward_ios,
          color: Colors.white,
          size: 14,
        ),
      ),
    ),
  );
}