feat(ui) : add item counters to machine section titles

This commit is contained in:
2026-04-04 16:33:08 +02:00
parent 2b04860ea8
commit 6716d31126
5 changed files with 31 additions and 15 deletions

View File

@@ -14,7 +14,14 @@
/>
<!-- Component Header -->
<div class="flex items-center gap-3 p-3 rounded-lg cursor-pointer" :class="component.pendingEntity ? 'bg-error/10 border border-error' : 'bg-base-200'" @click="toggleCollapse">
<div
class="flex items-center gap-3 p-3 rounded-lg cursor-pointer transition-shadow"
:class="[
component.pendingEntity ? 'bg-error/10 border border-error' : 'bg-base-200',
!isCollapsed ? 'sticky top-16 z-10 shadow-sm' : '',
]"
@click="toggleCollapse"
>
<IconLucideChevronRight
class="w-4 h-4 shrink-0 transition-transform text-base-content/50"
:class="{ 'rotate-90': !isCollapsed }"

View File

@@ -2,7 +2,10 @@
<div class="card bg-base-100 shadow-sm">
<div class="card-body">
<div class="flex justify-between items-center mb-4">
<h2 class="card-title">Composants</h2>
<h2 class="card-title">
Composants
<span v-if="components.length" class="badge badge-outline badge-sm ml-1">{{ components.length }}</span>
</h2>
<button
type="button"
class="btn btn-ghost btn-sm gap-2"

View File

@@ -3,7 +3,10 @@
<div class="card-body space-y-4">
<div class="flex items-center justify-between">
<div>
<h2 class="card-title">Documents de la machine</h2>
<h2 class="card-title">
Documents de la machine
<span v-if="documents.length" class="badge badge-outline badge-sm ml-1">{{ documents.length }}</span>
</h2>
<p class="text-xs text-gray-500">Ajoutez ou consultez les documents liés à cette machine.</p>
</div>
<span v-if="isEditMode && files.length" class="badge badge-outline">

View File

@@ -15,9 +15,9 @@
class="input input-bordered"
@input="$emit('update:machine-name', ($event.target as HTMLInputElement).value)"
/>
<div v-else class="input input-bordered bg-base-200">
<p v-else class="text-sm font-medium text-base-content py-1">
{{ machineName }}
</div>
</p>
</div>
<div class="form-control">
<label class="label">
@@ -38,9 +38,9 @@
{{ site.name }}
</option>
</select>
<div v-else class="input input-bordered bg-base-200">
<p v-else class="text-sm font-medium text-base-content py-1">
{{ machineSiteName || 'Non défini' }}
</div>
</p>
</div>
<div v-if="isEditMode || machineReference" class="form-control">
<label class="label">
@@ -54,9 +54,9 @@
class="input input-bordered"
@input="$emit('update:machine-reference', ($event.target as HTMLInputElement).value)"
/>
<div v-else class="input input-bordered bg-base-200">
<p v-else class="text-sm font-medium text-base-content py-1">
{{ machineReference }}
</div>
</p>
</div>
<div v-if="isEditMode || hasMachineConstructeur" class="form-control md:col-span-2">
<label class="label">
@@ -77,9 +77,9 @@
@update:model-value="$emit('update:constructeur-links', $event)"
@remove="$emit('remove-constructeur-link', $event)"
/>
<div v-else-if="!isEditMode" class="border border-base-300 rounded-btn bg-base-200 px-4 py-2 min-h-12 flex items-center">
<span class="text-base-content/50">Non défini</span>
</div>
<p v-else-if="!isEditMode" class="text-sm font-medium text-base-content/50 py-1">
Non défini
</p>
</div>
</div>
@@ -152,9 +152,9 @@
</div>
</template>
<template v-else>
<div class="input input-bordered input-sm bg-base-200">
<p class="text-sm font-medium text-base-content py-1">
{{ formatValueForDisplay(field) }}
</div>
</p>
</template>
</div>
</div>

View File

@@ -2,7 +2,10 @@
<div class="card bg-base-100 shadow-sm">
<div class="card-body">
<div class="flex justify-between items-center mb-4">
<h2 class="card-title">Pièces de la machine</h2>
<h2 class="card-title">
Pièces de la machine
<span v-if="pieces.length" class="badge badge-outline badge-sm ml-1">{{ pieces.length }}</span>
</h2>
<button
type="button"
class="btn btn-ghost btn-sm gap-2"