import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:intl/intl.dart'; import 'package:kalodings/app_drawer.dart'; import 'package:kalodings/calendar_floating_button.dart'; import 'package:kalodings/enter_food_widget.dart'; import 'package:kalodings/food_entry_bloc.dart'; import 'package:kalodings/food_entry_widget.dart'; import 'package:kalodings/sum_widget.dart'; class PerDateWidget extends StatelessWidget { final DateTime date; const PerDateWidget(this.date, {super.key}); @override Widget build(BuildContext context) { var formattedDate = DateFormat.yMMMMd('de').format(date); return Scaffold( appBar: AppBar( title: Text(formattedDate), ), drawer: const AppDrawer(), body: BlocBuilder( builder: (context, state) { return ListView.builder( itemCount: state.foodEntries.length + 2, itemBuilder: (BuildContext itemBuilderContext, int index) { if (index == state.foodEntries.length) { return SumWidget(limit: state.kcalLimit); } if (index == state.foodEntries.length + 1) { return EnterFoodWidget( onAdd: (context, entry) { context .read() .add(FoodEntryEvent(entry: entry, date: date)); }, ); } return FoodEntryWidget( entry: state.foodEntries[index], onDelete: (callbackContext) { callbackContext.read().add( FoodDeletionEvent( entryID: state.foodEntries[index].id, date: date), ); }, ); }, ); }, ), floatingActionButton: CalendarFloatingButton(date: date)); } }