import 'package:common/localization/l10n_utils.dart';
import 'package:concierge/presentation/app/cart_cubit.dart';
import 'package:concierge/presentation/widgets/toggle_list_item.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:gap/gap.dart';
class SelectPaymentMethod extends StatelessWidget {
const SelectPaymentMethod({super.key});
@override
Widget build(BuildContext context) {
final cartCubit = context.read<CartCubit>();
return Material(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
buildPaymentOption(
context,
icon: Icons.bed_outlined,
title: context.strings.charge_to_room,
subtitle: context.strings.you_will_pay_at_checkout,
isSelected: cartCubit.state.chargeToRoom,
isChargeToRoom: true,
),
const Gap(12),
buildPaymentOption(
context,
icon: Icons.credit_card,
title: context.strings.you_will_pay_at_checkout,
subtitle: context.strings.select_payment_method_next_step,
isSelected: !cartCubit.state.chargeToRoom,
isChargeToRoom: false,
),
],
),
);
}
Widget buildPaymentOption(
BuildContext context, {
required IconData icon,
required String title,
required String subtitle,
required bool isSelected,
required bool isChargeToRoom,
}) {
final cartCubit = context.read<CartCubit>();
return ToggleListItem(
icon: icon,
title: title,
subtitle: subtitle,
isSelected: isSelected,
onClick: (_) {
cartCubit.updatePaymentMethod(isChargeToRoom);
},
);
}
}