task_item_view.dart 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. import '../../utils/common_style.dart';
  10. Widget taskItemView(Agenda item,
  11. {VoidCallback? onCheckClick, VoidCallback? onThinkingClick}) {
  12. return Container(
  13. padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 17).w,
  14. margin: const EdgeInsets.only(left: 12, right: 12, bottom: 8).w,
  15. decoration: BoxDecoration(
  16. color: Colors.white,
  17. borderRadius: BorderRadius.circular(8),
  18. ),
  19. child: Row(
  20. crossAxisAlignment: CrossAxisAlignment.center,
  21. children: [
  22. GestureDetector(
  23. onTap: onCheckClick,
  24. child: SizedBox(
  25. width: 20.w,
  26. height: 20.w,
  27. child: item.isDone.isTrue
  28. ? Assets.images.iconAgentChecked.image()
  29. : Assets.images.iconAgentUnCheck.image()),
  30. ),
  31. SizedBox(width: 3.w),
  32. Visibility(
  33. visible: item.isExample.isTrue,
  34. child: Container(
  35. decoration: BoxDecoration(
  36. color: ColorName.colorPrimary.withOpacity(0.2),
  37. borderRadius: BorderRadius.circular(4),
  38. ),
  39. padding: const EdgeInsets.symmetric(horizontal: 6).w,
  40. child: Text(
  41. StringName.homeTalkExample.tr,
  42. style: TextStyle(fontSize: 12.sp, color: ColorName.colorPrimary),
  43. ),
  44. ),
  45. ),
  46. SizedBox(width: 5.w),
  47. Expanded(
  48. child: Padding(
  49. padding: const EdgeInsets.only(right: 12).w,
  50. child: Text(item.content ?? '',
  51. maxLines: 1,
  52. overflow: TextOverflow.ellipsis,
  53. style: TextStyle(
  54. fontSize: 15.sp,
  55. fontWeight: FontWeight.bold,
  56. color: ColorName.primaryTextColor)),
  57. ),
  58. ),
  59. Container(
  60. decoration: getPrimaryBtnDecoration(6),
  61. padding: const EdgeInsets.symmetric(horizontal: 9, vertical: 4).w,
  62. child: Text(
  63. StringName.homeTalkThinking.tr,
  64. style: TextStyle(fontSize: 13.sp, color: ColorName.white),
  65. ),
  66. )
  67. ],
  68. ),
  69. );
  70. }