Skip to content
Snippets Groups Projects
pay_contact_search_button.dart 1.86 KiB
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';

import '../../../data/models/payment_cubit.dart';
import '../../../data/models/payment_state.dart';
import 'pay_contact_search_page.dart';
import 'pay_recipient_widget.dart';

class PayContactSearchButton extends StatefulWidget {
  const PayContactSearchButton({super.key});

  @override
  State<PayContactSearchButton> createState() => _PayContactSearchButtonState();
}

class _PayContactSearchButtonState extends State<PayContactSearchButton> {
  @override
  Widget build(BuildContext context) {
    return BlocBuilder<PaymentCubit, PaymentState>(
        builder: (BuildContext context, PaymentState state) {
      if (state.contact == null || state.contact!.pubKey.isEmpty) {
        return ElevatedButton.icon(
          onPressed: () {
            showDialog(
              context: context,
              builder: (BuildContext context) {
                return const PayContactSearchPage();
              },
            );
          },
          icon: Row(
            children: <Widget>[
              const Icon(Icons.search, color: Colors.white),
              const SizedBox(width: 8.0),
              Text(tr('search_user_btn')),
            ],
          ),
          label: const Icon(Icons.qr_code_scanner),
          style: ElevatedButton.styleFrom(
            minimumSize: const Size(double.infinity, 60.0),
            foregroundColor: Colors.white,
            backgroundColor: Theme.of(context).colorScheme.primary,
            padding:
                const EdgeInsets.symmetric(horizontal: 16.0, vertical: 8.0),
            shape: RoundedRectangleBorder(
              borderRadius: BorderRadius.circular(6.0),
            ),
          ),
        );
      } else {
        return const PayRecipientWidget();
      }
    });
  }
}