{"version":3,"file":"index-B4L4_QqH.js","sources":["../../src/pages/account/index.tsx"],"sourcesContent":["import {createResource, createSignal, For, ParentProps, Show} from 'solid-js';\n\nimport {useSdk} from '@/stores/sdk';\nimport Modal from '@/components/modal';\nimport {useAuth} from '@/stores/auth';\nimport Button from '@/components/button';\nimport Loader from '@/components/loader';\nimport {computePhoto} from '@/utils/computePhoto';\nimport PairingForm from '@/components/partials/passenger';\nimport {plusCircle} from 'solid-heroicons/outline';\nimport {Icon} from 'solid-heroicons';\nimport IconAlert from '@/icons/alert';\nimport {SvdPairing} from \"@/lib/sdk\";\nimport {createStore} from \"solid-js/store\";\nimport Found from \"@/components/partials/svdPairing/found\";\n\nexport function getInitials(name: string) {\n if (!name) {\n\treturn '';\n }\n\n const parts = name.split(/[\\s-]/);\n\n return parts\n\t .filter(Boolean)\n\t .map((part) => part[0].toUpperCase())\n\t .join('');\n}\n\nexport default function Account(props: ParentProps) {\n const [auth, actions] = useAuth();\n const [sdk] = useSdk();\n\n const [children, childrenActions] = createResource(() =>\n\t sdk.customer.children(false),\n );\n\n const [unpaids, unpaidsActions] = createResource(\n\t () => auth.user.thalesCustomerId,\n\t (thalesCustomerId) => {\n\t\tif (!thalesCustomerId) {\n\t\t return null;\n\t\t}\n\n\t\treturn sdk.customer.unpaid();\n\t },\n );\n\n const [subscriptonsExpires, subscriptionsExpiresActions] = createResource(\n\t sdk.customer.subscriptionsExpires,\n );\n\n const [error, setError] = createSignal('');\n\n const [showAddPassengerModal, setShowAddPassengerModal] = createSignal(false);\n const [showPairingModal, setShowPairingModal] = createSignal(false);\n const [modalTitle, setModalTitle] = createSignal('');\n const [svd, setSvd] = createStore(\n\t {\n\t\tcanPairByCode: false,\n\t\tcanPairByEmail: false,\n\t\tfound: true,\n\t\tpairingEmail: '',\n\t\tmessage: ''\n\t });\n const [awaitPairing, setAwaitPairing] = createSignal(false);\n const [isMainAccount, setIsMainAccount] = createSignal(true);\n const [tryptiqueForm, setTryptiqueForm] = createStore({\n\tfirstName: '',\n\tlastName: '',\n\tbirthDate: '',\n });\n\n async function handleSearchResultForm(userId: string, isMainAccount?: boolean, rcuAssociation?: SvdPairing, searchValuesFromForm?) {\n\n\tif (rcuAssociation && rcuAssociation.found && !rcuAssociation.canPairByCode && !rcuAssociation.canPairByEmail) {\n\t setShowAddPassengerModal(false);\n\t setShowPairingModal(false);\n\n\t setError(\"Vous avez déjà associé ce voyageur.\");\n\t return\n\t}\n\n\tif (rcuAssociation && rcuAssociation.message === 'AWAITING_VALIDATION') {\n\t setShowAddPassengerModal(false);\n\t setShowPairingModal(false);\n\t setAwaitPairing(true);\n\t return;\n\t}\n\n\tif (!isMainAccount && rcuAssociation) {\n\t setIsMainAccount(false)\n\t setTryptiqueForm(searchValuesFromForm)\n\t setSvd(rcuAssociation);\n\n\t if (rcuAssociation.canPairByEmail) {\n\t\tsetModalTitle('Nous avons trouvé votre voyageur !');\n\t } else if (rcuAssociation.canPairByCode) {\n\t\tsetModalTitle('Confirmer votre voyageur pour continuer !');\n\t }\n\n\t setShowAddPassengerModal(false);\n\t setShowPairingModal(true)\n\t return false\n\t}\n\n\n\tchildrenActions.refetch();\n\n\tsetShowAddPassengerModal(false);\n\tsetShowPairingModal(false);\n\tsubscriptionsExpiresActions.refetch();\n\tunpaidsActions.refetch();\n }\n\n return (\n\t <div class=\"pb-10\">\n\t\t<h2 class=\"font-semibold lg:border-b lg:p-6 lg:text-2xl\">\n\t\t Mes voyageurs\n\t\t</h2>\n\n\t\t<Show when={error()}>\n\t\t <p 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{error()}\n\t\t </p>\n\t\t</Show>\n\n\t\t<Show when={!children.loading} fallback={<Loader class=\"mx-auto mt-8\"/>}>\n\t\t <Show\n\t\t\t when={children().length > 0 || Boolean(auth.user.thalesCustomerId)}\n\t\t\t fallback={\n\t\t\t\t<div class=\"mt-4 flex flex-col justify-center space-y-6 rounded-lg bg-white px-6 py-10 text-center\">\n\t\t\t\t <h3 class=\"font-sans font-bold\">\n\t\t\t\t\tVous n'avez pas encore ajouté de voyageurs\n\t\t\t\t </h3>\n\n\t\t\t\t <p>\n\t\t\t\t\tEn ajoutant des voyageurs vous aurez la possibilité de consulter\n\t\t\t\t\tet de gérer toutes les informations relatives à leur(s) carte(s)\n\t\t\t\t\tTBM\n\t\t\t\t </p>\n\n\t\t\t\t <Button variant=\"primary\" class=\"lg:mx-auto\" onClick={[setShowAddPassengerModal, true]}>\n\t\t\t\t\t+ Ajouter un voyageur\n\t\t\t\t </Button>\n\t\t\t\t</div>\n\t\t\t }\n\t\t >\n\t\t\t<div class=\"max-w-full overflow-auto\">\n\t\t\t <ul class=\"mt-4 flex space-x-4 lg:flex-col lg:space-x-0 lg:space-y-4 lg:p-6\">\n\t\t\t\t<Show when={auth.user.thalesCustomerId} keyed>\n\t\t\t\t {() => {\n\t\t\t\t\tconst photo = () => computePhoto(auth.user);\n\t\t\t\t\tconst unpaid = () => {\n\t\t\t\t\t if (unpaids.loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t }\n\n\t\t\t\t\t return unpaids()?.find(\n\t\t\t\t\t\t (unpaid) =>\n\t\t\t\t\t\t\t unpaid.cardOwnerCustomerId ===\n\t\t\t\t\t\t\t auth.user.thalesCustomerId,\n\t\t\t\t\t );\n\t\t\t\t\t};\n\n\t\t\t\t\tconst subscriptionExpire = () => {\n\t\t\t\t\t if (subscriptonsExpires.loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t }\n\n\t\t\t\t\t return subscriptonsExpires()?.find(\n\t\t\t\t\t\t (subscription) =>\n\t\t\t\t\t\t\t subscription.recipientId === auth.user.thalesCustomerId,\n\t\t\t\t\t );\n\t\t\t\t\t};\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li class=\"rounded-lg bg-white p-4 lg:flex lg:w-full lg:items-center lg:justify-between lg:space-x-4 lg:shadow\">\n\t\t\t\t\t\t <div class=\"flex flex-1 space-x-2\">\n\t\t\t\t\t\t\t<Show\n\t\t\t\t\t\t\t\twhen={photo()}\n\t\t\t\t\t\t\t\tfallback={\n\t\t\t\t\t\t\t\t <span\n\t\t\t\t\t\t\t\t\t class=\"flex h-12 w-12 items-center justify-center rounded-full bg-primary text-white\">\n {getInitials(\n\t\t\t\t\t\t\t\t `${auth.user.firstName} ${auth.user.lastName}`,\n\t\t\t\t\t\t\t )}\n </span>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t <div\n\t\t\t\t\t\t\t\t class=\"flex h-12 w-12 items-center justify-center overflow-hidden rounded-full bg-gray-400 text-white\">\n\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\tsrc={photo()}\n\t\t\t\t\t\t\t\t\tclass=\"h-full w-full object-cover object-center\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t </div>\n\t\t\t\t\t\t\t</Show>\n\n\t\t\t\t\t\t\t<div class=\"flex flex-1 flex-col space-y-1 whitespace-nowrap\">\n\t\t\t\t\t\t\t <p class=\"font-semibold\">\n\t\t\t\t\t\t\t\t{auth.user.firstName} {auth.user.lastName}\n\t\t\t\t\t\t\t </p>\n\t\t\t\t\t\t\t <Show when={auth.user.thalesCustomerId}>\n\t\t\t\t\t\t\t\t<p>Code client: {auth.user.thalesCustomerId}</p>\n\t\t\t\t\t\t\t </Show>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t </div>\n\n\t\t\t\t\t\t <div class=\"mt-4 flex items-center space-x-2 font-semibold lg:mt-0\">\n\t\t\t\t\t\t\t<div class=\"grid gap-2\">\n\t\t\t\t\t\t\t <Show when={unpaid()}>\n\t\t\t\t\t\t\t\t<p class=\"flex gap-1 text-secondary\">\n\t\t\t\t\t\t\t\t <IconAlert class=\"h-6\"/>\n\t\t\t\t\t\t\t\t <span>Incident de paiement</span>\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t </Show>\n\n\t\t\t\t\t\t\t <Show when={subscriptionExpire()}>\n\t\t\t\t\t\t\t\t<p class=\"flex gap-1 text-secondary\">\n\t\t\t\t\t\t\t\t <IconAlert class=\"h-6\"/>\n\t\t\t\t\t\t\t\t <span>Réabonnement possible</span>\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t </Show>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\thref={`/account/voyagers/${auth.user.rcuId}`}\n\t\t\t\t\t\t\t\tclass=\"mt-4 lg:mt-0\"\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t Gérer\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t </div>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t }}\n\t\t\t\t</Show>\n\n\t\t\t\t<Show when={awaitPairing()}>\n\n\t\t\t\t <li class=\"rounded-lg bg-white p-4 space-x-2 lg:flex lg:w-full lg:items-center lg:justify-between lg:shadow\">\n\t\t\t\t\t<div class=\"flex space-x-2\">\n\t\t\t\t\t <span class=\"flex h-12 w-12 items-center justify-center rounded-full bg-primary text-white\">\n\t\t\t\t\t\t\t\t {getInitials(\n\t\t\t\t\t\t\t\t\t `${tryptiqueForm.firstName} ${tryptiqueForm.lastName}`,\n\t\t\t\t\t\t\t\t )}\n\t\t\t\t\t </span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"flex flex-1 flex-col space-y-1 whitespace-nowrap\">\n\t\t\t\t\t <p class=\"font-semibold\">\n\t\t\t\t\t\t{tryptiqueForm.firstName} {tryptiqueForm.lastName}\n\t\t\t\t\t </p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tclass=\"cursor-not-allowed\"\n\t\t\t\t\t>\n\t\t\t\t\t En attente de validation\n\t\t\t\t\t</Button>\n\t\t\t\t </li>\n\t\t\t\t</Show>\n\n\t\t\t\t<For each={children()}>\n\t\t\t\t {(child) => {\n\t\t\t\t\tconst photo = () => computePhoto(child);\n\t\t\t\t\tconst unpaid = () => {\n\t\t\t\t\t if (unpaids.loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t }\n\n\t\t\t\t\t return unpaids()?.find(\n\t\t\t\t\t\t (unpaid) =>\n\t\t\t\t\t\t\t unpaid.cardOwnerCustomerId === child.thalesCustomerId,\n\t\t\t\t\t );\n\t\t\t\t\t};\n\n\t\t\t\t\tconst subscriptionExpire = () => {\n\t\t\t\t\t if (subscriptonsExpires.loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t }\n\n\t\t\t\t\t return subscriptonsExpires()?.find(\n\t\t\t\t\t\t (subscription) =>\n\t\t\t\t\t\t\t subscription.recipientId === child.thalesCustomerId,\n\t\t\t\t\t );\n\t\t\t\t\t};\n\n\t\t\t\t\tif (child.associationStatus === 'WAITING_VALIDATION') {\n\t\t\t\t\t return (\n\t\t\t\t\t\t <li class=\"rounded-lg bg-white p-4 space-x-2 lg:flex lg:w-full lg:items-center lg:justify-between lg:shadow\">\n\t\t\t\t\t\t\t<div class=\"flex space-x-2\">\n\t\t\t\t\t\t\t <span\n\t\t\t\t\t\t\t\t class=\"flex h-12 w-12 items-center justify-center rounded-full bg-primary text-white\">\n\t\t\t\t\t\t\t\t\t\t {getInitials(\n\t\t\t\t\t\t\t\t\t\t\t `${child.firstName} ${child.lastName}`,\n\t\t\t\t\t\t\t\t\t\t )}\n\t\t\t\t\t\t\t </span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"flex flex-1 flex-col space-y-1 whitespace-nowrap\">\n\t\t\t\t\t\t\t <p class=\"font-semibold\">\n\t\t\t\t\t\t\t\t{child.firstName} {child.lastName}\n\t\t\t\t\t\t\t </p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tclass=\"cursor-not-allowed\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t En attente de validation\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t </li>\n\t\t\t\t\t )\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li class=\"rounded-lg bg-white p-4 lg:flex lg:w-full lg:items-center lg:justify-between lg:shadow\">\n\t\t\t\t\t\t <div class=\"flex space-x-2\">\n\t\t\t\t\t\t\t<Show\n\t\t\t\t\t\t\t\twhen={photo()}\n\t\t\t\t\t\t\t\tfallback={\n\t\t\t\t\t\t\t\t <span\n\t\t\t\t\t\t\t\t\t class=\"flex h-12 w-12 items-center justify-center rounded-full bg-primary text-white\">\n {getInitials(\n\t\t\t\t\t\t\t\t `${child.firstName} ${child.lastName}`,\n\t\t\t\t\t\t\t )}\n </span>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t <div\n\t\t\t\t\t\t\t\t class=\"flex h-12 w-12 items-center justify-center overflow-hidden rounded-full bg-gray-400 text-white\">\n\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\tsrc={photo()}\n\t\t\t\t\t\t\t\t\tclass=\"h-full w-full object-cover object-center\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t </div>\n\t\t\t\t\t\t\t</Show>\n\n\t\t\t\t\t\t\t<div class=\"flex flex-1 flex-col space-y-1 whitespace-nowrap\">\n\t\t\t\t\t\t\t <p class=\"font-semibold\">\n\t\t\t\t\t\t\t\t{child.firstName} {child.lastName}\n\t\t\t\t\t\t\t </p>\n\t\t\t\t\t\t\t <Show when={child.thalesCustomerId}>\n\t\t\t\t\t\t\t\t<p>Code client: {child.thalesCustomerId}</p>\n\t\t\t\t\t\t\t </Show>\n\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t </div>\n\n\t\t\t\t\t\t <div class=\"mt-4 flex items-center space-x-2 font-semibold lg:mt-0\">\n\t\t\t\t\t\t\t<div class=\"grid gap-2\">\n\t\t\t\t\t\t\t <Show when={unpaid()}>\n\t\t\t\t\t\t\t\t<p class=\"flex gap-1 text-secondary\">\n\t\t\t\t\t\t\t\t <IconAlert class=\"h-6\"/>\n\t\t\t\t\t\t\t\t <span>Incident de paiement</span>\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t </Show>\n\n\t\t\t\t\t\t\t <Show when={subscriptionExpire()}>\n\t\t\t\t\t\t\t\t<p class=\"flex gap-1 text-secondary\">\n\t\t\t\t\t\t\t\t <IconAlert class=\"h-6\"/>\n\t\t\t\t\t\t\t\t <span>Réabonnement possible</span>\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t </Show>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\thref={`/account/voyagers/${child.rcuId}`}\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t Gérer\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t </div>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t }}\n\t\t\t\t</For>\n\n\t\t\t\t<li class=\"rounded-lg bg-white p-4 lg:hidden\">\n\t\t\t\t <Icon path={plusCircle} class=\"mx-auto h-12 w-12\"/>\n\n\t\t\t\t <Button\n\t\t\t\t\t onClick={[setShowAddPassengerModal, true]}\n\t\t\t\t\t class=\"mt-4 whitespace-nowrap\"\n\t\t\t\t\t variant=\"primary\"\n\t\t\t\t >\n\t\t\t\t\tAjouter un voyageur\n\t\t\t\t </Button>\n\t\t\t\t</li>\n\t\t\t </ul>\n\t\t\t</div>\n\n\t\t\t<Button\n\t\t\t\tonClick={[setShowAddPassengerModal, true]}\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tclass=\"mx-auto mt-8 hidden lg:flex\"\n\t\t\t>\n\t\t\t + Ajouter un voyageur\n\t\t\t</Button>\n\t\t </Show>\n\t\t</Show>\n\n\t\t<Modal\n\t\t\ttitle=\"Ajouter un voyageur\"\n\t\t\topen={showAddPassengerModal()}\n\t\t\tonClose={[setShowAddPassengerModal, false]}\n\t\t\tzIndex={50}\n\t\t>\n\t\t <PairingForm onSubmit={handleSearchResultForm}/>\n\t\t</Modal>\n\t\t<Modal\n\t\t\ttitle={modalTitle()}\n\t\t\topen={showPairingModal()}\n\t\t\tonClose={[setShowPairingModal, false]}\n\t\t\tzIndex={50}\n\t\t>\n\t\t <Found onSubmit={handleSearchResultForm} svdCheckInfo={svd} isMainAccount={isMainAccount()}\n\t\t\t\t tryptiqueForm={tryptiqueForm}></Found>\n\t\t <button class=\"underline mx-auto block mt-4\" type=\"reset\" onClick={[setShowPairingModal, false]}>\n\t\t\tAnnuler\n\t\t </button>\n\t\t</Modal>\n\t </div>\n );\n}\n"],"names":["getInitials","name","split","filter","Boolean","map","part","toUpperCase","join","Account","props","auth","actions","useAuth","sdk","useSdk","children","childrenActions","createResource","customer","unpaids","unpaidsActions","user","thalesCustomerId","unpaid","subscriptonsExpires","subscriptionsExpiresActions","subscriptionsExpires","error","setError","createSignal","showAddPassengerModal","setShowAddPassengerModal","showPairingModal","setShowPairingModal","modalTitle","setModalTitle","svd","setSvd","createStore","canPairByCode","canPairByEmail","found","pairingEmail","message","awaitPairing","setAwaitPairing","isMainAccount","setIsMainAccount","tryptiqueForm","setTryptiqueForm","firstName","lastName","birthDate","async","handleSearchResultForm","userId","rcuAssociation","searchValuesFromForm","refetch","_el$","_tmpl$5","firstChild","_$insert","_$createComponent","Show","when","_el$3","_tmpl$","loading","fallback","Loader","class","length","_el$14","_tmpl$6","nextSibling","Button","variant","onClick","_el$4","_tmpl$3","_el$5","_el$12","keyed","photo","computePhoto","_el$17","_tmpl$11","_el$18","_el$21","_el$22","_el$23","_el$26","_el$27","_el$32","_tmpl$12","_el$19","_tmpl$7","_el$20","_$effect","_$setAttribute","_el$24","_tmpl$8","find","cardOwnerCustomerId","_el$28","_tmpl$9","_el$29","IconAlert","subscriptionExpire","subscription","recipientId","_el$30","_tmpl$10","_el$31","href","rcuId","_el$6","_tmpl$2","_el$7","_el$8","_el$10","_el$11","For","each","child","associationStatus","_el$33","_el$34","_el$35","_el$37","_el$38","_el$39","_tmpl$13","_el$40","_el$43","_el$44","_el$45","_el$48","_el$49","_el$54","_el$41","_el$42","_el$46","_el$50","_el$51","_el$52","_el$53","Icon","path","plusCircle","Modal","title","open","onClose","zIndex","PairingForm","onSubmit","Found","svdCheckInfo","_el$13","_tmpl$4","$$click","$$clickData","_$delegateEvents"],"mappings":"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"}