import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';

class ConfirmUpSalesDialog extends StatelessWidget {
  final VoidCallback onContinue;
  final int extrasTotalPrice;

  const ConfirmUpSalesDialog({super.key, required this.onContinue, required this.extrasTotalPrice});

  @override
  Widget build(BuildContext context) {
    final theme = Theme.of(context);

    return Dialog(
      backgroundColor: Theme.of(context).colorScheme.surface,
      shape: RoundedRectangleBorder(
        borderRadius: BorderRadius.circular(20),
      ),
      child: Padding(
        padding: const EdgeInsets.all(24.0),
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: [
            Text(
              context.strings.confirm_up_sales_dialog_title,
              textAlign: TextAlign.center,
              style: theme.textTheme.headlineMedium?.copyWith(
                color: Theme.of(context).colorScheme.surfaceTint,
              ),
            ),
            Text(
              context.strings.confirm_up_sales_dialog_subtitle(extrasTotalPrice.toString()),
              textAlign: TextAlign.center,
              style: theme.textTheme.bodyMedium,
            ),
            const SizedBox(height: 24),
            SizedBox(
              width: double.infinity,
              child: ElevatedButton(
                style: theme.elevatedButtonTheme.style?.copyWith(
                  padding: const WidgetStatePropertyAll(EdgeInsets.symmetric(vertical: 16)),
                ),
                onPressed: () {
                  onContinue();
                  Navigator.of(context).pop();
                },
                child: Text(
                  context.strings.confirm_up_sales_dialog_confirm,
                  style: theme.textTheme.bodyMedium?.copyWith(
                    color: Colors.white,
                  ),
                ),
              ),
            ),
            const SizedBox(height: 12),
            SizedBox(
              width: double.infinity,
              child: OutlinedButton(
                style: OutlinedButton.styleFrom(
                  side: BorderSide(color: Colors.grey[400]!),
                  padding: const EdgeInsets.symmetric(vertical: 16),
                ),
                onPressed: () {
                  Navigator.of(context).pop();
                },
                child: Text(context.strings.cancel, style: theme.textTheme.bodyMedium),
              ),
            ),
          ],
        ),
      ),
    );
  }
}