* Copyright (c) 2024 坚果派
*
* 微信公众号:nutpi
* 官网:https://www.nutpi.net/
*
* 未经授权,禁止任何形式的商业使用
* 详细信息请参考项目根目录下的 README.md 文件
*/
import 'package:flutter/material.dart';
import 'package:xiaomi_su7_animated_app/models/TyrePsi.dart';
import '../../constanins.dart';
class TyrePsiCard extends StatelessWidget {
const TyrePsiCard({
Key? key,
required this.isBottomTwoTyre,
required this.tyrePsi,
}) : super(key: key);
final bool isBottomTwoTyre;
final TyrePsi tyrePsi;
@override
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.all(defaultPadding),
decoration: BoxDecoration(
color:
tyrePsi.isLowPressure ? redColor.withOpacity(0.1) : Colors.white10,
border: Border.all(
color: tyrePsi.isLowPressure ? redColor : primaryColor, width: 2),
borderRadius: BorderRadius.all(Radius.circular(6)),
),
child: isBottomTwoTyre
? Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
lowPressureText(context),
const Spacer(),
psiText(context, psi: tyrePsi.psi.toString()),
const SizedBox(height: defaultPadding),
Text(
"${tyrePsi.temp}\u2103",
style: TextStyle(fontSize: 16),
),
],
)
: Column(
),
);
}
Column lowPressureText(BuildContext context) {
return Column(
children: [
Text(
"Low".toUpperCase(),
style: Theme.of(context)
.textTheme
.displayMedium!
.copyWith(color: Colors.white, fontWeight: FontWeight.w600),
),
Text(
"Pressure".toUpperCase(),
style: TextStyle(fontSize: 20),
),
],
);
}
Text psiText(BuildContext context, {required String psi}) {
return Text.rich(
TextSpan(
text: psi,
style: Theme.of(context).textTheme.displaySmall!.copyWith(
fontWeight: FontWeight.w600,
color: Colors.white,
),
children: [
TextSpan(
text: "psi",
style: TextStyle(fontSize: 24),
)
],
),
);
}
}