streetAddressInput method

Widget streetAddressInput(
  1. BuildContext context
)

Implementation

Widget streetAddressInput(BuildContext context) {
  return Container(
    margin: const EdgeInsets.symmetric(vertical: (10)),
    child: CustomTextFieldWidget(
      controller: controller.streetAddressController,
      keyboardType: TextInputType.text,
      addHint: true,
      validator: (value) => Validators.validateEmpty(value),
      hintText: Strings.enterStreetAddress,
      inputFormatters: [
        FilteringTextInputFormatter.deny(RegExp('[\\.|\\,]')),
      ],
      textInputAction: TextInputAction.next,
      onTap: () async {
        // generate a new token here
        final sessionToken = const Uuid().v4();
        final Suggestion? result = await showSearch(
          context: context,
          delegate: AddressSearch(sessionToken),
        );
        // This will change the text displayed in the TextField
        if (result != null) {
          final placeDetails = await PlaceApiProvider(sessionToken)
              .getPlaceDetailFromId(result.placeId);
          controller.streetAddressController.text =
              '${placeDetails.streetNumber ?? ''} ${placeDetails.street ?? ''}'; //placeDetails.street??
          controller.city.text = placeDetails.city ?? '';
          controller.zipCodeController.text = placeDetails.zipCode ?? '';
          controller.state.text = placeDetails.state ?? '';
          controller.country.text = placeDetails.country ?? '';

          controller.update();
        }
      },
    ),
  );
}