{"version":3,"sources":["webpack:///./src/lib/composables/useContextSidebar.ts","webpack:///./src/components/sidebars/context/ContextSidebar.tsx","webpack:///./src/components/sidebars/context/ContextSidebarMenuHeader.tsx","webpack:///./src/modules/agenda/components/sidebars/PacientesDiaSidebar.tsx"],"names":["useContextSidebar","ctx","width","miniWidth","$temporarySidebarOpen","s","layout","temporarySidebar","open","$showMiniSidebar","$currentWidth","$width","$miniVariant","value","$mini","contextSidebar","mini","useUpdateAppLeft","checkNoSidebar","fullPath","routesNoSidebar","includes","updateAppLeft","vuetify","application","left","ContextSidebar","name","setup","props","$miniIcon","sidebarExpand","sidebarCollapse","defaultSlot","slots","default","coolGray800","stop","toggleContext","ContextSidebarMenuHeader","title","type","String","required","useLoadAgendamentos","$loading","setLoading","loadAgendamentosDia","$agendamentos","agenda","agendamentosDia","map","v","index","id","activator","menuActivator","getStatus","status","agendamentoStatus","find","f","agendamento","on","horaInicial","formatHour","click","goToAtendimento","color","icon","primeiraVez","white","paciente","nome","PacienteSheet","item","Object","mapPacienteDia","telefone","convenio","procedimento","createdBy","createdAt","AgendamentoStatusInfo","label","celular","telefoneCasa","procedimentos","reduce","res","slice","trim","formatDateAndHour"],"mappings":"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","file":"js/chunk-106c55ff.773b7bd9.js","sourcesContent":["import { computed, SetupContext } from '@vue/composition-api';\nimport { useState } from '.';\nimport { watchRun } from '../vue';\nimport { useBreakpoints } from './utils/useBreakpoints';\nimport { useRoute } from './utils/useRouter';\nimport { useVuetify } from './utils/useVuetify';\n\nexport function useContextSidebar(ctx: SetupContext) {\n const width = 300;\n\n const miniWidth = 40;\n\n const $temporarySidebarOpen = useState(s => s.layout.temporarySidebar.open);\n\n const { $showMiniSidebar, $width: $currentWidth } = useBreakpoints();\n\n const $miniVariant = computed(() =>\n $showMiniSidebar.value ? $mini.value : false,\n );\n\n const $mini = useState(s => s.layout.contextSidebar.mini);\n\n return {\n $currentWidth,\n width,\n miniWidth,\n $temporarySidebarOpen,\n $showMiniSidebar,\n $miniVariant,\n $mini,\n };\n}\n\nexport function useUpdateAppLeft(ctx: SetupContext) {\n const {\n $miniVariant,\n miniWidth,\n width,\n $temporarySidebarOpen,\n $currentWidth,\n } = useContextSidebar(ctx);\n\n function checkNoSidebar() {\n const fullPath = useRoute().fullPath;\n\n const routesNoSidebar = [\n '/pacientes',\n '/configuracoes/meu-perfil',\n '/contatos',\n '/cid',\n ];\n\n return (\n routesNoSidebar.includes(fullPath) ||\n // routes => /cid/*\n fullPath.includes('/cid/') ||\n // routes => /contatos/*\n fullPath.includes('/contatos/') ||\n // routes => /erro/*\n fullPath.includes('/erro/')\n );\n }\n\n function updateAppLeft() {\n const vuetify = useVuetify();\n\n if (checkNoSidebar()) {\n return (vuetify.application.left = 0);\n }\n\n // fix the left padding issue\n vuetify.application.left = $miniVariant.value ? miniWidth : width;\n }\n\n watchRun($temporarySidebarOpen, updateAppLeft);\n\n watchRun($currentWidth, updateAppLeft);\n\n watchRun(() => useRoute().fullPath, updateAppLeft);\n}\n","import { useContextSidebar } from '@/lib/composables/useContextSidebar';\nimport { MyIcons } from '@/lib/helpers/MyIcons';\nimport { MyTheme } from '@/lib/helpers/MyTheme';\nimport { createComponent, modifiers } from '@/lib/vue';\nimport { LayoutState } from '@/store/modules/layout.store';\nimport { computed } from '@vue/composition-api';\n\nexport const ContextSidebar = createComponent({\n name: 'ContextSidebar',\n setup(props, ctx) {\n const { $mini, width, miniWidth, $miniVariant, $showMiniSidebar } =\n useContextSidebar(ctx);\n\n const $miniIcon = computed(() =>\n $mini.value ? MyIcons.sidebarExpand : MyIcons.sidebarCollapse,\n );\n\n return () => {\n const defaultSlot = ctx.slots.default?.();\n\n return (\n
\n \n {$showMiniSidebar.value && (\n \n {$miniIcon.value}\n \n )}\n\n {!$miniVariant.value && defaultSlot}\n \n
\n );\n };\n },\n});\n\nexport default ContextSidebar;\n","import { createComponent } from '@/lib/vue';\n\ninterface IProps {\n title: string;\n}\n\nexport const ContextSidebarMenuHeader = createComponent({\n name: 'ContextSidebarMenuHeader',\n props: {\n title: { type: String, required: true },\n },\n setup(props, ctx) {\n return () => (\n
\n \n {props.title}\n \n\n \n
\n );\n },\n});\n\nexport default ContextSidebarMenuHeader;\n","import { CircularLoading } from '@/components/loading/CircularLoading';\nimport { ContextSidebar } from '@/components/sidebars/context/ContextSidebar';\nimport { ContextSidebarMenuHeader } from '@/components/sidebars/context/ContextSidebarMenuHeader';\nimport { useState, useValue } from '@/lib/composables';\nimport { ConstantsHelper } from '@/lib/constants/helper';\nimport { formatTelefone } from '@/lib/form';\nimport { DateHelpers } from '@/lib/helpers/date.helpers';\nimport { MyTheme } from '@/lib/helpers/MyTheme';\nimport { AgendamentoService } from '@/lib/services';\nimport { createComponent } from '@/lib/vue';\nimport { AgendamentoStatus, IAgendamentoFragment } from '@/typings';\nimport { onMounted } from '@vue/composition-api';\n\nexport default createComponent({\n name: 'PacientesDiaSidebar',\n setup(props, ctx) {\n const { $loading } = useLoadAgendamentos();\n\n const $agendamentos = useState(s => s.agenda.agendamentosDia);\n\n return () => (\n \n \n\n \n \n {$agendamentos.value.map((v, index) => [\n index > 0 && ,\n\n \n \n ,\n ])}\n \n \n \n );\n },\n});\n\nfunction useLoadAgendamentos() {\n const [$loading, setLoading] = useValue(true);\n\n onMounted(async () => {\n await AgendamentoService.loadAgendamentosDia();\n\n setLoading(false);\n });\n\n return { $loading };\n}\n\nconst getStatus = (status: AgendamentoStatus | null) =>\n ConstantsHelper.agendamentoStatus.find(f => f.value === status);\n\nconst menuActivator =\n (agendamento: IAgendamentoFragment) =>\n ({ on }) => {\n const status = getStatus(agendamento.status)!;\n\n const horaInicial = DateHelpers.formatHour(agendamento.horaInicial);\n\n return (\n AgendamentoService.goToAtendimento(agendamento),\n },\n }}\n >\n \n {status.icon}\n \n\n \n \n
\n \n {horaInicial}\n
\n\n {agendamento.primeiraVez && (\n
\n \n PRIMEIRA VEZ\n \n
\n )}\n \n
\n\n
{agendamento.paciente?.nome}
\n
\n \n );\n };\n\nconst PacienteSheet = createComponent<{\n item: IAgendamentoFragment;\n}>({\n name: 'PacientesDiaSidebarPacienteSheet',\n props: {\n item: { type: Object, required: true },\n },\n setup(props, ctx) {\n return () => {\n const { status, telefone, convenio, procedimento, createdBy, createdAt } =\n mapPacienteDia(props.item);\n\n return (\n \n
\n
\n
\n Status:\n\n \n
\n\n
Telefone: {telefone}
\n\n
ConvĂȘnio: {convenio}
\n\n
Procedimento: {procedimento}
\n
\n\n AgendamentoService.goToAtendimento(props.item)}\n >\n atender\n \n\n
\n * Agendado por {createdBy} em {createdAt}\n
\n
\n
\n );\n };\n },\n});\n\nconst AgendamentoStatusInfo = createComponent<{\n value: AgendamentoStatus | null;\n}>({\n name: 'PacientesDiaSidebarAgendamentoStatusInfo',\n props: {\n value: { type: String as any },\n },\n setup(props, ctx) {\n return () => {\n if (!props.value) {\n return null;\n }\n\n const status = getStatus(props.value);\n\n return (\n status && (\n
\n \n {status.icon}\n \n\n {status.label}\n
\n )\n );\n };\n },\n});\n\ninterface IPacienteDia {\n status: AgendamentoStatus | null;\n telefone: string | null | undefined;\n convenio: string | null | undefined;\n procedimento: string;\n createdAt: string | null | undefined;\n createdBy: string | null | undefined;\n}\n\nfunction mapPacienteDia(agendamento: IAgendamentoFragment): IPacienteDia {\n const paciente = agendamento.paciente!;\n\n const celular = formatTelefone(paciente.celular);\n const telefoneCasa = formatTelefone(paciente.telefoneCasa);\n\n return {\n status: agendamento.status,\n telefone:\n celular && telefoneCasa\n ? `${celular} / ${telefoneCasa}`\n : celular || telefoneCasa,\n convenio: agendamento.convenio?.nome,\n procedimento: (agendamento.procedimentos || [])\n .reduce(\n (res, procedimento) => `${res} ${procedimento.procedimento.nome},`,\n '',\n )\n // remove last character\n .slice(0, -1)\n .trim(),\n createdBy: agendamento.createdBy?.nome,\n createdAt: DateHelpers.formatDateAndHour(agendamento.createdAt),\n };\n}\n"],"sourceRoot":""}