47 lines
1.6 KiB
Dart
47 lines
1.6 KiB
Dart
|
import 'package:flutter/material.dart';
|
||
|
import 'package:tetra_stats/data_objects/tetrio.dart';
|
||
|
import 'package:tetra_stats/utils/numers_formats.dart';
|
||
|
import 'package:tetra_stats/utils/text_shadow.dart';
|
||
|
|
||
|
class FinesseThingy extends StatelessWidget{
|
||
|
final Finesse? finesse;
|
||
|
final double? finessePercentage;
|
||
|
|
||
|
const FinesseThingy(this.finesse, this.finessePercentage, {super.key});
|
||
|
|
||
|
Color getFinesseColor(){
|
||
|
if (finesse == null) return Colors.grey;
|
||
|
if (finesse!.faults == 0) return Colors.purpleAccent;
|
||
|
if (finessePercentage! > 0.4) return Colors.white;
|
||
|
else return Colors.redAccent;
|
||
|
}
|
||
|
|
||
|
@override
|
||
|
Widget build(BuildContext context) {
|
||
|
return Stack(
|
||
|
alignment: AlignmentDirectional.bottomStart,
|
||
|
children: [
|
||
|
Text("f", style: TextStyle(
|
||
|
fontStyle: FontStyle.italic,
|
||
|
fontSize: 65,
|
||
|
height: 1.2,
|
||
|
)),
|
||
|
Positioned(child: Text("inesse", style: TextStyle(fontFamily: "Eurostile Round Extended")), left: 25, top: 20),
|
||
|
Positioned(
|
||
|
child: Text("${finesse != null ? finesse!.faults : "---"}F", style: TextStyle(
|
||
|
color: getFinesseColor()
|
||
|
)), right: 0, top: 20),
|
||
|
Padding(
|
||
|
padding: const EdgeInsets.only(left: 10.0),
|
||
|
child: Text("${finesse != null ? f2.format(finessePercentage! * 100) : "---.--"}%", style: TextStyle(
|
||
|
shadows: textShadow,
|
||
|
fontFamily: "Eurostile Round Extended",
|
||
|
fontSize: 36,
|
||
|
fontWeight: FontWeight.w500,
|
||
|
color: getFinesseColor()
|
||
|
)),
|
||
|
)
|
||
|
],
|
||
|
);
|
||
|
}
|
||
|
}
|