CluPilotCloud/resources/views/livewire
nexxo 17a6fabcc2
tests / pest (push) Failing after 11m28s Details
tests / assets (push) Successful in 19s Details
tests / release (push) Has been skipped Details
One wordmark, one typeface, and the address the server actually issues
Reported as "logo and font are different everywhere" — maintenance page,
customer panel, console, homepage. They were. Counting them up: the site
header set the name in ink at -0.02em, the sidebar split it into "Clu" plus
an orange "Pilot", the sign-in plate set it white at a third size, the
customer two-factor page set it in MONO with no mark at all, the error pages
and the placeholder each inlined their own — and the maintenance screen had
no wordmark whatsoever. Nine surfaces, seven ideas of the brand.

There is one now: resources/views/components/ui/brand.blade.php. Mark plus
wordmark in one piece, in ink, with an optional muted "Cloud". No orange half
— that made the accent a permanent fixture instead of something used
sparingly. The four places that cannot use a Blade component (the two
self-contained pages, the error layout, the mail layout) inline it and are
held to the same shape by a test.

The typeface. The console loads IBM Plex through Vite; the 503 page has no
stylesheet at all, so the maintenance screen — the one page shown when
somebody is already worried — was rendering in the system sans. It declares
the fonts itself now. And the bold weight was missing from public/fonts
entirely: the placeholder and the error pages both asked for
ibm-plex-sans-latin-700-normal.woff2, which was not there. A @font-face
pointing at nothing fails silently, which is why nobody noticed.

The error pages carried the same two faults the placeholder shipped with: an
empty gradient tile where the mark belongs, and `gap` on an inline-flex row
spacing "Clu", "Pilot" and "Cloud" apart as three separate words.

And the price sheet promised "Adresse auf clupilot.cloud" — a domain the
company does not own — while provisioning was issuing addresses under
whatever CLUPILOT_DNS_ZONE says. It is assembled from that setting now, the
same reason the prices are read from the catalogue rather than typed into the
page.

welcome.blade.php removed: Laravel's leftover, reachable from no route.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 14:30:44 +02:00
..
admin Let the owner mark one plan as recommended, from the console 2026-07-29 14:22:22 +02:00
auth One wordmark, one typeface, and the address the server actually issues 2026-07-29 14:30:44 +02:00
backups.blade.php Match the panel to the approved template, measured rather than assumed 2026-07-27 17:08:05 +02:00
billing.blade.php Skip the invoice for a full gift, keep it out of revenue, hide its price 2026-07-29 12:41:32 +02:00
cloud.blade.php Show times on the operator's clock, keep storing them in UTC 2026-07-27 17:32:21 +02:00
confirm-cancel-package.blade.php One definition of the navigation, and the country instead of the building 2026-07-27 16:09:39 +02:00
confirm-close-account.blade.php One definition of the navigation, and the country instead of the building 2026-07-27 16:09:39 +02:00
confirm-disable-two-factor.blade.php Replace native confirm() dialogs with the app's own modal pattern 2026-07-28 19:34:27 +02:00
confirm-end-other-sessions.blade.php Show where an account is signed in, and let it sign the other places out 2026-07-28 23:38:17 +02:00
confirm-remove-order.blade.php feat(billing): a cart you can actually read and change 2026-07-26 05:26:49 +02:00
confirm-revoke-seat.blade.php Replace native confirm() dialogs with the app's own modal pattern 2026-07-28 19:34:27 +02:00
customer-provisioning.blade.php One definition of the navigation, and the country instead of the building 2026-07-27 16:09:39 +02:00
dashboard.blade.php Stop mailing the initial admin password, hold it in the panel until noted 2026-07-28 23:19:20 +02:00
edit-mailbox.blade.php Let a mailbox send without a password when it never needed one 2026-07-28 05:54:21 +02:00
edit-seat.blade.php Editing in modals, an update button that is not gated on a stale reading, and a support page that is real 2026-07-27 17:55:49 +02:00
invoices.blade.php Match the panel to the approved template, measured rather than assumed 2026-07-27 17:08:05 +02:00
new-support-request.blade.php Editing in modals, an update button that is not gated on a stale reading, and a support page that is real 2026-07-27 17:55:49 +02:00
sessions.blade.php Show where an account is signed in, and let it sign the other places out 2026-07-28 23:38:17 +02:00
settings.blade.php Show where an account is signed in, and let it sign the other places out 2026-07-28 23:38:17 +02:00
support.blade.php Editing in modals, an update button that is not gated on a stale reading, and a support page that is real 2026-07-27 17:55:49 +02:00
users.blade.php Replace native confirm() dialogs with the app's own modal pattern 2026-07-28 19:34:27 +02:00