|
@@ -9,6 +9,7 @@
|
|
|
/** @var list<\App\Domain\Task> $tasks */
|
|
/** @var list<\App\Domain\Task> $tasks */
|
|
|
/** @var array<int, array<int, float>> $taskGrid task_id => sw_id => days */
|
|
/** @var array<int, array<int, float>> $taskGrid task_id => sw_id => days */
|
|
|
/** @var list<\App\Domain\Worker> $ownerChoices */
|
|
/** @var list<\App\Domain\Worker> $ownerChoices */
|
|
|
|
|
+use App\Domain\SprintWeek;
|
|
|
use function App\Http\e;
|
|
use function App\Http\e;
|
|
|
$tasks = $tasks ?? [];
|
|
$tasks = $tasks ?? [];
|
|
|
$taskGrid = $taskGrid ?? [];
|
|
$taskGrid = $taskGrid ?? [];
|
|
@@ -96,11 +97,15 @@ if (!function_exists('fmt_days')) {
|
|
|
<?php endif; ?>
|
|
<?php endif; ?>
|
|
|
</th>
|
|
</th>
|
|
|
<?php $sumMax = 0.0; foreach ($weeks as $w): $sumMax += $w->maxWorkingDays; ?>
|
|
<?php $sumMax = 0.0; foreach ($weeks as $w): $sumMax += $w->maxWorkingDays; ?>
|
|
|
- <td class="px-1 py-1 text-center">
|
|
|
|
|
- <span class="font-mono" data-week-arbeitstage data-week-id="<?= (int) $w->id ?>"
|
|
|
|
|
- title="<?= e(implode(' ', $w->activeDays())) ?: '—' ?>">
|
|
|
|
|
- <?= e(fmt_days($w->maxWorkingDays)) ?>
|
|
|
|
|
- </span>
|
|
|
|
|
|
|
+ <td class="px-1 py-1">
|
|
|
|
|
+ <div class="flex items-center justify-center gap-1"
|
|
|
|
|
+ data-week-arbeitstage data-week-id="<?= (int) $w->id ?>"
|
|
|
|
|
+ title="<?= e(implode(' ', $w->activeDays())) ?: '—' ?>">
|
|
|
|
|
+ <?php foreach (SprintWeek::DAY_LABELS as $bit => $_label): ?>
|
|
|
|
|
+ <span class="inline-block h-2.5 w-2.5 rounded-full
|
|
|
|
|
+ <?= $w->hasDay($_label) ? 'bg-green-500' : 'bg-slate-300' ?>"></span>
|
|
|
|
|
+ <?php endforeach; ?>
|
|
|
|
|
+ </div>
|
|
|
</td>
|
|
</td>
|
|
|
<?php endforeach; ?>
|
|
<?php endforeach; ?>
|
|
|
<td class="px-2 py-1 text-center font-mono font-semibold" data-sum-max>
|
|
<td class="px-2 py-1 text-center font-mono font-semibold" data-sum-max>
|