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); } }