{"version":3,"sources":["webpack:///./src/modules/auth/components/AuthCard.tsx","webpack:///./src/modules/auth/pages/ConfirmarAgendamentoPage.tsx","webpack:///./src/components/icon/Logo.tsx"],"names":["AuthCard","name","setup","props","ctx","defaultSlot","slots","default","white","cyan800","useComputeds","$agendamento","$isCancelamentoRoute","path","includes","$success","agendamento","value","status","statusConfirmado","AGUARDANDO_ATENDIMENTO","CONFIRMADO","PACIENTE_ATENDIDO","statusCancelado","CANCELADO","NAO_COMPARECEU","$submitted","$title","confirmado","naoConfirmado","cancelar","cancelado","naoCancelado","$isCancelamento","$agendamentoDesc","profissional","nome","data","formatDate","hora","formatHour","horaInicial","statusCancelados","useEvents","token","setLoading","setSubmitting","setAgendamento","handleCancel","confirmacaoCancelAgendamento","console","error","replace","auth","login","confirmacaoCheckAgendamento","confirmacaoToken","confirm","$loading","$submitting","params","agendamentoMessage","message","classes","agendamentoDesc","Confirmacao","Logo","type","String","required","width","Number"],"mappings":"+MAIaA,EAAW,eAAgB,CACtCC,KAAM,WACNC,MAFsC,SAEhCC,EAAOC,GACX,OAAO,WAAK,QACJC,EAAW,WAAG,EAAAD,EAAIE,OAAMC,eAAb,aAAG,UAEpB,2CAEO,WAFP,UAGc,KAHd,MAIW,OAAQC,OAJnB,MAKU,2CALV,qCAQS,aART,MASa,OAAQC,SATrB,MAUY,oFAVZ,oCAYiB,aAZjB,4BAee,gCAff,CAe+CJ,W,6PCkDrD,SAASK,EAAT,GAMC,EALCN,IAKD,IAJCO,EAID,EAJCA,aAKMC,EAAuB,gBAAS,kBACpC,iBAAWC,KAAKC,SAAS,eAGrBC,EAAW,gBAAS,WACxB,IAAMC,EAAcL,EAAaM,MAEjC,IAAKD,IAAgBA,EAAYE,OAC/B,OAAO,EAGT,IAAMC,EAAmB,CACvB,OAAkBC,uBAClB,OAAkBC,WAClB,OAAkBC,mBAEdC,EAAkB,CACtB,OAAkBC,UAClB,OAAkBC,gBAGpB,OAAOb,EAAqBK,MACxBM,EAAgBT,SAASE,EAAYE,QACrCC,EAAiBL,SAASE,EAAYE,WAGtCQ,EAAa,gBAAS,WAC1B,IAAMV,EAAcL,EAAaM,MAEjC,IAAKD,IAAgBA,EAAYE,OAC/B,OAAO,EAGT,IAAMA,EAAS,CACb,OAAkBE,uBAClB,OAAkBC,WAClB,OAAkBC,kBAClB,OAAkBE,UAClB,OAAkBC,gBAGpB,OAAQb,EAAqBK,OAASC,EAAOJ,SAASE,EAAYE,WAG9DS,EAAS,gBAAS,WACtB,IAAMC,EAAa,yBACbC,EAAgB,6BAChBC,EAAW,8BACXC,EAAY,wBACZC,EAAe,4BAErB,OAAKN,EAAWT,MAEZF,EAASE,MACJgB,EAAgBhB,MAAQc,EAAYH,EAGtCK,EAAgBhB,MAAQe,EAAeH,EANhBC,KAS1BI,EAAmB,gBAAS,WAChC,IAAMlB,EAAcL,EAAaM,MAEjC,IAAKD,EAAa,MAAO,GAEzB,IAAMmB,EAAenB,EAAYmB,aAAaC,KACxCC,EAAO,OAAYC,WAAWtB,EAAYqB,MAC1CE,EAAO,OAAYC,WAAWxB,EAAYyB,aAEhD,gCAA0BN,EAA1B,iBAA+CE,EAA/C,eAA0DE,MAGtDN,EAAkB,gBAAS,WAC/B,IAAMjB,EAAcL,EAAaM,MAEjC,IAAKF,EAASE,QAAUD,IAAgBA,EAAYE,OAClD,OAAO,iBAAWL,KAAKC,SAAS,YAGlC,IAAM4B,EAAmB,CACvB,OAAkBlB,UAClB,OAAkBC,gBAGpB,OAAOiB,EAAiB5B,SAASE,EAAYE,WAG/C,MAAO,CACLN,uBACAG,WACAW,aACAC,SACAO,mBACAD,mBAIJ,SAASU,EAAT,GAgBC,IAfCC,EAeD,EAfCA,MAEAjC,GAaD,EAdCP,IAcD,EAbCO,cACAC,EAYD,EAZCA,qBACAiC,EAWD,EAXCA,WACAC,EAUD,EAVCA,cACAC,EASD,EATCA,eASD,SACgBC,IADhB,6FACC,0GAESrC,EAAaM,MAFtB,wDAMI6B,GAAc,GANlB,KAQIC,EARJ,SASY,OAAmBE,6BAA6BL,GAT5D,uFAYIM,QAAQC,MAAR,MAZJ,0DADD,wBAgCC,OAfA,eAAS,wCAAC,iGACHP,EADG,yCAEC,iBAAYQ,QAAQ,OAAOC,KAAKC,QAFjC,mBAKRP,EALQ,SAMA,OAAmBQ,4BAA4B,CACnDC,iBAAkBZ,EAClBa,SAAU7C,EAAqBK,QAR3B,kCAYR4B,GAAW,GAZH,4CAeH,CAAEG,gBAjNI,4BAAgB,CAC7B/C,KAAM,2BACNC,MAF6B,SAEvBC,EAAOC,GACX,MAA+B,gBAAS,GAAxC,sBAAOsD,EAAP,KAAiBb,EAAjB,KAEA,EAAqC,gBAAS,GAA9C,sBAAOc,EAAP,KAAoBb,EAApB,KAEA,EAAuC,eAErC,MAFF,sBAAOnC,EAAP,KAAqBoC,EAArB,KAIQH,EAAU,iBAAWgB,OAArBhB,MAER,EAOIlC,EAAa,CAAEC,eAAcP,QAN/BQ,EADF,EACEA,qBACAG,EAFF,EAEEA,SACAW,EAHF,EAGEA,WACAC,EAJF,EAIEA,OACAO,EALF,EAKEA,iBACAD,EANF,EAMEA,gBAGF,EAAyBU,EAAU,CACjCC,QACAxC,MACAO,eACAC,uBACAiC,aACAC,gBACAC,mBAPMC,EAAR,EAAQA,aAUR,OAAO,iCAAC,8BAAD,MAEQ,oCAFR,gBAAC,QAAD,eAGyBU,EAASzC,QAHlC,CAIEN,EAAaM,MACZ4C,EAAmB,CACjBlC,SACAO,mBACAR,aACAiC,cACA5C,WACAkB,kBACArB,uBACAoC,iBATH,4BAgLb,IAAMa,EAAqB,SAAC,GAAD,IACzBlC,EADyB,EACzBA,OACAO,EAFyB,EAEzBA,iBACAR,EAHyB,EAGzBA,WACAiC,EAJyB,EAIzBA,YACA5C,EALyB,EAKzBA,SACAkB,EANyB,EAMzBA,gBACArB,EAPyB,EAOzBA,qBACAoC,EARyB,EAQzBA,aARyB,mCAmBd,iBAnBc,4BAoBb,0CApBa,CAoB6BrB,EAAOV,QAE1D6C,EAAQ,CACP5B,mBACAR,aACAX,WACAkB,kBACArB,0BAGAc,EAAWT,OAASL,EAAqBK,OAA1C,qCAES,QAFT,QAGY0C,EAAY1C,MAHxB,SAIa0C,EAAY1C,OAJzB,UAKY+B,IALZ,iBAaCc,EAAU,SAAC,GAYZ,IAXH5B,EAWG,EAXHA,iBACAR,EAUG,EAVHA,WACAX,EASG,EATHA,SACAkB,EAQG,EARHA,gBACArB,EAOG,EAPHA,qBAQMmD,EAAU,+CAEVC,EAAkB9B,EAAiBjB,MAEnCW,EAAa,sBAAH,MACFmC,GADE,QAEPC,EAFO,QAEe,IAFf,0BAGH,gBAHG,kCAOVnC,EAAgB,sBAAH,MACLkC,GADK,2DAEyCC,EAFzC,yFAQblC,EAAW,sBAAH,MACAiC,GADA,sBAC4BC,EAD5B,MAIRjC,EAAY,sBAAH,MACDgC,GADC,QAENC,EAFM,mCAEyB,cAFzB,iCAOThC,EAAe,sBAAH,MACJ+B,GADI,4DAE2CC,EAF3C,MAMlB,OAAKtC,EAAWT,MAIZF,EAASE,MACJgB,EAAgBhB,MAAQc,EAAYH,EAGtChB,EAAqBK,MAAQe,EAAeH,EAP1CC,GAULmC,EAAc,CAAH,+DAEH,wCAFG,qD,0GCxUJC,EAAO,eAAgB,CAClCjE,KAAM,OACNE,MAAO,CACLgE,KAAM,CAAEA,KAAMC,OAA+BC,UAAU,GACvDC,MAAO,CAAEH,KAAMI,OAAQhE,QAAS,MAElCL,MANkC,SAM5BC,EAAOC,GACX,OAAO,wEAEgBD,EAAMgE,KAFtB,cAGIhE,EAAMmE,MAHV,IAIC","file":"js/confirmar-agendamento.f369e1da.js","sourcesContent":["import { Logo } from '@/components/icon/Logo';\nimport { MyTheme } from '@/lib/helpers/MyTheme';\nimport { createComponent } from '@/lib/vue';\n\nexport const AuthCard = createComponent({\n name: 'AuthCard',\n setup(props, ctx) {\n return () => {\n const defaultSlot = ctx.slots.default?.();\n\n return (\n \n \n \n \n\n
{defaultSlot}
\n \n );\n };\n },\n});\n\nexport default AuthCard;\n","import { CircularLoading } from '@/components/loading/CircularLoading';\nimport { useValue } from '@/lib/composables';\nimport { useRoute, useRouter } from '@/lib/composables/utils/useRouter';\nimport { DateHelpers } from '@/lib/helpers/date.helpers';\nimport { AgendamentoService } from '@/lib/services';\nimport { createComponent } from '@/lib/vue';\nimport { Routes } from '@/routes/routes';\nimport { AgendamentoStatus, IAgendamentoFragment } from '@/typings';\nimport { computed, onMounted, Ref, SetupContext } from '@vue/composition-api';\nimport { AuthCard } from '../components/AuthCard';\n\n// não encontrou agendamento\n// confirmado = confirmado agendamento\n// não confirmado agendamento\n// cancelar agendamento\n// cancelado agendamento\n// não cancelado agendamento\n\nexport default createComponent({\n name: 'ConfirmarAgendamentoPage',\n setup(props, ctx) {\n const [$loading, setLoading] = useValue(true);\n\n const [$submitting, setSubmitting] = useValue(false);\n\n const [$agendamento, setAgendamento] = useValue<\n IAgendamentoFragment | null | undefined\n >(null);\n\n const { token } = useRoute().params;\n\n const {\n $isCancelamentoRoute,\n $success,\n $submitted,\n $title,\n $agendamentoDesc,\n $isCancelamento,\n } = useComputeds({ $agendamento, ctx });\n\n const { handleCancel } = useEvents({\n token,\n ctx,\n $agendamento,\n $isCancelamentoRoute,\n setLoading,\n setSubmitting,\n setAgendamento,\n });\n\n return () => (\n \n
\n \n {$agendamento.value ? (\n agendamentoMessage({\n $title,\n $agendamentoDesc,\n $submitted,\n $submitting,\n $success,\n $isCancelamento,\n $isCancelamentoRoute,\n handleCancel,\n })\n ) : (\n \n )}\n \n
\n
\n );\n },\n});\n\nfunction useComputeds({\n ctx,\n $agendamento,\n}: {\n ctx: SetupContext;\n $agendamento: Ref;\n}) {\n const $isCancelamentoRoute = computed(() =>\n useRoute().path.includes('cancelar'),\n );\n\n const $success = computed(() => {\n const agendamento = $agendamento.value;\n\n if (!agendamento || !agendamento.status) {\n return false;\n }\n\n const statusConfirmado = [\n AgendamentoStatus.AGUARDANDO_ATENDIMENTO,\n AgendamentoStatus.CONFIRMADO,\n AgendamentoStatus.PACIENTE_ATENDIDO,\n ];\n const statusCancelado = [\n AgendamentoStatus.CANCELADO,\n AgendamentoStatus.NAO_COMPARECEU,\n ];\n\n return $isCancelamentoRoute.value\n ? statusCancelado.includes(agendamento.status)\n : statusConfirmado.includes(agendamento.status);\n });\n\n const $submitted = computed(() => {\n const agendamento = $agendamento.value;\n\n if (!agendamento || !agendamento.status) {\n return false;\n }\n\n const status = [\n AgendamentoStatus.AGUARDANDO_ATENDIMENTO,\n AgendamentoStatus.CONFIRMADO,\n AgendamentoStatus.PACIENTE_ATENDIDO,\n AgendamentoStatus.CANCELADO,\n AgendamentoStatus.NAO_COMPARECEU,\n ];\n\n return !$isCancelamentoRoute.value || status.includes(agendamento.status);\n });\n\n const $title = computed(() => {\n const confirmado = 'Agendamento confirmado';\n const naoConfirmado = 'Agendamento não confirmado';\n const cancelar = 'Confirmação de cancelamento';\n const cancelado = 'Agendamento cancelado';\n const naoCancelado = 'Agendamento não cancelado';\n\n if (!$submitted.value) return cancelar;\n\n if ($success.value) {\n return $isCancelamento.value ? cancelado : confirmado;\n }\n\n return $isCancelamento.value ? naoCancelado : naoConfirmado;\n });\n\n const $agendamentoDesc = computed(() => {\n const agendamento = $agendamento.value;\n\n if (!agendamento) return '';\n\n const profissional = agendamento.profissional.nome;\n const data = DateHelpers.formatDate(agendamento.data);\n const hora = DateHelpers.formatHour(agendamento.horaInicial);\n\n return `agendamento com ${profissional}, dia ${data} às ${hora}`;\n });\n\n const $isCancelamento = computed(() => {\n const agendamento = $agendamento.value;\n\n if (!$success.value || !agendamento || !agendamento.status) {\n return useRoute().path.includes('cancelar');\n }\n\n const statusCancelados = [\n AgendamentoStatus.CANCELADO,\n AgendamentoStatus.NAO_COMPARECEU,\n ];\n\n return statusCancelados.includes(agendamento.status);\n });\n\n return {\n $isCancelamentoRoute,\n $success,\n $submitted,\n $title,\n $agendamentoDesc,\n $isCancelamento,\n };\n}\n\nfunction useEvents({\n token,\n ctx,\n $agendamento,\n $isCancelamentoRoute,\n setLoading,\n setSubmitting,\n setAgendamento,\n}: {\n token: string;\n ctx: SetupContext;\n $agendamento: Ref;\n $isCancelamentoRoute: Ref;\n setLoading: (v: boolean) => void;\n setSubmitting: (v: boolean) => void;\n setAgendamento: (v: IAgendamentoFragment | null | undefined) => void;\n}) {\n async function handleCancel() {\n try {\n if (!$agendamento.value) {\n return;\n }\n\n setSubmitting(true);\n\n setAgendamento(\n await AgendamentoService.confirmacaoCancelAgendamento(token),\n );\n } catch (error) {\n console.error(error);\n }\n }\n\n onMounted(async () => {\n if (!token) {\n return useRouter().replace(Routes.auth.login);\n }\n\n setAgendamento(\n await AgendamentoService.confirmacaoCheckAgendamento({\n confirmacaoToken: token,\n confirm: !$isCancelamentoRoute.value,\n }),\n );\n\n setLoading(false);\n });\n\n return { handleCancel };\n}\n\nconst agendamentoMessage = ({\n $title,\n $agendamentoDesc,\n $submitted,\n $submitting,\n $success,\n $isCancelamento,\n $isCancelamentoRoute,\n handleCancel,\n}: {\n $title: Ref;\n $agendamentoDesc: Ref;\n $submitted: Ref;\n $submitting: Ref;\n $success: Ref;\n $isCancelamento: Ref;\n $isCancelamentoRoute: Ref;\n handleCancel: () => Promise;\n}) => (\n
\n

{$title.value}

\n\n {message({\n $agendamentoDesc,\n $submitted,\n $success,\n $isCancelamento,\n $isCancelamentoRoute,\n })}\n\n {!$submitted.value && $isCancelamentoRoute.value && (\n \n Cancelar\n \n )}\n
\n);\n\nconst message = ({\n $agendamentoDesc,\n $submitted,\n $success,\n $isCancelamento,\n $isCancelamentoRoute,\n}: {\n $agendamentoDesc: Ref;\n $submitted: Ref;\n $success: Ref;\n $isCancelamento: Ref;\n $isCancelamentoRoute: Ref;\n}) => {\n const classes = 'text-subtitle text-center text-gray-600 py-4';\n\n const agendamentoDesc = $agendamentoDesc.value;\n\n const confirmado = (\n
\n Seu {agendamentoDesc}, foi{' '}\n confirmado com sucesso!\n
\n );\n\n const naoConfirmado = (\n
\n Infelizmente não pudemos concluir a confirmação de seu {agendamentoDesc}.\n Se você já cancelou esse agendamento anteriormente, não poderá confirmá-lo\n depois.\n
\n );\n\n const cancelar = (\n
Deseja cancelar o {agendamentoDesc}?
\n );\n\n const cancelado = (\n
\n Seu {agendamentoDesc}, foi cancelado com sucesso\n !\n
\n );\n\n const naoCancelado = (\n
\n Infelizmente não pudemos concluir o cancelamento de seu {agendamentoDesc}.\n
\n );\n\n if (!$submitted.value) {\n return cancelar;\n }\n\n if ($success.value) {\n return $isCancelamento.value ? cancelado : confirmado;\n }\n\n return $isCancelamentoRoute.value ? naoCancelado : naoConfirmado;\n};\n\nconst Confirmacao = () => (\n
\n

\n Link para confirmar agendamento já expirou\n

\n
\n);\n","import { createComponent } from '@/lib/vue';\nimport { PropType } from 'vue';\n\ntype ILogoType = 'white' | 'primary';\n\nexport const Logo = createComponent({\n name: 'Logo',\n props: {\n type: { type: String as PropType, required: true },\n width: { type: Number, default: 260 },\n },\n setup(props, ctx) {\n return () => (\n \n );\n },\n});\n"],"sourceRoot":""}