diff --git a/VERSION b/VERSION index 7962dcf..085c0f2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.3.13 +1.3.14 diff --git a/lang/de/admin_settings.php b/lang/de/admin_settings.php index 4bc7c17..ac01dd3 100644 --- a/lang/de/admin_settings.php +++ b/lang/de/admin_settings.php @@ -190,4 +190,12 @@ return [ 'weekday' => [ 1 => 'Mo', 2 => 'Di', 3 => 'Mi', 4 => 'Do', 5 => 'Fr', 6 => 'Sa', 7 => 'So', ], + + // The page's outline. It had none — eight cards of equal weight in one + // column, with the operator's own password between two platform switches. + 'group' => [ + 'installation' => 'Installation', + 'account' => 'Mein Konto', + 'team' => 'Team & Zugriff', + ], ]; diff --git a/lang/en/admin_settings.php b/lang/en/admin_settings.php index 96b2131..427d5ea 100644 --- a/lang/en/admin_settings.php +++ b/lang/en/admin_settings.php @@ -189,4 +189,12 @@ return [ 'weekday' => [ 1 => 'Mon', 2 => 'Tue', 3 => 'Wed', 4 => 'Thu', 5 => 'Fri', 6 => 'Sat', 7 => 'Sun', ], + + // The page's outline. It had none — eight cards of equal weight in one + // column, with the operator's own password between two platform switches. + 'group' => [ + 'installation' => 'Installation', + 'account' => 'My account', + 'team' => 'Team & access', + ], ]; diff --git a/resources/views/livewire/admin/settings.blade.php b/resources/views/livewire/admin/settings.blade.php index 8172fb2..f4229f1 100644 --- a/resources/views/livewire/admin/settings.blade.php +++ b/resources/views/livewire/admin/settings.blade.php @@ -1,508 +1,552 @@ -
{{ __('admin_settings.subtitle') }}
{{ __('admin_settings.update_only_releases') }}
- @endif - - {{-- Where it is. "Läuft gerade" alone is what sends an operator to - the shell: a queued update does nothing visible until the agent - picks it up, and while it runs the site is in maintenance mode - and this page is unreachable. Both look identical to "wedged" - without a time — hence the live countdown, replacing what used - to be a static "spätestens um 17:19" that read as a promise - nothing then visibly kept. - - There is no countdown any more, for either. It was wrong in - fact — the target was recomputed on every poll, and where the - interval the agent reported was shorter than the timer actually - installed on that host it landed in the past every time and - reset to a full minute, so it ran backwards a few seconds and - jumped, forever. And it was wrong in kind: a check starts - nothing, and an update now starts at once. A queued run says so - in a sentence; a queued check says nothing beyond its badge. --}} - {{-- And the step is NOT shown here. - - It used to be, in a small bordered block inside this card, and - the moment a run began an operator saw it appear and then, up - to three seconds later, saw the full-page overlay cover it and - say the same thing in a different size. Two windows for one - event. The overlay in layouts/admin carries the step, the - running time and the log tail — it is the one that survives the - restart, so it is the one that keeps them. --}} - - {{-- The window. Deliberately inside the update card rather than a - section of its own: it is the same decision as the button next - to it, only taken in advance. --}} -{{ $message }}
@enderror -{{ $message }}
@enderror -{{ $message }}
@enderror -- @if ($autoUpdate) - {{ __('admin_settings.auto_next', [ - 'days' => collect($autoDays)->sort()->map(fn ($d) => __('admin_settings.weekday.'.$d))->join(', '), - 'from' => $autoFrom, - 'to' => $autoTo, - ]) }} - @else - {{ __('admin_settings.auto_off') }} - @endif -
-- {{ __('admin_settings.update_last_run', [ - 'state' => __('admin_settings.update_state.'.$update['last_state']), - 'when' => $update['last_finished_at']?->diffForHumans() ?? '—', - ]) }} - @if ($update['last_started_at'] && $update['last_finished_at']) - · {{ __('admin_settings.update_took', ['duration' => $update['last_started_at']->diffForHumans($update['last_finished_at'], true)]) }} - @endif - {{-- Only on a failure: on a run that worked the last step is - "left maintenance mode", which says nothing. --}} - @if ($update['last_state'] === 'failed' && $update['last_phase']) - · {{ __('admin_settings.update_failed_at', ['step' => $update['last_phase']]) }} - @endif -
- @endif - - {{-- Open while it runs: "läuft gerade" on its own tells an operator - nothing about whether it is progressing or wedged. --}} - @if ($updateLog) -{{ $updateLog }}
- - {{ $sitePublic ? __('admin_settings.site_public_body') : __('admin_settings.site_hidden_body') }} -
-- {{ __('admin_settings.site_your_view', ['ip' => request()->ip()]) }} - - {{ $viewerOnVpn ? __('admin_settings.site_via_vpn') : __('admin_settings.site_not_vpn') }} - -
-- {{ $consoleRestricted ? __('admin_settings.console_locked_body') : __('admin_settings.console_open_body') }} -
-- {{ __('admin_settings.console_your_ip', ['ip' => $viewerIp]) }} -
-{{ __('admin_settings.console_always') }}
- @foreach ($consoleVpnRanges as $range) -{{ __('admin_settings.console_extra') }}
- @forelse ($consoleIps as $ip) -{{ __('admin_settings.console_none') }}
- @endforelse - - {{-- The hint sits under the row, not inside it: as a sibling of - the field it made the flex row as tall as field-plus-hint, - and the button stretched to match. --}} - -{{ __('admin_settings.two_factor_body') }}
- - - @error('requireTwoFactor'){{ $message }}
@enderror -