diff --git a/lang/de/update.php b/lang/de/update.php
index aa98bf7..3090422 100644
--- a/lang/de/update.php
+++ b/lang/de/update.php
@@ -7,10 +7,10 @@ return [
'subtitle' => 'Der Stack wird neu gebaut. Diese Seite erkennt automatisch, wann er wieder erreichbar ist.',
// Phase labels (displayed in the checklist)
- 'phase_fetch' => 'Holen',
- 'phase_build' => 'Bauen',
- 'phase_migrate' => 'Migrieren',
- 'phase_restart' => 'Neustart',
+ 'phase_fetch' => 'Update wird abgerufen',
+ 'phase_build' => 'Image wird erstellt',
+ 'phase_migrate' => 'Datenbank wird migriert',
+ 'phase_restart' => 'Dienste werden neu gestartet',
// Status messages
'elapsed' => 'Vergangene Zeit',
diff --git a/lang/en/update.php b/lang/en/update.php
index ff985cd..cba1c9c 100644
--- a/lang/en/update.php
+++ b/lang/en/update.php
@@ -7,10 +7,10 @@ return [
'subtitle' => 'The stack is rebuilding. This page will automatically detect when it is back up.',
// Phase labels (displayed in the checklist)
- 'phase_fetch' => 'Fetch',
- 'phase_build' => 'Build',
- 'phase_migrate' => 'Migrate',
- 'phase_restart' => 'Restart',
+ 'phase_fetch' => 'Fetching update',
+ 'phase_build' => 'Building image',
+ 'phase_migrate' => 'Migrating database',
+ 'phase_restart' => 'Restarting services',
// Status messages
'elapsed' => 'Elapsed time',
diff --git a/resources/views/livewire/versions/index.blade.php b/resources/views/livewire/versions/index.blade.php
index 772b808..ad7ca2b 100644
--- a/resources/views/livewire/versions/index.blade.php
+++ b/resources/views/livewire/versions/index.blade.php
@@ -40,32 +40,35 @@
{{-- Honest status banner — installed version vs. newest release tag in the channel --}}
$isUpdate,
'border-line' => ! $isUpdate,
])>
-
$isUpdate,
- 'border-accent/25 bg-accent/10 text-accent-text' => ! $isUpdate,
- ])>
-
-
-
-
- Clusev v{{ $version }}
- {{ __('versions.channel_badge', ['channel' => $channel]) }}
- @if ($latestTag)
- {{ __('versions.latest_release_badge', ['tag' => $latestTag]) }}
- @endif
-
-
- @if ($updateStatus)
- {{ $updateStatus }}
- @else
- {{ __('versions.banner_default') }}
- @endif
-
+ {{-- Icon + version/badges block --}}
+
+
$isUpdate,
+ 'border-accent/25 bg-accent/10 text-accent-text' => ! $isUpdate,
+ ])>
+
+
+
+
+ Clusev v{{ $version }}
+ {{ __('versions.channel_badge', ['channel' => $channel]) }}
+ @if ($latestTag)
+ {{ __('versions.latest_release_badge', ['tag' => $latestTag]) }}
+ @endif
+
+
+ @if ($updateStatus)
+ {{ $updateStatus }}
+ @else
+ {{ __('versions.banner_default') }}
+ @endif
+
+
{{-- One-click update: writes the update sentinel; a host watcher runs update.sh. Mirrors
the System restart button (direct click → "running" notice via a flag — not
@@ -73,34 +76,30 @@
@if ($updateRequested)
{{-- Poll until the rebuilt stack reports a newer version (pollUpdate flips the state +
fires a success toast). Survives the rebuild downtime: failed polls just retry. --}}
-
+
{{ __('versions.update_running') }}
@elseif ($isUpdate)
-
+
{{ __('versions.update_now') }}
@endif
@if ($lastChecked)
- {{ __('versions.checked_at', ['time' => $lastChecked]) }}
+ {{ __('versions.checked_at', ['time' => $lastChecked]) }}
@endif
{{-- Release history BY VERSION --}}
-
+
@forelse ($releases as $rel)
-
-
- $loop->first, 'bg-ink-4' => ! $loop->first])>
- @unless ($loop->last) @endunless
-
-
- {{-- Version + date header --}}
-
+ @if ($loop->first)
+ {{-- Latest version: always open, not collapsible --}}
+
+
@if ($rel['unreleased'])
{{ __('versions.unreleased') }}
{{ __('versions.in_progress') }}
@@ -111,9 +110,7 @@
@endif
@endif
-
- {{-- Grouped changes --}}
-
+
@foreach ($rel['groups'] as $group => $items)
@@ -131,9 +128,42 @@
@endforeach
-
+ @else
+ {{-- Older versions: collapsible
accordion --}}
+
+
+
+ @if ($rel['unreleased'])
+ {{ __('versions.unreleased') }}
+ {{ __('versions.in_progress') }}
+ @else
+ v{{ $rel['version'] }}
+ @if ($rel['date'])
+ {{ $rel['date'] }}
+ @endif
+ @endif
+
+
+ @foreach ($rel['groups'] as $group => $items)
+
+
+ {{ $sectionLabel($group) }}
+
+
+ @foreach ($items as $text)
+
+
+ {{ $text }}
+
+ @endforeach
+
+
+ @endforeach
+
+
+ @endif
@empty
- {{ __('versions.changelog_empty') }}
+ {{ __('versions.changelog_empty') }}
@endforelse
diff --git a/tests/Feature/UpdateProgressTest.php b/tests/Feature/UpdateProgressTest.php
index e99a50a..753aaa6 100644
--- a/tests/Feature/UpdateProgressTest.php
+++ b/tests/Feature/UpdateProgressTest.php
@@ -188,9 +188,9 @@ class UpdateProgressTest extends TestCase
$body = $this->get(route('update.progress'))->content();
// German labels (default locale in tests)
- $this->assertStringContainsString('Holen', $body);
- $this->assertStringContainsString('Bauen', $body);
- $this->assertStringContainsString('Migrieren', $body);
- $this->assertStringContainsString('Neustart', $body);
+ $this->assertStringContainsString('Update wird abgerufen', $body);
+ $this->assertStringContainsString('Image wird erstellt', $body);
+ $this->assertStringContainsString('Datenbank wird migriert', $body);
+ $this->assertStringContainsString('Dienste werden neu gestartet', $body);
}
}