CluPilotCloud/resources/views
nexxo 8479fc30f8 Fix the checkout link, and stop the switch moving under the cursor
**Every package button led to "Dieses Paket steht nicht (mehr) zum
Verkauf".** The link was built as route() plus "?term=" + term — but both
are QUERY parameters on this route, so route() had already opened the
query string and the result was `?plan=team?term=monthly`. The package
arrived as the whole string "team?term=monthly", matched nothing in the
catalogue, and the page said so politely while giving no hint why. The
address now comes from route() in one piece with a placeholder swapped
into it, and a test asserts every checkout link on the page contains
exactly one question mark.

**The saving moved the buttons it belonged to.** It hung under the switch
and was hidden on the yearly view, so choosing a term shifted the very
control that chooses it. It sits above now and never disappears: one line,
two wordings — an offer while it is an offer, a statement once it is
taken. Same on the public sheet, where its vanishing re-centred the row.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 16:05:56 +02:00
..
components Give the order a checkout page, and stop hiding what a year costs 2026-07-30 16:00:08 +02:00
errors One wordmark, one typeface, and the address the server actually issues 2026-07-29 14:30:44 +02:00
layouts Show that the update is running, and stop showing the rsync log 2026-07-29 20:33:02 +02:00
legal Accept terms instead of a start date, and fix the sender no server accepts 2026-07-30 15:22:35 +02:00
livewire Fix the checkout link, and stop the switch moving under the cursor 2026-07-30 16:05:56 +02:00
mail Accept terms instead of a start date, and fix the sender no server accepts 2026-07-30 15:22:35 +02:00
partials Show that the update is running, and stop showing the rsync log 2026-07-29 20:33:02 +02:00
pdf Issue an invoice from what somebody bought, and freeze it there 2026-07-29 02:09:05 +02:00
vendor/wire-elements-modal R24: a modal is never taller than the screen 2026-07-29 23:33:57 +02:00
coming-soon.blade.php One wordmark, one typeface, and the address the server actually issues 2026-07-29 14:30:44 +02:00
landing.blade.php Fix the checkout link, and stop the switch moving under the cursor 2026-07-30 16:05:56 +02:00
legal.blade.php Accept terms instead of a start date, and fix the sender no server accepts 2026-07-30 15:22:35 +02:00
security.blade.php Put customer instances on their own domain, and say which domains are ours 2026-07-29 16:03:13 +02:00
status.blade.php Rebuild the status page as a status page 2026-07-29 12:45:18 +02:00