item_feedback.dart 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import 'package:cs_resources/generated/assets.dart';
  2. import 'package:cs_resources/generated/l10n.dart';
  3. import 'package:cs_resources/theme/app_colors_theme.dart';
  4. import 'package:domain/entity/feedback_list_entity.dart';
  5. import 'package:flutter/material.dart';
  6. import 'package:widgets/ext/ex_widget.dart';
  7. import 'package:widgets/my_load_image.dart';
  8. import 'package:widgets/my_text_view.dart';
  9. import 'package:widgets/utils/dark_theme_util.dart';
  10. class FeedbackItem extends StatelessWidget {
  11. final int index;
  12. final FeedbackItemEntity item;
  13. const FeedbackItem({
  14. required this.index,
  15. required this.item,
  16. });
  17. @override
  18. Widget build(BuildContext context) {
  19. return Container(
  20. margin: const EdgeInsets.only(left: 15, right: 15, top: 5, bottom: 5),
  21. padding: const EdgeInsets.symmetric(vertical: 19, horizontal: 18.5),
  22. decoration: BoxDecoration(
  23. color: context.appColors.whiteBG,
  24. borderRadius: BorderRadius.circular(6.0), // 圆角
  25. boxShadow: [
  26. BoxShadow(
  27. color: context.appColors.itemBGShadow, // 阴影颜色
  28. offset: const Offset(0, 3), // 阴影的偏移量
  29. blurRadius: 8.0, // 模糊半径
  30. spreadRadius: 3.0, // 扩散半径
  31. ),
  32. ],
  33. ),
  34. child: Column(
  35. crossAxisAlignment: CrossAxisAlignment.start,
  36. children: [
  37. Row(
  38. children: [
  39. MyAssetImage(
  40. Assets.mainFeedbackItemIcon,
  41. width: 42.5,
  42. height: 44,
  43. color: DarkThemeUtil.multiColors(context, AppColorsTheme.colorPrimary, darkColor: Colors.white),
  44. ),
  45. Column(
  46. crossAxisAlignment: CrossAxisAlignment.start,
  47. children: [
  48. MyTextView(
  49. item.title ?? "",
  50. fontSize: 16,
  51. textColor: context.appColors.textBlack,
  52. isFontMedium: true,
  53. ),
  54. MyTextView(
  55. item.content ?? "",
  56. fontSize: 14,
  57. maxLines: 2,
  58. marginTop: 5,
  59. textColor: context.appColors.textBlack,
  60. isFontRegular: true,
  61. ),
  62. ],
  63. ).marginOnly(left: 11).expanded(),
  64. ],
  65. ),
  66. //备注
  67. MyTextView(
  68. "${item.createdAt} | ${item.category?.name ?? ""} | ${item.status == 1 ? S.current.in_progress : S.current.replied}",
  69. fontSize: 12,
  70. marginTop: 10,
  71. textColor: context.appColors.textDarkGray,
  72. isFontRegular: true,
  73. ),
  74. ],
  75. ),
  76. );
  77. }
  78. }