diff --git a/VERSION b/VERSION index 95b25ae..3336003 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.3.6 +1.3.7 diff --git a/lang/de/coming_soon.php b/lang/de/coming_soon.php index 7bc21c1..366bc12 100644 --- a/lang/de/coming_soon.php +++ b/lang/de/coming_soon.php @@ -6,4 +6,13 @@ return [ 'contact' => 'Fragen beantworten wir gern:', 'label' => 'Betriebszustand', 'state' => 'In Vorbereitung', + + // The three promises already made in the body text, set as their own line + // so the page has something to look at besides one paragraph. + 'points' => [ + 'operated' => 'Betreut', + 'backed_up' => 'Täglich gesichert', + 'current' => 'Aktuell gehalten', + ], + 'write' => 'Schreiben Sie uns', ]; diff --git a/lang/en/coming_soon.php b/lang/en/coming_soon.php index ca10487..cfd9990 100644 --- a/lang/en/coming_soon.php +++ b/lang/en/coming_soon.php @@ -6,4 +6,13 @@ return [ 'contact' => 'Questions are welcome:', 'label' => 'Service status', 'state' => 'Being prepared', + + // The three promises already made in the body text, set as their own line + // so the page has something to look at besides one paragraph. + 'points' => [ + 'operated' => 'Operated', + 'backed_up' => 'Backed up daily', + 'current' => 'Kept current', + ], + 'write' => 'Write to us', ]; diff --git a/resources/views/coming-soon.blade.php b/resources/views/coming-soon.blade.php index 9e1a8a5..4e82f36 100644 --- a/resources/views/coming-soon.blade.php +++ b/resources/views/coming-soon.blade.php @@ -12,83 +12,148 @@ Self-contained on purpose: this is shown while the application is mid-deploy or freshly installed, which is exactly when the Vite manifest may not exist. Pulling it in through @vite would throw an exception instead of rendering - the reassurance the visitor came for. + the reassurance the visitor came for. Every value below is a copy of a token + from resources/css/portal-tokens.css, which is the price of that. The fonts are the site's own static files. If they are missing the page - degrades to a system serif and still reads correctly. + degrades to a system sans and still reads correctly. --}} @verbatim @endverbatim
-
-
- {{ __('coming_soon.label') }} - {{ __('coming_soon.state') }} -
-
- CluPilot Cloud -

{{ __('coming_soon.title') }}

-

{{ __('coming_soon.body') }}

-

{{ __('coming_soon.contact') }} - office@clupilot.com -

-
+ {{ __('coming_soon.state') }} + +
+ {{-- The real mark — cloud plus autopilot ascent — not the plain gradient + tile that stood here. A brand square with nothing in it reads as an + image that failed to load, which on a "we are still building" page is + the last impression to leave. --}} + + CluPilot Cloud
+ +

{{ __('coming_soon.title') }}

+

{{ __('coming_soon.body') }}

+ +
+ @foreach (['operated', 'backed_up', 'current'] as $point) + + + {{ __("coming_soon.points.{$point}") }} + + @endforeach +
+ +
+

{{ __('coming_soon.contact') }}

+ + + office@clupilot.com + +
+ +

clupilot.com

diff --git a/tests/Feature/SiteDesignSystemTest.php b/tests/Feature/SiteDesignSystemTest.php index f346b51..19ad938 100644 --- a/tests/Feature/SiteDesignSystemTest.php +++ b/tests/Feature/SiteDesignSystemTest.php @@ -94,3 +94,33 @@ it('does not leave the old marketing stylesheet behind anywhere', function () { ->not->toContain('Plex Serif'); } }); + +it('does not space the wordmark out into separate words', function () { + // It went out reading "Clu Pilot Cloud". `gap` on a flex container applies + // between EVERY child, and a bare text node is a child — so an inline-flex + // row wrapped around "Clu", Pilot and " Cloud" put nine pixels + // between each of them. + // + // The rule that prevents it: the mark and the wordmark are the only two + // children of the flex row, and the wordmark is one element. + $source = File::get(resource_path('views/coming-soon.blade.php')); + + expect($source)->toContain('CluPilot') + ->and($source)->not->toContain('CluPilot'); +}); + +it('draws the actual mark on the placeholder, not an empty tile', function () { + // It was a plain gradient square. A brand tile with nothing in it reads as + // an image that failed to load — on a "we are still building" page that is + // the last impression to leave. + // + // Inlined rather than pulled from x-ui.logo: this page renders when the + // asset build may not exist, and a Blade component is fine but the SVG has + // to be in the file either way. + $source = File::get(resource_path('views/coming-soon.blade.php')); + + expect($source)->toContain('viewBox="0 0 64 64"') + // The ascent triangle — the part that makes it a mark rather than a + // rounded rectangle. + ->and($source)->toContain('M32 17 44 44l-12-6-12 6z'); +});