1import 'package:connect/core/localization/app_localizations.dart';
3import '/features/collections/domain/entities/collection_entity.dart';
4import '/features/collections/presentation/logic/proposed_times_cubit/proposed_times_cubit.dart';
5import 'package:flutter/material.dart';
6import 'package:flutter_bloc/flutter_bloc.dart';
7import 'package:flutter_screenutil/flutter_screenutil.dart';
8import 'package:hugeicons/hugeicons.dart';
14 required this.onPickTimeRange,
21 State<TimeRangeField>
createState() => _TimeRangeFieldState();
24class _TimeRangeFieldState
extends State<TimeRangeField> {
27 context.read<ProposedTimesCubit>().loadProposedTimes();
32 Widget
build(BuildContext context) {
33 return BlocBuilder<ProposedTimesCubit, ProposedTimesState>(
34 builder: (context, state) {
36 padding: EdgeInsets.symmetric(horizontal: 15.sp),
37 decoration: BoxDecoration(
38 borderRadius: BorderRadius.circular(10),
39 color: Theme.of(context).colorScheme.surface,
48 if (state is ProposedTimesLoadedState) {
49 return DropdownButton<ProposedTimeEntity>(
51 value: widget.selectedTimeRange,
54 style: Theme.of(context).textTheme.bodySmall,
56 underline:
const SizedBox(),
57 style: Theme.of(context).textTheme.bodySmall,
59 if (timeRange != null) {
60 widget.onPickTimeRange(timeRange);
63 dropdownColor: Theme.of(context).colorScheme.surface,
64 iconEnabledColor: Theme.of(context).colorScheme.onSurface,
66 HugeIcons.strokeRoundedArrowDown01,
70 return DropdownMenuItem<ProposedTimeEntity>(
79 if (state is ProposedTimesLoadingState) {
80 return const CircularProgressIndicator();
82 return const SizedBox();
String translate(String key)
static AppLocalizations of(BuildContext context)
final List< ProposedTimeEntity > times
ProposedTimeEntity({ required this.id, required this.name, })
override void initState()
override Widget build(BuildContext context)
_adaptChilftoState(ProposedTimesState state, BuildContext context)
const TimeRangeField({ super.key, required this.selectedTimeRange, required this.onPickTimeRange, })