import 'package:fikoyt_hmi_pano/apps/pages/fitness_app/fitness_app_theme.dart'; import 'package:flutter/material.dart'; class BodyMeasurementView extends StatelessWidget { final AnimationController? animationController; final Animation? animation; const BodyMeasurementView({super.key, this.animationController, this.animation}); @override Widget build(BuildContext context) { return AnimatedBuilder( animation: animationController!, builder: (BuildContext context, Widget? child) { return FadeTransition( opacity: animation!, child: Transform( transform: Matrix4.translationValues(0.0, 30 * (1.0 - animation!.value), 0.0), child: Padding( padding: const EdgeInsets.only(left: 24, right: 24, top: 16, bottom: 18), child: Container( decoration: BoxDecoration( color: FitnessAppTheme.white, borderRadius: BorderRadius.only(topLeft: Radius.circular(8.0), bottomLeft: Radius.circular(8.0), bottomRight: Radius.circular(8.0), topRight: Radius.circular(68.0)), boxShadow: [ BoxShadow(color: FitnessAppTheme.grey.withOpacity(0.2), offset: Offset(1.1, 1.1), blurRadius: 10.0), ], ), child: Column( children: [ Padding( padding: const EdgeInsets.only(top: 16, left: 16, right: 24), child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( padding: const EdgeInsets.only(left: 4, bottom: 8, top: 16), child: Text( 'Weight', textAlign: TextAlign.center, style: TextStyle(fontFamily: FitnessAppTheme.fontName, fontWeight: FontWeight.w500, fontSize: 16, letterSpacing: -0.1, color: FitnessAppTheme.darkText), ), ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.center, children: [ Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.end, children: [ Padding( padding: const EdgeInsets.only(left: 4, bottom: 3), child: Text( '206.8', textAlign: TextAlign.center, style: TextStyle( fontFamily: FitnessAppTheme.fontName, fontWeight: FontWeight.w600, fontSize: 32, color: FitnessAppTheme.nearlyDarkBlue, ), ), ), Padding( padding: const EdgeInsets.only(left: 8, bottom: 8), child: Text( 'Ibs', textAlign: TextAlign.center, style: TextStyle( fontFamily: FitnessAppTheme.fontName, fontWeight: FontWeight.w500, fontSize: 18, letterSpacing: -0.2, color: FitnessAppTheme.nearlyDarkBlue, ), ), ), ], ), Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.end, children: [ Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon( Icons.access_time, color: FitnessAppTheme.grey.withOpacity(0.5), size: 16, ), Padding( padding: const EdgeInsets.only(left: 4.0), child: Text( 'Today 8:26 AM', textAlign: TextAlign.center, style: TextStyle( fontFamily: FitnessAppTheme.fontName, fontWeight: FontWeight.w500, fontSize: 14, letterSpacing: 0.0, color: FitnessAppTheme.grey.withOpacity(0.5), ), ), ), ], ), Padding( padding: const EdgeInsets.only(top: 4, bottom: 14), child: Text( 'InBody SmartScale', textAlign: TextAlign.center, style: TextStyle( fontFamily: FitnessAppTheme.fontName, fontWeight: FontWeight.w500, fontSize: 12, letterSpacing: 0.0, color: FitnessAppTheme.nearlyDarkBlue, ), ), ), ], ) ], ) ], ), ), Padding( padding: const EdgeInsets.only(left: 24, right: 24, top: 8, bottom: 8), child: Container( height: 2, decoration: BoxDecoration( color: FitnessAppTheme.background, borderRadius: BorderRadius.all(Radius.circular(4.0)), ), ), ), Padding( padding: const EdgeInsets.only(left: 24, right: 24, top: 8, bottom: 16), child: Row( children: [ Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( '185 cm', textAlign: TextAlign.center, style: TextStyle( fontFamily: FitnessAppTheme.fontName, fontWeight: FontWeight.w500, fontSize: 16, letterSpacing: -0.2, color: FitnessAppTheme.darkText, ), ), Padding( padding: const EdgeInsets.only(top: 6), child: Text( 'Height', textAlign: TextAlign.center, style: TextStyle( fontFamily: FitnessAppTheme.fontName, fontWeight: FontWeight.w600, fontSize: 12, color: FitnessAppTheme.grey.withOpacity(0.5), ), ), ), ], ), ), Expanded( child: Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ Text( '27.3 BMI', textAlign: TextAlign.center, style: TextStyle( fontFamily: FitnessAppTheme.fontName, fontWeight: FontWeight.w500, fontSize: 16, letterSpacing: -0.2, color: FitnessAppTheme.darkText, ), ), Padding( padding: const EdgeInsets.only(top: 6), child: Text( 'Overweight', textAlign: TextAlign.center, style: TextStyle( fontFamily: FitnessAppTheme.fontName, fontWeight: FontWeight.w600, fontSize: 12, color: FitnessAppTheme.grey.withOpacity(0.5), ), ), ), ], ), ], ), ), Expanded( child: Row( mainAxisAlignment: MainAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.center, children: [ Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.end, children: [ Text( '20%', style: TextStyle( fontFamily: FitnessAppTheme.fontName, fontWeight: FontWeight.w500, fontSize: 16, letterSpacing: -0.2, color: FitnessAppTheme.darkText, ), ), Padding( padding: const EdgeInsets.only(top: 6), child: Text( 'Body fat', textAlign: TextAlign.center, style: TextStyle( fontFamily: FitnessAppTheme.fontName, fontWeight: FontWeight.w600, fontSize: 12, color: FitnessAppTheme.grey.withOpacity(0.5), ), ), ), ], ), ], ), ) ], ), ) ], ), ), ), ), ); }, ); } }