fix(upgrade): hide upgrade labels in collapsed sidebar

This commit is contained in:
Andras Bacsai 2026-06-15 12:56:19 +02:00
parent 52739141ee
commit 371eb1e38c
3 changed files with 26 additions and 8 deletions

View file

@ -355,4 +355,8 @@ @media (min-width: 1024px) {
gap: 0;
margin-inline: auto;
}
.sidebar-collapsed .sidebar-collapsed-label {
display: none;
}
}

View file

@ -13,7 +13,7 @@ class="text-pink-500 transition-colors menu-item-icon hover:text-pink-300 lds-he
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M19.5 13.572l-7.5 7.428l-7.5 -7.428m0 0a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572" />
</svg>
<span class="text-left menu-item-label" :class="collapsed && 'lg:hidden'">In progress</span>
<span class="text-left menu-item-label sidebar-collapsed-label">In progress</span>
</button>
<button title="Upgrade" aria-label="Upgrade" class="menu-item cursor-pointer" @click="modalOpen=true" x-show="!showProgress">
<svg xmlns="http://www.w3.org/2000/svg" class="text-pink-500 transition-colors menu-item-icon hover:text-pink-300"
@ -25,7 +25,7 @@ class="text-pink-500 transition-colors menu-item-icon hover:text-pink-300 lds-he
<path d="M9 21h6" />
<path d="M9 18h6" />
</svg>
<span class="text-left menu-item-label" :class="collapsed && 'lg:hidden'">Upgrade</span>
<span class="text-left menu-item-label sidebar-collapsed-label">Upgrade</span>
</button>
<template x-teleport="body">
<div x-show="modalOpen"

View file

@ -10,7 +10,7 @@
it('initializes latest version during mount from cached versions data', function () {
config(['constants.coolify.version' => '4.0.0-beta.998']);
InstanceSettings::create([
InstanceSettings::forceCreate([
'id' => 0,
'new_version_available' => true,
]);
@ -34,8 +34,22 @@
->assertSee('4.0.0-beta.999');
});
it('uses sidebar state css instead of nested alpine state for upgrade labels', function () {
$upgradeView = file_get_contents(resource_path('views/livewire/upgrade.blade.php'));
$utilitiesCss = file_get_contents(resource_path('css/utilities.css'));
expect($upgradeView)
->toContain('class="text-left menu-item-label sidebar-collapsed-label"')
->toContain('>In progress</span>')
->toContain('>Upgrade</span>')
->not->toContain(':class="collapsed && \'lg:hidden\'"')
->and($utilitiesCss)
->toContain('.sidebar-collapsed .sidebar-collapsed-label')
->toContain('display: none;');
});
it('falls back to 0.0.0 during mount when cached versions data is unavailable', function () {
InstanceSettings::create([
InstanceSettings::forceCreate([
'id' => 0,
'new_version_available' => false,
]);
@ -51,7 +65,7 @@
it('clears stale upgrade availability when current version already matches latest version', function () {
config(['constants.coolify.version' => '4.0.0-beta.999']);
InstanceSettings::create([
InstanceSettings::forceCreate([
'id' => 0,
'new_version_available' => true,
]);
@ -71,12 +85,12 @@
->assertSet('latestVersion', '4.0.0-beta.999')
->assertSet('isUpgradeAvailable', false);
expect(InstanceSettings::findOrFail(0)->new_version_available)->toBeFalse();
expect((bool) InstanceSettings::findOrFail(0)->new_version_available)->toBeFalse();
});
it('clears stale upgrade availability when current version is newer than cached latest version', function () {
config(['constants.coolify.version' => '4.0.0-beta.1000']);
InstanceSettings::create([
InstanceSettings::forceCreate([
'id' => 0,
'new_version_available' => true,
]);
@ -96,5 +110,5 @@
->assertSet('latestVersion', '4.0.0-beta.999')
->assertSet('isUpgradeAvailable', false);
expect(InstanceSettings::findOrFail(0)->new_version_available)->toBeFalse();
expect((bool) InstanceSettings::findOrFail(0)->new_version_available)->toBeFalse();
});