{"version":3,"file":"personal-CulIiiK6.js","sources":["../../src/pages/account/personal.tsx"],"sourcesContent":["import {getInitials} from '.';\nimport Button from '@/components/button';\nimport Input from '@/components/input';\nimport Loader from '@/components/loader';\nimport Modal from '@/components/modal';\nimport IconUser from '@/icons/user';\nimport {extractFormValues} from '@/pages/associate/passenger';\nimport {useAuth} from '@/stores/auth';\nimport {useSdk} from '@/stores/sdk';\nimport {createResource, createSignal, Show} from 'solid-js';\nimport {createStore} from 'solid-js/store';\nimport Found from \"@/components/partials/svdPairing/found\";\nimport PairingForm from \"@/components/partials/passenger\";\nimport {toast} from \"solid-toast\";\nimport Address from \"@/components/address\";\nimport Select from \"@/components/select\";\n\nexport default function PersonalData() {\n  const [sdk] = useSdk();\n  const [auth, authActions] = useAuth();\n\n  const initials = () => getInitials(auth.fullname);\n  const birthDate = () =>\n\t  auth.user?.birthDate\n\t\t  ? new Date(auth.user.birthDate).toLocaleDateString()\n\t\t  : '';\n\n  const [addresses, addressActions] = createResource(async () => {\n\n\treturn await sdk.customer.addresses();\n  });\n  const [iban, ibanAction] = createResource(async () => {\n\tif (!auth.isPaired || !auth.isAuthenticated) {\n\t  return null;\n\t}\n\n\treturn await sdk.customer.iban();\n  });\n\n  const [modalTitle, setModalTitle] = createSignal('');\n  const [error, setError] = createSignal('');\n  const [svd, setSvd] = createStore(\n\t  {\n\t\tcanPairByCode: false,\n\t\tcanPairByEmail: false,\n\t\tfound: false,\n\t\tpairingEmail: '',\n\t\tmessage: ''\n\t  });\n\n  const [isUpdating, setIsUpdating] = createSignal(false);\n  const [isLoading, setIsLoading] = createSignal(false);\n  const [isUpdateLoading, setUpdateLoading] = createSignal(false);\n  const [showPairingModal, setShowPairingModal] = createSignal(false);\n  const [showPairingCreationModal, setShowPairingCreationModal] = createSignal(false);\n  const [personalInfoUpdate, setPersonalInfoUpdate] = createSignal(false);\n  const [showConfirmTacitTermination, setShowConfirmTacitTermination] =\n\t  createSignal(false);\n\n  async function handleSubmit(event: Event) {\n\tevent.preventDefault();\n\tsetIsLoading(true);\n\n\tconst target = event.target as HTMLFormElement;\n\n\tconst {mobileNumber, phoneNumber, ...address} = extractFormValues(\n\t\ttarget,\n\t\t[\n\t\t  'streetNumber',\n\t\t  'streetName',\n\t\t  'city',\n\t\t  'postalCode',\n\t\t  'mobileNumber',\n\t\t  'phoneNumber',\n\t\t  'deliveryPoint',\n\t\t  'deliveryPointSupplement',\n\t\t  'postalBox',\n\t\t  'country',\n\t\t],\n\t);\n\n\ttry {\n\t  // HACK: The first parameter as undefined is a workaround for a bug in the SDK\n\t  await sdk.customer.updateAddress(undefined, address);\n\t  await sdk.customer.update({\n\t\tmobileNumber,\n\t\tphoneNumber,\n\t  });\n\t} catch (e) {\n\t  if (e.cause._data.error.includes('number format')) {\n\t\ttoast.error('Vous devez fournir un numéro de téléphone français au format +33500000000 ou au format 0500000000');\n\t  } else {\n\t\ttoast.error('Une erreur est survenue lors de la mise à jour de vos informations');\n\t  }\n\t  setIsLoading(false);\n\t  return false\n\t}\n\n\tconst user = await sdk.auth.customer(auth.token);\n\n\tauthActions.set({user});\n\n\taddressActions.refetch();\n\tsetIsLoading(false);\n\tsetIsUpdating(false);\n  }\n\n  const [showIbanChangeModal, setShowIbanChangeModal] = createSignal(false);\n  const [ibanStatus, setIbanStatus] = createStore({\n\tstatus: 'STALE',\n\tmessage: '',\n  });\n\n  async function handleIbanChange(event: Event) {\n\ttry {\n\t  event.preventDefault();\n\t  setIbanStatus({status: 'LOADING', message: ''});\n\t  const form = event.currentTarget as HTMLFormElement;\n\n\t  const {newCustomerIBAN} = extractFormValues(form, ['newCustomerIBAN']);\n\t  const newIban = await sdk.customer.updateIban({\n\t\tnewCustomerIBAN,\n\t\toldCustomerBankAccountId: iban().customerBankAccountId,\n\t  });\n\n\t  ibanAction.mutate(newIban);\n\t  setIbanStatus({status: 'SUCCESS', message: ''});\n\t} catch {\n\t  setIbanStatus({\n\t\tstatus: 'ERROR',\n\t\tmessage: 'IBAN invalide ou déjà utilisé sur un autre compte',\n\t  });\n\t}\n  }\n\n  async function checkSvdPairing() {\n\tsetIsLoading(true);\n\n\tconst checkSvdPairing = await sdk.svd.checkPairing();\n\tsetIsLoading(false);\n\n\tsetSvd(checkSvdPairing);\n\n\tif (!svd.found) {\n\t  setError(`Aucun dossier client TBM trouvé pour ces informations personnelles.<br/><br/>Vérifiez vos informations, si celles-ci sont erronées, vous pouvez les modifier et retenter une recherche de dossier client.`)\n\t  return;\n\t}\n\n\tif (svd.message === 'SVD_CUSTOMER_ACCOUNT_FOUND') {\n\t  const user = await sdk.auth.customer(auth.token);\n\n\t  authActions.set({user});\n\t  return;\n\t}\n\n\tif (svd.message === 'EMAIL_MISMATCH') {\n\t  setModalTitle('Nous vous avons trouvé !');\n\t}\n\n\tif (svd.message === 'NO_SVD_EMAIL') {\n\t  setModalTitle('Nous vous avons trouvé !');\n\t}\n\n\tsetShowPairingModal(true)\n  }\n\n  function handlePairingSubmit() {\n\tsetShowPairingModal(false);\n\tlocation.reload();\n\n  }\n\n  async function handlePersonalInfoSubmit(event: Event) {\n\tevent.preventDefault();\n\tsetUpdateLoading(true);\n\n\tconst target = event.target as HTMLFormElement;\n\n\tconst {title, firstName, lastName, birthDate} = extractFormValues(\n\t\ttarget,\n\t\t['title', 'firstName', 'lastName', 'birthDate'],\n\t);\n\n\ttry {\n\t  await sdk.customer.update({\n\t\ttitle,\n\t\tfirstName,\n\t\tlastName,\n\t\tbirthDate,\n\t  });\n\n\t  const user = await sdk.auth.customer(auth.token);\n\n\t  authActions.set({user});\n\n\t} catch (e) {\n\t  toast.error('Une erreur est survenue lors de la mise à jour de vos informations personnelles');\n\t} finally {\n\t  setUpdateLoading(false);\n\t  setPersonalInfoUpdate(false);\n\t}\n\n\n  }\n\n  return (\n\t  <>\n\t\t<div\n\t\t\tclass=\"divide-y rounded-lg bg-white p-6\"\n\t\t\tclassList={{'divide-y': !addresses.loading}}\n\t\t>\n\t\t  <section class=\"flex items-center space-x-4 p-6\">\n\t\t\t<IconUser class=\"h-6\"/>\n\t\t\t<h1 class=\"font-semibold\">Mes infos personnelles</h1>\n\t\t  </section>\n\n\t\t  <section class=\"flex items-center space-x-4 p-6 text-sm\">\n\t\t\t<Show when={personalInfoUpdate()} fallback={\n\t\t\t  <>\n\t\t\t\t<section class=\"flex items-center space-x-4\">\n\t\t\t\t  <div class=\"flex h-12 w-12 items-center justify-center rounded-full bg-blue-200 text-blue-600\">\n\t\t\t\t\t<span>{initials()}</span>\n\t\t\t\t  </div>\n\n\t\t\t\t  <div>\n\t\t\t\t\t<section class=\"flex items-center space-x-4\">\n\t\t\t\t\t  <span class=\"font-semibold\">{auth.user.title}</span>\n\t\t\t\t\t</section>\n\t\t\t\t\t<p class=\"font-semibold\">{auth.fullname}</p>\n\n\t\t\t\t\t<Show when={birthDate()}>\n\t\t\t\t\t  <p>Né(e) le {birthDate()}</p>\n\t\t\t\t\t</Show>\n\t\t\t\t\t<Show when={auth.isPaired}>\n\t\t\t\t\t  <p>Code client : {auth.user.thalesCustomerId}</p>\n\t\t\t\t\t</Show>\n\t\t\t\t  </div>\n\t\t\t\t</section>\n\t\t\t\t<Show when={!auth.user.certifiedIdentity}>\n\t\t\t\t  <div onClick={() => setPersonalInfoUpdate(true)} class=\"flex items-center cursor-pointer space-x-4\">\n\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" strokeWidth={1.5}\n\t\t\t\t\t\t stroke=\"currentColor\" class=\"w-6 h-6\">\n\t\t\t\t\t  <path strokeLinecap=\"round\" strokeLinejoin=\"round\"\n\t\t\t\t\t\t\td=\"m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10\"/>\n\t\t\t\t\t</svg>\n\t\t\t\t  </div>\n\t\t\t\t</Show>\n\n\t\t\t  </>\n\t\t\t}>\n\t\t\t  <form onSubmit={handlePersonalInfoSubmit} class=\"flex flex-col space-y-4\">\n\t\t\t\t<div class=\"flex flex-col space-y-4 lg:flex-row lg:space-x-4 lg:space-y-0\">\n\t\t\t\t  <Select\n\t\t\t\t\t  label=\"Civilité\"\n\t\t\t\t\t  disabled={auth.user.certifiedIdentity}\n\t\t\t\t\t  name=\"title\"\n\t\t\t\t\t  required\n\t\t\t\t\t  value={auth.user.title}\n\t\t\t\t\t  options={[\n\t\t\t\t\t\t{value: 'M', label: 'Monsieur'},\n\t\t\t\t\t\t{value: 'MME', label: 'Madame'},\n\t\t\t\t\t  ]}\n\t\t\t\t\t  class=\"flex-1\"\n\t\t\t\t  />\n\t\t\t\t</div>\n\t\t\t\t<div class=\"flex gap-5\">\n\t\t\t\t  <Input\n\t\t\t\t\t  name=\"firstName\"\n\t\t\t\t\t  label=\"Prénom\"\n\t\t\t\t\t  required\n\t\t\t\t\t  value={auth.user.firstName}\n\t\t\t\t  />\n\t\t\t\t  <Input\n\t\t\t\t\t  name=\"lastName\"\n\t\t\t\t\t  label=\"Nom de famille\"\n\t\t\t\t\t  required\n\t\t\t\t\t  value={auth.user.lastName}\n\t\t\t\t  />\n\t\t\t\t</div>\n\t\t\t\t<Input\n\t\t\t\t\tname=\"birthDate\"\n\t\t\t\t\tlabel=\"Date de naissance\"\n\t\t\t\t\ttype=\"date\"\n\t\t\t\t\trequired\n\t\t\t\t\tvalue={auth.user.birthDate}\n\t\t\t\t/>\n\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\tdisabled={auth.isReadOnly}\n\t\t\t\t\tloading={isUpdateLoading()}\n\t\t\t\t>\n\t\t\t\t  Modifier\n\t\t\t\t</Button>\n\t\t\t  </form>\n\t\t\t</Show>\n\n\t\t  </section>\n\n\t\t  <Show\n\t\t\t  when={auth.isPaired}\n\t\t\t  fallback={\n\t\t\t\t<section class=\"flex flex-col\">\n\t\t\t\t  <Button\n\t\t\t\t\t  loading={isLoading()}\n\t\t\t\t\t  class=\"mx-auto my-8\"\n\t\t\t\t\t  variant=\"primary\"\n\t\t\t\t\t  onClick={checkSvdPairing}\n\t\t\t\t  >\n\t\t\t\t\tDéjà client ?\n\t\t\t\t  </Button>\n\t\t\t\t  <Modal\n\t\t\t\t\t  title={modalTitle()}\n\t\t\t\t\t  open={showPairingModal()}\n\t\t\t\t\t  onClose={[setShowPairingModal, false]}\n\t\t\t\t\t  zIndex={50}\n\t\t\t\t  >\n\t\t\t\t\t<Found onSubmit={() => {\n\t\t\t\t\t  addressActions.refetch();\n\t\t\t\t\t}} isMainAccount svdCheckInfo={svd}></Found>\n\t\t\t\t  </Modal>\n\t\t\t\t  <Show when={!auth.svdPairing}>\n\t\t\t\t\t{/*\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tclass=\"mx-auto mt-8\"\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t  setShowPairingCreationModal(true);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t  Créer un compte TBM\n\t\t\t\t\t</Button>*/}\n\t\t\t\t\t<Modal\n\t\t\t\t\t\ttitle=\"Ajouter un voyageur\"\n\t\t\t\t\t\topen={showPairingCreationModal()}\n\t\t\t\t\t\tonClose={[setShowPairingCreationModal, false]}\n\t\t\t\t\t>\n\t\t\t\t\t  <PairingForm onSubmit={handlePairingSubmit} showCreationForm onlyParent onlyCreationForm/>\n\t\t\t\t\t</Modal>\n\t\t\t\t  </Show>\n\t\t\t\t  <Show when={error()}>\n\t\t\t\t\t<p innerHTML={error()}\n\t\t\t\t\t   class=\"mx-auto mt-4 w-full whitespace-pre-wrap rounded-lg border border-red-700 bg-red-50 p-4 text-center text-sm font-semibold text-red-700\">\n\t\t\t\t\t</p>\n\t\t\t\t  </Show>\n\t\t\t\t</section>\n\t\t\t  }\n\t\t  >\n\t\t\t<section class=\"flex flex-col space-y-6 p-6 text-sm\">\n\t\t\t  <h2 class=\"font-semibold underline\">\n\t\t\t\tMes informations de paiement\n\t\t\t  </h2>\n\n\t\t\t  <dl class=\"text-gray-700\">\n\t\t\t\t{/* TODO: Implement when we can have access to credit card information */}\n\t\t\t\t{/* <dt class=\"font-semibold \">Carte bancaire</dt>\n              <dd class=\"text-gray-500\">Aucune carte enregistrée</dd> */}\n\n\t\t\t\t<dt class=\"font-semibold\">IBAN</dt>\n\t\t\t\t<Show\n\t\t\t\t\twhen={iban()}\n\t\t\t\t\tfallback={<dd class=\"text-gray-500\">Aucun IBAN enregistré</dd>}\n\t\t\t\t>\n\t\t\t\t  <dd class=\"text-gray-500\">\n\t\t\t\t\t<span>{iban().iban}</span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={[setShowIbanChangeModal, true]}\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tclass=\"mt-4\"\n\t\t\t\t\t>\n\t\t\t\t\t  Changer de compte\n\t\t\t\t\t</Button>\n\t\t\t\t  </dd>\n\t\t\t\t</Show>\n\t\t\t  </dl>\n\t\t\t</section>\n\n\t\t\t{/* <section class=\"text-sm flex flex-col p-6\">\n            <h2 class=\"font-semibold\">Mes mandats de prélèvements</h2>\n\n            <p class=\"text-gray-500 mt-4\">Aucun mandat de prélèvement</p>\n\n             <Button\n              variant=\"primary\"\n              title=\"Bouton de test uniquement\"\n              class=\"mr-auto mt-4\"\n              onClick={[setShowConfirmTacitTermination, true]}\n            >\n              Ne pas reconduire\n            </Button> \n          </section> */}\n\t\t  </Show>\n\t\t  <Show\n\t\t\t  when={!addresses.loading}\n\t\t\t  fallback={<Loader class=\"b-0 mx-auto mt-8\"/>}\n\t\t  >\n\t\t\t<Show when={!isUpdating() && addresses()[0]}>\n\t\t\t  <section class=\"flex flex-col space-y-6 p-6 text-sm\">\n\t\t\t\t<h2 class=\"font-semibold underline\">\n\t\t\t\t  Mes informations de contact\n\t\t\t\t</h2>\n\n\t\t\t\t<dl class=\"text-gray-700\">\n\t\t\t\t  <dt class=\"font-semibold\">\n\t\t\t\t\tAdresse postale (n° et nom de voie)\n\t\t\t\t  </dt>\n\t\t\t\t  <dd>\n\t\t\t\t\t{addresses()[0]?.streetNumber} {addresses()[0]?.streetName}\n\t\t\t\t  </dd>\n\n\t\t\t\t  <dt class=\"mt-4 font-semibold\">Commune</dt>\n\t\t\t\t  <dd>{addresses()[0]?.city}</dd>\n\n\t\t\t\t  <dt class=\"mt-4 font-semibold\">Code postal</dt>\n\t\t\t\t  <dd>{addresses()[0]?.postalCode}</dd>\n\n\t\t\t\t  <dt class=\"mt-4 font-semibold\">Appartement, escalier, étage</dt>\n\t\t\t\t  <dd>{addresses()[0]?.deliveryPoint}</dd>\n\n\t\t\t\t  <dt class=\"mt-4 font-semibold\">Bâtiment, résidence, immeuble</dt>\n\t\t\t\t  <dd>{addresses()[0]?.deliveryPointSupplement}</dd>\n\n\t\t\t\t  <dt class=\"mt-4 font-semibold\">Lieu-dit, Boite postale</dt>\n\t\t\t\t  <dd>{addresses()[0]?.postalBox}</dd>\n\n\t\t\t\t  <dt class=\"mt-4 font-semibold\">Pays</dt>\n\t\t\t\t  <dd>{addresses()[0]?.country}</dd>\n\n\t\t\t\t  <dt class=\"mt-4 font-semibold\">Téléphone</dt>\n\t\t\t\t  <dd>\n\t\t\t\t\t{auth.user.mobileNumber || auth.user.phoneNumber || '-'}\n\t\t\t\t  </dd>\n\t\t\t\t</dl>\n\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tclass=\"mr-auto\"\n\t\t\t\t\tdisabled={auth.isReadOnly}\n\t\t\t\t\tonClick={[setIsUpdating, true]}\n\t\t\t\t>\n\t\t\t\t  Modifier\n\t\t\t\t</Button>\n\t\t\t  </section>\n\t\t\t</Show>\n\n\t\t\t<Show when={isUpdating() && addresses()[0]}>\n\t\t\t  <section class=\"flex flex-col space-y-6 p-6 text-sm\">\n\t\t\t\t<h2 class=\"font-semibold\">Mes informations de contact</h2>\n\n\t\t\t\t<form onSubmit={handleSubmit} class=\"flex flex-col space-y-4\">\n\t\t\t\t  <Input type=\"hidden\" name=\"email\" value={auth.user.email}/>\n\n\t\t\t\t  <div class=\"flex flex-col space-y-4 lg:flex-row lg:space-x-4 lg:space-y-0\">\n\t\t\t\t\t<Input\n\t\t\t\t\t\tname=\"mobileNumber\"\n\t\t\t\t\t\tlabel=\"Téléphone portable\"\n\t\t\t\t\t\tpattern=\"^(\\+|0)[1-9][0-9]{1,14}$\"\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tvalue={auth.user.mobileNumber}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<Input\n\t\t\t\t\t\tname=\"phoneNumber\"\n\t\t\t\t\t\tlabel=\"Téléphone fixe\"\n\t\t\t\t\t\tpattern=\"^(\\+|0)[1-9][0-9]{1,14}$\"\n\t\t\t\t\t\tvalue={auth.user.phoneNumber}\n\t\t\t\t\t/>\n\t\t\t\t  </div>\n\n\t\t\t\t  <Address defaultAddress={addresses()[0]}/>\n\n\t\t\t\t  <div class=\"mr-auto flex flex-col items-center justify-center gap-4\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclass=\"mr-auto\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tloading={isLoading()}\n\t\t\t\t\t>\n\t\t\t\t\t  Valider\n\t\t\t\t\t</Button>\n\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclass=\"underline\"\n\t\t\t\t\t\tonClick={[setIsUpdating, false]}\n\t\t\t\t\t>\n\t\t\t\t\t  Annuler\n\t\t\t\t\t</button>\n\t\t\t\t  </div>\n\t\t\t\t</form>\n\t\t\t  </section>\n\t\t\t</Show>\n\t\t  </Show>\n\t\t</div>\n\n\t\t<Modal\n\t\t\topen={showConfirmTacitTermination()}\n\t\t\tonClose={[setShowConfirmTacitTermination, false]}\n\t\t\ttitle=\"Non reconduction de mon abonnement\"\n\t\t>\n\t\t  <div class=\"flex flex-col space-y-4\">\n\t\t\t<p>\n\t\t\t  Êtes-vous certain de ne pas vouloir reconduire votre abonnement ?\n\t\t\t</p>\n\n\t\t\t<p>\n\t\t\t  Vous bénéficiez en ce moment d’un abonnement annuel que vous réglez\n\t\t\t  tous les mois par prélèvement. Vous ne souhaitez pas le renouveler\n\t\t\t  pour 1 an supplémentaire à compter de sa date d’échéance.\n\t\t\t</p>\n\n\t\t\t<p>\n\t\t\t  Nous attirons votre attention sur le fait qu’une fois votre demande\n\t\t\t  de non reconduction validée, vous ne pourrez plus revenir en\n\t\t\t  arrière.\n\t\t\t</p>\n\n\t\t\t<p>\n\t\t\t  Nous vous recommandons de conserver votre support de carte\n\t\t\t  nominatif. Vous pourrez si vous le souhaitez, charger des tickets\n\t\t\t  occasionnels pour faciliter vos déplacements sur le réseau ou même y\n\t\t\t  charger un abonnement V3.\n\t\t\t</p>\n\n\t\t\t<Button class=\"ml-auto\" variant=\"primary\">\n\t\t\t  Confirmer la non reconduction\n\t\t\t</Button>\n\t\t  </div>\n\t\t</Modal>\n\n\t\t<Modal\n\t\t\topen={showIbanChangeModal()}\n\t\t\tonClose={() => {\n\t\t\t  setIbanStatus({status: 'STALE', message: ''});\n\t\t\t  setShowIbanChangeModal(false);\n\t\t\t}}\n\t\t\ttitle=\"Changement de compte IBAN\"\n\t\t>\n\t\t  <Show\n\t\t\t  when={ibanStatus.status !== 'SUCCESS'}\n\t\t\t  fallback={\n\t\t\t\t<div class=\"flex flex-col gap-10\">\n\t\t\t\t  <p>Votre IBAN a été mis à jour avec succès</p>\n\t\t\t\t  <Button\n\t\t\t\t\t  onClick={() => {\n\t\t\t\t\t\tsetIbanStatus({status: 'STALE', message: ''});\n\t\t\t\t\t\tsetShowIbanChangeModal(false);\n\t\t\t\t\t  }}\n\t\t\t\t\t  class=\"ml-auto\"\n\t\t\t\t\t  variant=\"primary\"\n\t\t\t\t  >\n\t\t\t\t\tFermer la fenêtre\n\t\t\t\t  </Button>\n\t\t\t\t</div>\n\t\t\t  }\n\t\t  >\n\t\t\t<form onSubmit={handleIbanChange} class=\"flex flex-col\">\n\t\t\t  <p class=\"text-center\">\n\t\t\t\tCe changement impactera tous les contrats de prélèvement en cours\n\t\t\t\tsur votre IBAN\n\t\t\t  </p>\n\t\t\t  <Input\n\t\t\t\t  required\n\t\t\t\t  name=\"newCustomerIBAN\"\n\t\t\t\t  label=\"Renseignez votre nouvel IBAN\"\n\t\t\t\t  placeholder=\"FRXXXXXXXXXXXXXXXXXXXXXXXXXX\"\n\t\t\t\t  error={ibanStatus.status === 'ERROR' ? ibanStatus.message : ''}\n\t\t\t\t  class=\"mt-4\"\n\t\t\t  />\n\n\t\t\t  <Button\n\t\t\t\t  loading={ibanStatus.status === 'LOADING'}\n\t\t\t\t  type=\"submit\"\n\t\t\t\t  class=\"ml-auto mt-10\"\n\t\t\t\t  variant=\"primary\"\n\t\t\t  >\n\t\t\t\tConfirmer\n\t\t\t  </Button>\n\t\t\t</form>\n\t\t  </Show>\n\t\t</Modal>\n\t  </>\n  );\n}\n"],"names":["PersonalData","sdk","useSdk","auth","authActions","useAuth","initials","getInitials","fullname","birthDate","user","Date","toLocaleDateString","addresses","addressActions","createResource","async","customer","iban","ibanAction","isPaired","isAuthenticated","modalTitle","setModalTitle","createSignal","error","setError","svd","setSvd","createStore","canPairByCode","canPairByEmail","found","pairingEmail","message","isUpdating","setIsUpdating","isLoading","setIsLoading","isUpdateLoading","setUpdateLoading","showPairingModal","setShowPairingModal","showPairingCreationModal","setShowPairingCreationModal","personalInfoUpdate","setPersonalInfoUpdate","showConfirmTacitTermination","setShowConfirmTacitTermination","handleSubmit","event","preventDefault","target","mobileNumber","phoneNumber","address","extractFormValues","updateAddress","undefined","update","e","cause","_data","includes","toast","token","set","refetch","showIbanChangeModal","setShowIbanChangeModal","ibanStatus","setIbanStatus","status","handleIbanChange","form","currentTarget","newCustomerIBAN","newIban","updateIban","oldCustomerBankAccountId","customerBankAccountId","mutate","checkSvdPairing","checkPairing","handlePairingSubmit","location","reload","handlePersonalInfoSubmit","title","firstName","lastName","_el$","_tmpl$6","_el$2","firstChild","_el$3","_el$4","nextSibling","_$insert","_$createComponent","IconUser","class","Show","when","fallback","_el$47","_tmpl$11","_el$48","_el$49","_el$50","_el$51","_el$52","_el$53","children","_el$54","_tmpl$9","_el$56","_tmpl$10","thalesCustomerId","certifiedIdentity","_el$58","_tmpl$12","$$click","_el$5","_tmpl$","_el$6","_el$7","addEventListener","Select","label","disabled","name","required","value","options","Input","type","Button","variant","isReadOnly","loading","_el$59","_tmpl$14","onClick","Modal","open","onClose","zIndex","Found","onSubmit","isMainAccount","svdCheckInfo","svdPairing","PairingForm","showCreationForm","onlyParent","onlyCreationForm","_el$60","_tmpl$13","_$effect","innerHTML","_el$8","_tmpl$3","_el$10","_tmpl$15","_el$12","_tmpl$2","_el$13","Loader","_$memo","_el$14","_tmpl$4","_el$18","_el$19","_el$21","_el$23","_el$25","_el$27","_el$29","_el$31","_el$33","streetNumber","streetName","city","postalCode","deliveryPoint","deliveryPointSupplement","postalBox","country","_el$34","_tmpl$5","_el$36","_el$37","_el$38","_el$39","email","pattern","Address","defaultAddress","$$clickData","classList","toggle","_el$40","_tmpl$7","_el$62","_tmpl$16","_el$45","_tmpl$8","placeholder","_$delegateEvents"],"mappings":"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"}