import 'package:comwell_key_app/themes/light_theme.dart';
import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
class SendReceipt extends StatelessWidget {
final void Function(bool) onSendReceiptChanged;
final bool sendReceipt;
final String userEmail;
const SendReceipt({
super.key,
required this.onSendReceiptChanged,
required this.sendReceipt,
required this.userEmail,
});
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
return Column(
children: [
Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(context.strings.payment_overview_send_receipt_title),
Text(
context.strings.payment_overview_send_receipt_subtitle(userEmail),
style: theme.textTheme.bodySmall?.copyWith(color: colorHeadlineText),
),
],
),
),
const SizedBox(width: 10),
if (sendReceipt)
Switch(
value: sendReceipt,
thumbColor: WidgetStateProperty.resolveWith((states) {
if (states.contains(WidgetState.selected)) {
return sandColor[80];
}
return Colors.white;
}),
trackColor: WidgetStateProperty.resolveWith((states) {
if (!states.contains(WidgetState.selected)) {
return Colors.grey[200];
}
return null;
}),
trackOutlineColor: const WidgetStatePropertyAll(Colors.white),
onChanged: (value) {
onSendReceiptChanged(value);
},
),
],
),
const SizedBox(height: 20),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
context.strings.payment_overview_send_comment_title,
style: theme.textTheme.bodySmall,
),
const SizedBox(height: 8),
TextField(
controller: TextEditingController(),
onChanged: (value) {
// TODO: Implement send receipt
},
maxLines: 5,
minLines: 3,
decoration: InputDecoration(
hintText: context.strings.payment_overview_send_receipt_hint,
hintStyle: theme.textTheme.headlineSmall?.copyWith(
color: colorTertiary,
),
enabledBorder: OutlineInputBorder(
borderSide: const BorderSide(color: colorDivider),
borderRadius: BorderRadius.circular(8),
),
focusedBorder: OutlineInputBorder(
borderSide: const BorderSide(color: colorDivider),
borderRadius: BorderRadius.circular(8),
),
contentPadding: const EdgeInsets.symmetric(vertical: 20, horizontal: 12),
),
style: theme.textTheme.headlineSmall,
),
],
),
],
);
}
}