hierarchy: parsear nomenclatura [E05-F04-U02], badges de tipo en dashboard, clean title
This commit is contained in:
@@ -3,6 +3,7 @@ import { computed, watch } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { useProjectsStore } from '@/stores/projects'
|
||||
import { useWorkItemsStore } from '@/stores/workitems'
|
||||
import { getTypeLabel, getTypeColor, getTypeIcon } from '@/services/hierarchy'
|
||||
import { Activity, FileText, Layers, Clock } from 'lucide-vue-next'
|
||||
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'
|
||||
import { Badge } from '@/components/ui/badge'
|
||||
@@ -152,10 +153,16 @@ const statusLabel = (status: unknown) => {
|
||||
<CardHeader class="p-4 pb-2">
|
||||
<div class="flex items-start justify-between gap-2">
|
||||
<div class="flex items-center gap-2 min-w-0">
|
||||
<span
|
||||
class="inline-flex items-center rounded px-1.5 py-0.5 text-[10px] font-bold"
|
||||
:class="getTypeColor(epic._itemType)"
|
||||
>
|
||||
{{ getTypeIcon(epic._itemType) }} {{ getTypeLabel(epic._itemType) }}
|
||||
</span>
|
||||
<span class="font-mono text-xs text-muted-foreground flex-shrink-0">
|
||||
{{ epic.code || `EP-${epic.id}` }}
|
||||
</span>
|
||||
<CardTitle class="text-sm truncate"> {{ epic.name || epic.title || t('dashboard.epicFallback', { id: epic.id }) }}</CardTitle>
|
||||
<CardTitle class="text-sm truncate">{{ epic._cleanName || epic.name || epic.title || t('dashboard.epicFallback', { id: epic.id }) }}</CardTitle>
|
||||
</div>
|
||||
<Badge :variant="statusVariant(epic.status || '')" class="text-xs flex-shrink-0">
|
||||
{{ statusLabel(epic.status || '') }}
|
||||
@@ -182,7 +189,8 @@ const statusLabel = (status: unknown) => {
|
||||
<Table v-if="workItems.userStories.length > 0">
|
||||
<TableHeader>
|
||||
<TableRow>
|
||||
<TableHead class="w-[100px]">{{ t('dashboard.code') }}</TableHead>
|
||||
<TableHead class="w-[80px]">{{ t('dashboard.code') }}</TableHead>
|
||||
<TableHead class="w-[60px]">{{ t('users.role') }}</TableHead>
|
||||
<TableHead>{{ t('dashboard.title') }}</TableHead>
|
||||
<TableHead class="w-[110px]">{{ t('dashboard.status') }}</TableHead>
|
||||
<TableHead class="w-[90px] text-right">{{ t('dashboard.priority') }}</TableHead>
|
||||
@@ -193,8 +201,16 @@ const statusLabel = (status: unknown) => {
|
||||
<TableCell class="font-mono text-xs text-muted-foreground">
|
||||
{{ hu.code || `HU-${hu.id}` }}
|
||||
</TableCell>
|
||||
<TableCell class="text-sm max-w-[300px] truncate">
|
||||
{{ hu.title }}
|
||||
<TableCell>
|
||||
<span
|
||||
class="inline-flex items-center rounded px-1 py-0.5 text-[10px] font-bold"
|
||||
:class="getTypeColor(hu._itemType)"
|
||||
>
|
||||
{{ getTypeLabel(hu._itemType) }}
|
||||
</span>
|
||||
</TableCell>
|
||||
<TableCell class="text-sm max-w-[280px] truncate">
|
||||
{{ hu._cleanTitle || hu.title }}
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
<Badge :variant="statusVariant(hu.status || '')" class="text-xs capitalize">
|
||||
|
||||
Reference in New Issue
Block a user