task_item_view.dart 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import 'package:electronic_assistant/data/bean/agenda.dart';
  2. import 'package:electronic_assistant/utils/expand.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:flutter_screenutil/flutter_screenutil.dart';
  5. import 'package:get/get.dart';
  6. import '../../resource/assets.gen.dart';
  7. import '../../resource/colors.gen.dart';
  8. import '../../resource/string.gen.dart';
  9. Widget taskItemView(Agenda item,
  10. {VoidCallback? onCheckClick, VoidCallback? onThinkingClick}) {
  11. return Container(
  12. padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 17).w,
  13. margin: const EdgeInsets.only(left: 12, right: 12, bottom: 8).w,
  14. decoration: BoxDecoration(
  15. color: Colors.white,
  16. borderRadius: BorderRadius.circular(8),
  17. ),
  18. child: Row(
  19. crossAxisAlignment: CrossAxisAlignment.center,
  20. children: [
  21. GestureDetector(
  22. onTap: onCheckClick,
  23. child: SizedBox(
  24. width: 20.w,
  25. height: 20.w,
  26. child: item.isDone.isTrue
  27. ? Assets.images.iconAgentChecked.image()
  28. : Assets.images.iconAgentUnCheck.image()),
  29. ),
  30. SizedBox(width: 3.w),
  31. Visibility(
  32. visible: item.isExample.isTrue,
  33. child: Container(
  34. decoration: BoxDecoration(
  35. color: ColorName.colorPrimary.withOpacity(0.2),
  36. borderRadius: BorderRadius.circular(4),
  37. ),
  38. padding: const EdgeInsets.symmetric(horizontal: 6).w,
  39. child: Text(
  40. StringName.homeTalkExample.tr,
  41. style: TextStyle(fontSize: 12.sp, color: ColorName.colorPrimary),
  42. ),
  43. ),
  44. ),
  45. SizedBox(width: 5.w),
  46. Expanded(
  47. child: Padding(
  48. padding: const EdgeInsets.only(right: 12).w,
  49. child: Text(item.content ?? '',
  50. maxLines: 1,
  51. overflow: TextOverflow.ellipsis,
  52. style: TextStyle(
  53. fontSize: 15.sp,
  54. fontWeight: FontWeight.bold,
  55. color: ColorName.primaryTextColor)),
  56. ),
  57. ),
  58. Container(
  59. decoration: BoxDecoration(
  60. gradient: LinearGradient(
  61. colors: ['#9075FF'.toColor(), '#4366FF'.toColor()],
  62. stops: const [0.3, 1.0],
  63. ),
  64. borderRadius: BorderRadius.circular(6),
  65. ),
  66. padding: const EdgeInsets.symmetric(horizontal: 9, vertical: 4).w,
  67. child: Text(
  68. StringName.homeTalkThinking.tr,
  69. style: TextStyle(fontSize: 13.sp, color: ColorName.white),
  70. ),
  71. )
  72. ],
  73. ),
  74. );
  75. }