CluPilotCloud/resources/views/livewire/admin
Claude f6b9181ed8
tests / pest (push) Successful in 7m55s Details
tests / assets (push) Successful in 20s Details
tests / release (push) Successful in 6s Details
Give customers two-factor, and stop every button on the settings page reacting at once
Clicking Save made every button on the console's settings page appear to fire.
Seven `wire:loading.attr="disabled"` had no `wire:target`, and without one
Livewire applies the loading state to ANY request on the component — so one save
put all of them into their disabled state simultaneously. Each names its own
action now.

Two-factor for customers. Fortify's endpoints already existed; only the screen
was missing. Setting up requires re-entering the password first, and every
action re-checks that server-side rather than relying on the button not being on
screen — a Livewire action is reachable by anyone who can post to
/livewire/update. The confirmation marker is Laravel's own session key, so it
and the framework's password.confirm middleware mean the same thing rather than
drifting apart.

The secret never enters a Livewire property. Component state travels to the
browser and back in the snapshot; the QR image is derived from the secret, the
secret is not in it — and there is a test that says so.

The status page moves to the ROOT of its hostname: status.clupilot.com/status
says the same word twice. That needed the domain-bound `/` registered BEFORE the
landing page, because Laravel takes the first match and the landing route is
host-agnostic — so the status host would have served the marketing site.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 08:48:34 +02:00
..
confirm-delete-datacenter.blade.php fix(ui): make modal cancel buttons work; serve the app over the HTTPS domains 2026-07-25 21:24:03 +02:00
confirm-delete-plan-draft.blade.php feat(admin): a console for creating, pricing and scheduling plans 2026-07-26 12:41:51 +02:00
confirm-delete-vpn-peer.blade.php feat(admin): VPN access management with live peer state 2026-07-25 21:38:12 +02:00
confirm-remove-host.blade.php fix(ui): make modal cancel buttons work; serve the app over the HTTPS domains 2026-07-25 21:24:03 +02:00
customers.blade.php feat(admin): administrator access to a customer's Nextcloud 2026-07-26 05:30:59 +02:00
datacenters.blade.php fix(admin): no admin lockout (is_admin fallback); centered modal width; datacenter edit modal + country dropdown 2026-07-25 18:09:17 +02:00
edit-datacenter.blade.php Let people change their own password, and a location be switched off while editing it 2026-07-27 07:49:07 +02:00
host-create.blade.php feat(admin): datacenters management (create + select) 2026-07-25 13:25:17 +02:00
host-detail.blade.php feat(admin): host reserve edit + maintenance drain; customer suspend/reactivate 2026-07-25 14:30:21 +02:00
hosts.blade.php feat(admin): scalable host list (search/filter/health) + host detail redesign 2026-07-25 14:27:53 +02:00
instance-admin-access.blade.php feat(admin): administrator access to a customer's Nextcloud 2026-07-26 05:30:59 +02:00
instances.blade.php Report the estate from the database, and print the traffic that is sold 2026-07-27 04:48:51 +02:00
maintenance.blade.php fix(maintenance): make the window form usable 2026-07-25 23:05:33 +02:00
overview.blade.php Report the estate from the database, and print the traffic that is sold 2026-07-27 04:48:51 +02:00
plan-versions.blade.php Make the console's access list reach the proxy, price in euros, and answer errors 2026-07-27 06:51:05 +02:00
plans.blade.php feat(admin): a console for creating, pricing and scheduling plans 2026-07-26 12:41:51 +02:00
provisioning.blade.php feat(admin): provisioning liveness — per-run progress bar, last-activity, stale warning 2026-07-25 18:11:17 +02:00
revenue.blade.php Report the estate from the database, and print the traffic that is sold 2026-07-27 04:48:51 +02:00
settings.blade.php Give customers two-factor, and stop every button on the settings page reacting at once 2026-07-27 08:48:34 +02:00
vpn-config-access.blade.php feat(vpn): ownership, a Developer role, and password-gated config retrieval 2026-07-25 22:31:54 +02:00
vpn.blade.php Make the console's access list reach the proxy, price in euros, and answer errors 2026-07-27 06:51:05 +02:00