import { UnitSDK } from '../../../unitSdkManager/UnitSdkManager';
import { useDispatch } from 'react-redux';
import { setSignedNonce } from '../../../slices/pushProvisioningSlice';

export const useLaunchInitialize = () => {
  const dispatch = useDispatch();

  const initializePushProvisioning = async () => {
    const pushProvisioningModule = UnitSDK.getPushProvisionModule();
    if (!pushProvisioningModule) {
      console.error('Missing a PushProvisioningModule');
      return;
    }
    try {
      const response = await pushProvisioningModule.launchInitialize();
      console.log(`PushProvisioningModule.launchInitialize: Success \n\n signedNonce : ${response}`);
      const signedNonce = JSON.parse(response).signedNonce;
      dispatch(setSignedNonce(signedNonce));
    } catch (error) {
      // TODO - handle errors
      console.error(error);
    }
  };

  return {
    initializePushProvisioning
  };

};
