main
1import 'package:blood_pressure_app/components/nullable_text.dart';
2import 'package:blood_pressure_app/model/blood_pressure/pressure_unit.dart';
3import 'package:blood_pressure_app/model/storage/settings_store.dart';
4import 'package:flutter/material.dart';
5import 'package:health_data_store/health_data_store.dart';
6import 'package:provider/provider.dart';
7
8/// A display [pressure] in the correct [Settings.preferredPressureUnit].
9class PressureText extends StatelessWidget {
10 /// Display a [pressure] in the correct [Settings.preferredPressureUnit].
11 const PressureText(this.pressure, {super.key});
12
13 /// Pressure to display.
14 ///
15 /// When this is null a placeholder '-' is displayed.
16 final Pressure? pressure;
17
18 @override
19 Widget build(BuildContext context) => NullableText(
20 switch (context.watch<Settings>().preferredPressureUnit) {
21 PressureUnit.mmHg => pressure?.mmHg,
22 PressureUnit.kPa => pressure?.kPa.toStringAsFixed(1),
23 }?.toString(),
24 );
25}