feat: Add plan duration display to diary activities and enhance styling
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 44s

This commit is contained in:
Torsten Schulz (local)
2026-05-22 14:04:49 +02:00
parent 0f946e9514
commit 84c63bc7d2

View File

@@ -439,6 +439,9 @@
<span v-if="!isStructuralPlanItem(item) && getPlanItemStatus(item).label" class="plan-status-badge" :class="`plan-status-badge-${getPlanItemStatus(item).tone}`">
{{ getPlanItemStatus(item).label }}
</span>
<span v-if="getPlanDurationMinutesDisplay(item)" class="plan-duration-badge">
{{ getPlanDurationMinutesDisplay(item) }}
</span>
</div>
<div class="plan-row-actions">
<button @click="startActivityEdit(item)" class="plan-row-action-button">{{ $t('common.edit') }}</button>
@@ -469,6 +472,9 @@
<span v-if="!isStructuralPlanItem(item) && getPlanItemStatus(item).label" class="plan-status-badge" :class="`plan-status-badge-${getPlanItemStatus(item).tone}`">
{{ getPlanItemStatus(item).label }}
</span>
<span v-if="getPlanDurationMinutesDisplay(item)" class="plan-duration-badge">
{{ getPlanDurationMinutesDisplay(item) }}
</span>
</div>
<div class="plan-row-actions">
<button @click="startActivityEdit(item)" class="plan-row-action-button">{{ $t('common.edit') }}</button>
@@ -2749,6 +2755,13 @@ export default {
}
return `${item.duration || ''}${item.durationText && item.durationText.trim() !== '' ? ` (${item.durationText})` : ''}`;
},
getPlanDurationMinutesDisplay(item) {
const duration = Number(item?.duration);
if (!Number.isFinite(duration) || duration <= 0) {
return '';
}
return `${duration} ${this.$t('diary.minutes')}`;
},
getTimeblockMaxGroupDuration(timeblockItem) {
const entries = Array.isArray(timeblockItem?.groupActivities) ? timeblockItem.groupActivities : [];
if (!entries.length) return 0;
@@ -5722,6 +5735,17 @@ img {
color: #7a5a12;
}
.plan-duration-badge {
display: inline-flex;
align-items: center;
border-radius: 999px;
padding: 0.1rem 0.45rem;
font-size: 0.72rem;
font-weight: 700;
background: #eaf1f5;
color: #39566a;
}
.diary-readiness-panel {
margin-bottom: 1rem;
padding: 0.9rem 1rem;