import 'package:common/localization/l10n_utils.dart';
import 'package:concierge/presentation/app/cart_cubit.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';

Iterable<String> _deliveryTimes() sync* {
  yield "";
  for (var i = 16; i < 24; i++) {
    yield* ["$i:00", "$i:30"];
  }
}

class DeliveryTimePicker extends StatelessWidget {
  const DeliveryTimePicker({super.key});

  @override
  Widget build(BuildContext context) {
    final cartCubit = context.read<CartCubit>();
    final times = _deliveryTimes().toList();
    return SizedBox(
      height: 40,
      child: ListView.builder(
        scrollDirection: Axis.horizontal,
        itemCount: times.length,
        itemBuilder: (context, index) {
          final time = times[index];
          return TextButton(
            onPressed: () {
              cartCubit.updateReadyTime(time);
            },
            child: Text(
              time.isEmpty ? context.strings.asap : time,
              style: TextStyle(
                color: cartCubit.state.readyTime == time ? Colors.black : Colors.grey,
              ),
            ),
          );
        },
      ),
    );
  }
}