carousel, agenda arquivados, agenda cor, agenda arquivados, grupos pacientes, pacientes arquivados - desativados, sessoes verificadas, ajuste notificações, Prontuario, Agenda Animation, Menu Profile, bagdes Profile, Offline

This commit is contained in:
Leonardo
2026-03-18 09:26:09 -03:00
parent 66f67cd40f
commit d6d2fe29d1
55 changed files with 3655 additions and 1512 deletions
+19 -1
View File
@@ -8,6 +8,7 @@ import Popover from 'primevue/popover'
import { useTenantStore } from '@/stores/tenantStore'
import { useEntitlementsStore } from '@/stores/entitlementsStore'
import { useMenuBadges } from '@/composables/useMenuBadges'
const { layoutState, isDesktop } = useLayout()
const router = useRouter()
@@ -15,6 +16,15 @@ const pop = ref(null)
const tenantStore = useTenantStore()
const entitlementsStore = useEntitlementsStore()
const menuBadges = useMenuBadges()
function menuBadgeLabel (item) {
const key = item?.badgeKey
if (!key) return null
const val = menuBadges[key]?.value || 0
if (!val) return null
return key === 'agendaHoje' ? `${val} hoje` : String(val)
}
const emit = defineEmits(['quick-create'])
@@ -102,7 +112,7 @@ const showProBadge = computed(() => {
try {
return !entitlementsStore.has(feature)
} catch {
// se der erro, não mostra (evita PRO fantasma)
// se der erro, não mostra (evita "PRO fantasma")
return false
}
})
@@ -221,6 +231,14 @@ async function irCadastroCompleto () {
PRO
</span>
<!-- Badge contador (agenda hoje / cadastros / agendamentos) -->
<span
v-if="menuBadgeLabel(item)"
class="ml-auto text-[0.62rem] font-bold px-1.5 py-px rounded-full bg-[var(--primary-color)] text-white leading-none"
>
{{ menuBadgeLabel(item) }}
</span>
<i v-if="item.items" class="pi pi-fw pi-angle-down layout-submenu-toggler" />
</component>