import 'package:comwell_key_app/base/base_cubit.dart';
import 'package:comwell_key_app/contact/repository/contact_repository.dart';
import 'package:comwell_key_app/domain/models/user.dart';
import 'package:comwell_key_app/overview/repository/overview_repository.dart';
import 'package:comwell_key_app/domain/repositories/profile_repository.dart';
import 'package:comwell_key_app/utils/phone_utils.dart';
import 'package:country_code_picker/country_code_picker.dart';
import 'package:equatable/equatable.dart';
import 'package:flutter/material.dart';
part 'contact_state.dart';
class ContactCubit extends BaseCubit<ContactState> {
final ContactRepository _contactRepository;
final OverviewRepository _overviewRepository;
final ProfileRepository _profileRepository;
final TextEditingController phoneNumberController = TextEditingController();
CountryCode countryCode = CountryCode.fromCountryCode('DK');
String phoneNumber = '';
ContactCubit(
this._contactRepository,
this._overviewRepository,
this._profileRepository,
) : super(const ContactState.initial());
Future<void> sendContact(String hotelCode) async {
safeEmit(const ContactState.contactSend());
try {
//final bookings = await _overviewRepository.fetchAllBookingsForUser();
// Send contact
//_contactRepository.sendContact(bookings.current.first.hotelCode);
safeEmit(const ContactState.contactSent());
} catch (e, st) {
logError(e, st);
safeEmit(const ContactState.contactError());
}
}
Future<void> init() async {
final user = await _profileRepository.fetchProfileSettings();
final (countryCode, phoneNumber) = getCountryCodeFromPhoneNumber(user.phoneNumber);
this.countryCode = countryCode;
this.phoneNumber = phoneNumber;
phoneNumberController.text = phoneNumber;
safeEmit(state.userLoaded(user: user));
}
}