diff --git a/app/View/Components/DiskSpaceBar.php b/app/View/Components/DiskSpaceBar.php index 904aeeb..70db9d5 100644 --- a/app/View/Components/DiskSpaceBar.php +++ b/app/View/Components/DiskSpaceBar.php @@ -33,24 +33,6 @@ class DiskSpaceBar extends Component return $this->disk !== null; } - /** - * Progress fill color based on remaining free space. - */ - public function barColor(): string - { - $freePercent = $this->disk['free_percent'] ?? 100; - - if ($freePercent <= 5) { - return 'bg-red-600'; - } - - if ($freePercent <= 15) { - return 'bg-amber-500'; - } - - return 'bg-teal-600'; - } - /** * Get the view / contents that represent the component. */ diff --git a/resources/views/components/disk-space-bar.blade.php b/resources/views/components/disk-space-bar.blade.php index b8e3be2..024c73c 100644 --- a/resources/views/components/disk-space-bar.blade.php +++ b/resources/views/components/disk-space-bar.blade.php @@ -1,24 +1,33 @@ @php /** @var array{used_percent: float, free_percent: float, free_human: string, total_human: string, used_human: string} $disk */ + $usedPercent = min(100, max(0, (float) $disk['used_percent'])); + $usedPercentLabel = rtrim(rtrim(number_format($usedPercent, 1, '.', ''), '0'), '.') ?: '0'; + $freePercent = (float) ($disk['free_percent'] ?? 100); + // Inline colors so the fill is visible even before / without a Tailwind rebuild. + $fillColor = match (true) { + $freePercent <= 5 => '#dc2626', + $freePercent <= 15 => '#f59e0b', + default => '#0d9488', + }; @endphp
-
diff --git a/tests/Feature/DiskSpaceTest.php b/tests/Feature/DiskSpaceTest.php index fe21a59..12078d8 100644 --- a/tests/Feature/DiskSpaceTest.php +++ b/tests/Feature/DiskSpaceTest.php @@ -50,10 +50,17 @@ class DiskSpaceTest extends TestCase { Cache::flush(); - $this->get(route('recordings.index')) + $response = $this->get(route('recordings.index')) ->assertOk() - ->assertSee('Disk space used', false) + ->assertSee('Disk space', false) + ->assertSee('% used', false) ->assertSee('free') - ->assertSee('role="progressbar"', false); + ->assertSee('role="progressbar"', false) + ->assertSee('background-color:', false); + + $this->assertMatchesRegularExpression( + '/width:\s*[\d.]+%;\s*background-color:\s*#(0d9488|f59e0b|dc2626)/', + $response->getContent(), + ); } }