forked from eatvio/eatvio_app
70 lines
2.1 KiB
Dart
70 lines
2.1 KiB
Dart
import 'package:eatvio_app/core/widgets/custom_text_form_field.dart';
|
|
import 'package:eatvio_app/features/recipes/presentation/bloc/create_recipe_cubit/create_recipe_cubit.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
|
|
class PortionWidget extends StatefulWidget {
|
|
const PortionWidget({super.key});
|
|
|
|
@override
|
|
State<PortionWidget> createState() => _PortionWidgetState();
|
|
}
|
|
|
|
class _PortionWidgetState extends State<PortionWidget> {
|
|
late final CreateRecipeCubit createRecipeCubit;
|
|
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
createRecipeCubit = context.read<CreateRecipeCubit>();
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Column(
|
|
mainAxisSize: MainAxisSize.min,
|
|
children: [
|
|
Row(
|
|
mainAxisSize: MainAxisSize.min,
|
|
children: [
|
|
Expanded(
|
|
child: Column(
|
|
mainAxisSize: MainAxisSize.min,
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
children: [
|
|
Text('Кол-во порций'),
|
|
SizedBox(height: 4),
|
|
CustomTextFormField(
|
|
hintText: '1',
|
|
onChanged: (value) {
|
|
createRecipeCubit.replacePortionsCount(int.parse(value));
|
|
},
|
|
),
|
|
],
|
|
),
|
|
),
|
|
const SizedBox(width: 8),
|
|
Expanded(
|
|
child: Column(
|
|
mainAxisSize: MainAxisSize.min,
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
children: [
|
|
Text('Ккал в одной порции'),
|
|
SizedBox(height: 4),
|
|
CustomTextFormField(
|
|
hintText: '100',
|
|
suffixText: 'Ккал',
|
|
onChanged: (value) {
|
|
createRecipeCubit.replaceEnegryInPortion(double.parse(value));
|
|
},
|
|
),
|
|
],
|
|
),
|
|
),
|
|
],
|
|
),
|
|
],
|
|
);
|
|
}
|
|
}
|