import 'package:ef/ef.dart'; import 'package:flutter/material.dart'; import 'package:flutterflow_ui/flutterflow_ui.dart'; import 'package:vbvs_app/common/color/appConstants.dart'; import 'package:vbvs_app/common/util/FitTool.dart'; import 'package:vbvs_app/common/util/MyUtils.dart'; import 'package:vbvs_app/component/tool/ClickableContainer.dart'; import 'package:vbvs_app/controller/theme_controller/ThemeController.dart'; class SleepDataModuleWidget extends StatefulWidget { final Map data; const SleepDataModuleWidget({super.key, required this.data}); @override State createState() => _SleepDataModuleWidgetState(); } class _SleepDataModuleWidgetState extends State { @override void setState(VoidCallback callback) { super.setState(callback); } @override void initState() { super.initState(); } @override void dispose() { super.dispose(); } @override Widget build(BuildContext context) { ThemeController themeController = Get.find(); return ClickableContainer( backgroundColor: themeController.currentColor.sc5, highlightColor: themeController.currentColor.sc3, borderRadius: 20.rpx, padding: EdgeInsetsDirectional.fromSTEB(18.rpx, 18.rpx, 18.rpx, 22.rpx), onTap: () { print('点击了离床次数卡片'); }, child: Container( // width: MediaQuery.sizeOf(context).width * 0.267, width: MediaQuery.sizeOf(context).width * 0.267, constraints: BoxConstraints( minWidth: 200.rpx, minHeight: 161.rpx, ), child: Column( mainAxisSize: MainAxisSize.max, crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ Text( '${widget.data['name']}', style: FlutterFlowTheme.of(context).bodyMedium.override( fontFamily: 'Inter', fontSize: 26.rpx, letterSpacing: 0.0, color: themeController.currentColor.sc3, ), maxLines: 1, overflow: TextOverflow.ellipsis, ), Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( mainAxisSize: MainAxisSize.max, crossAxisAlignment: CrossAxisAlignment.end, children: [ Text( '${widget.data['value']}', style: FlutterFlowTheme.of(context).bodyMedium.override( fontFamily: 'Inter', fontSize: 40.rpx, letterSpacing: 0.0, color: themeController.currentColor.sc3, ), maxLines: 1, overflow: TextOverflow.ellipsis, ), Padding( padding: EdgeInsetsDirectional.fromSTEB(0, 0, 0, 10.rpx), child: Text( '${widget.data['unit'] ?? ''}', style: FlutterFlowTheme.of(context).bodyMedium.override( fontFamily: 'Inter', fontSize: AppConstants().small_text_fontSize, letterSpacing: 0.0, color: themeController.currentColor.sc3, ), maxLines: 1, overflow: TextOverflow.ellipsis, ), ), ], ), if (widget.data['level'] != null) ClickableContainer( backgroundColor: (widget.data['color'] == null || widget.data['color'].toString().isEmpty) ? Colors.transparent : stringToColor(widget.data['color']), highlightColor: themeController.currentColor.sc3, padding: EdgeInsets.symmetric( horizontal: 0.rpx, vertical: 0.rpx, ), borderRadius: 8.rpx, onTap: () { print('Button pressed ...'); }, child: Container( alignment: Alignment.center, constraints: BoxConstraints( minWidth: 43.rpx, minHeight: 36.rpx, ), child: Text( '${widget.data['level']}', style: FlutterFlowTheme.of(context).titleSmall.override( fontFamily: 'Inter Tight', color: themeController.currentColor.sc3, letterSpacing: 0.0, fontSize: 15.rpx, ), ), ), ), ].divide(SizedBox(width: 0.rpx)), ), Text( "正常值".tr + '${(widget.data['range'] ?? '').toString().isEmpty ? '未知数据'.tr : widget.data['range']}', style: FlutterFlowTheme.of(context).bodyMedium.override( fontFamily: 'Inter', fontSize: AppConstants().small_text_fontSize, letterSpacing: 0.0, color: themeController.currentColor.sc4, ), maxLines: 1, overflow: TextOverflow.ellipsis, ), ], ), ), ); } }