proyectos: status true/false ahora muestra Activo/Inactivo via i18n

This commit is contained in:
2026-05-27 21:44:41 -05:00
parent 66b3e24fec
commit 9ae2af3ea2
10 changed files with 64 additions and 18 deletions
+16 -10
View File
@@ -15,6 +15,20 @@ import { Skeleton } from "@/components/ui/skeleton"
const { t } = useI18n()
const projects = useProjectsStore()
function getStatusVariant(status?: string) {
const s = String(status ?? '').toLowerCase()
if (s === 'true' || ['active', 'completado', 'done', 'completed'].includes(s)) return 'default'
if (s === 'false' || ['inactive', 'paused', 'cancelled'].includes(s)) return 'secondary'
return 'outline'
}
function getStatusLabel(status?: string) {
const s = String(status ?? '').toLowerCase()
if (s === 'true' || s === 'active') return t('status.active')
if (s === 'false' || s === 'inactive') return t('status.inactive')
return s || '—'
}
const emit = defineEmits<{
'select-project': [id: number]
}>()
@@ -23,14 +37,6 @@ onMounted(() => {
projects.fetchProjects()
})
function getStatusVariant(status?: string) {
switch (status) {
case 'active': return 'default'
case 'completed': return 'secondary'
case 'paused': return 'outline'
default: return 'default'
}
}
</script>
<template>
@@ -95,8 +101,8 @@ function getStatusVariant(status?: string) {
<CardTitle class="text-base">
{{ p.initiative_name || p.name || t('projects.unnamedFallback', { id: p.id }) }}
</CardTitle>
<Badge :variant="getStatusVariant(p.status)">
{{ p.status || 'active' }}
<Badge id="projects-status-badge" :variant="getStatusVariant(p.status)">
{{ getStatusLabel(p.status) }}
</Badge>
</div>
<CardDescription class="line-clamp-2">