// import 'package:eatvio_app/core/app_export.dart'; // import 'package:eatvio_app/features/profile/models/profile_model.dart'; // import 'package:eatvio_app/features/profile/presentation/bloc/profile_cubit/profile_cubit.dart'; // import 'package:flutter/cupertino.dart'; // import 'package:flutter/material.dart'; // import 'package:intl/intl.dart'; // import 'package:syncfusion_flutter_charts/charts.dart'; // // class WeightChartWidget extends StatefulWidget { // final List chartPoints; // final ProfileCubit profileCubit; // // const WeightChartWidget({ // super.key, // required this.chartPoints, // required this.profileCubit, // }); // // @override // State createState() => _WeightChartWidgetState(); // } // // class _WeightChartWidgetState extends State { // late FixedExtentScrollController weightKiloController; // late FixedExtentScrollController weightGramsController; // late int weightKilo; // late int weightGrams; // // @override // Widget build(BuildContext context) { // return Column( // crossAxisAlignment: CrossAxisAlignment.start, // children: [ // if (widget.chartPoints.isNotEmpty) // Padding( // padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), // child: Row( // children: [ // Text( // '${widget.chartPoints.last.weight.toStringAsFixed(1)} кг', // style: TextStyle( // color: Colors.black, // fontSize: 40, // fontWeight: FontWeight.w500, // ), // ), // if (widget.chartPoints.length == 1) // Container( // margin: EdgeInsets.symmetric(horizontal: 12), // width: 8, // height: 8, // decoration: BoxDecoration( // shape: BoxShape.circle, // color: Colors.black12, // ), // ), // if (widget.chartPoints.length > 1) widget.chartPoints.last.weight > widget.chartPoints[widget.chartPoints.length - 2].weight // ? Icon( // Icons.arrow_drop_up, // size: 40, // color: Colors.grey.withOpacity(0.4), // ) // : Icon( // Icons.arrow_drop_down, // size: 40, // color: Colors.grey.withOpacity(0.4), // ), // ], // ), // ), // Stack( // alignment: Alignment.bottomRight, // children: [ // SfCartesianChart( // margin: EdgeInsets.symmetric(horizontal: 8), // enableAxisAnimation: true, // plotAreaBorderWidth: 0, // trackballBehavior: TrackballBehavior( // enable: true, // activationMode: ActivationMode.singleTap, // tooltipDisplayMode: TrackballDisplayMode.groupAllPoints, // tooltipSettings: InteractiveTooltip(), // lineType: TrackballLineType.vertical, // ), // primaryXAxis: DateTimeCategoryAxis( // tickPosition: TickPosition.inside, // majorTickLines: MajorTickLines( // size: 0, // ), // edgeLabelPlacement: EdgeLabelPlacement.shift, // dateFormat: DateFormat.MMMd('ru'), // labelStyle: TextStyle( // color: Colors.grey, // ), // majorGridLines: MajorGridLines(dashArray: [1], color: Colors.grey.withOpacity(0.3)), // axisLine: AxisLine( // color: Colors.grey.withOpacity(0.3), // width: 0.4, // ), // ), // primaryYAxis: NumericAxis( // isVisible: false, // labelFormat: '{value} кг', // majorGridLines: MajorGridLines(dashArray: [1], color: Colors.grey), // axisLine: AxisLine( // width: 1, // ), // majorTickLines: MajorTickLines(size: 0), // ), // series: _getSplineSeries(), // tooltipBehavior: TooltipBehavior(enable: true), // ), // FloatingActionButton.small( // heroTag: 'addWeight', // onPressed: () { // if (widget.chartPoints.isNotEmpty) { // weightKilo = int.parse(widget.chartPoints.last.weight.toString().split('.')[0]); // weightGrams = int.parse(widget.chartPoints.last.weight.toString().split('.')[1][0]); // weightKiloController = FixedExtentScrollController(initialItem: weightKilo - 20); // weightGramsController = FixedExtentScrollController(initialItem: weightGrams); // } else { // weightKiloController = FixedExtentScrollController(); // weightGramsController = FixedExtentScrollController(); // } // showModalBottomSheet( // useRootNavigator: true, // context: context, // builder: (context) { // return Column( // children: [ // Expanded( // child: Row( // children: [ // Expanded( // child: CupertinoPicker( // magnification: 1.22, // squeeze: 1.2, // useMagnifier: true, // scrollController: weightKiloController, // itemExtent: 24, // onSelectedItemChanged: (int value) { // weightKilo = value + 20; // }, // children: [ // for (int i = 20; i < 300; i++) Text('$i'), // ], // ), // ), // Expanded( // child: CupertinoPicker( // magnification: 1.22, // squeeze: 1.2, // useMagnifier: true, // scrollController: weightGramsController, // itemExtent: 24, // onSelectedItemChanged: (int value) { // weightGrams = value; // }, // children: [ // for (int i = 0; i < 10; i++) Text('$i'), // ], // ), // ), // ], // ), // ), // InkWell( // onTap: () { // widget.profileCubit.addWeight(weight: double.parse('$weightKilo.$weightGrams')); // Navigator.of(context).pop(); // }, // borderRadius: BorderRadius.circular(16), // child: Ink( // width: MediaQuery.of(context).size.width - 32, // padding: EdgeInsets.all(16), // decoration: BoxDecoration( // color: appTheme.blueA400, // borderRadius: BorderRadius.circular(16), // ), // child: Center( // child: Text( // 'Сохранить', // style: TextStyle( // color: Colors.white, // ), // ), // ), // ), // ), // ], // ); // }, // ); // }, // backgroundColor: Colors.red, // shape: CircleBorder(), // child: Icon( // Icons.add, // color: Colors.white, // ), // ), // ], // ), // ], // ); // } // // List> _getSplineSeries() { // return >[ // SplineAreaSeries( // markerSettings: MarkerSettings( // isVisible: true, // color: appTheme.blueA400, // height: 8, // width: 8, // ), // dataLabelSettings: DataLabelSettings( // labelAlignment: ChartDataLabelAlignment.top, // isVisible: true, // ), // dataSource: widget.chartPoints, // borderColor: appTheme.blueA400, // gradient: LinearGradient( // colors: [ // appTheme.blueA400.withOpacity(0.14), // Colors.transparent, // ], // begin: Alignment.topCenter, // end: Alignment(0, 0.6), // ), // name: 'Вес', // xValueMapper: (ChartPointModel value, int index) => value.createdAt, // yValueMapper: (ChartPointModel value, int index) => value.weight, // ), // ]; // } // }