diff --git a/public/img/sponsors/always-curious-stacked.png b/public/img/sponsors/always-curious-stacked.png new file mode 100644 index 000000000..ac9974d3b Binary files /dev/null and b/public/img/sponsors/always-curious-stacked.png differ diff --git a/public/img/sponsors/always-curious.png b/public/img/sponsors/always-curious.png new file mode 100644 index 000000000..2d75a77f7 Binary files /dev/null and b/public/img/sponsors/always-curious.png differ diff --git a/public/img/sponsors/always-curious.svg b/public/img/sponsors/always-curious.svg new file mode 100644 index 000000000..dd97485d2 --- /dev/null +++ b/public/img/sponsors/always-curious.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/views/components/home/featured-partner-card.blade.php b/resources/views/components/home/featured-partner-card.blade.php index 4c52b8e9c..b00169ea2 100644 --- a/resources/views/components/home/featured-partner-card.blade.php +++ b/resources/views/components/home/featured-partner-card.blade.php @@ -8,14 +8,24 @@ @php $computedTitle = $title ?? "Learn more about {$partnerName}"; + + // Determine if link is external by comparing hosts + $isExternal = false; + if (str_starts_with($href, 'http://') || str_starts_with($href, 'https://')) { + $hrefHost = parse_url($href, PHP_URL_HOST); + $currentHost = request()->getHost(); + $isExternal = $hrefHost !== $currentHost; + } @endphp
{{ $logo }}
diff --git a/resources/views/components/home/partners.blade.php b/resources/views/components/home/partners.blade.php index 4439d3890..3d4961812 100644 --- a/resources/views/components/home/partners.blade.php +++ b/resources/views/components/home/partners.blade.php @@ -79,6 +79,27 @@ class="dark:fill-white" + + + Always Curious logo + + + + A strategy-led Laravel consultancy building native desktop and mobile apps with NativePHP. From fintech to field service and live events, they ship the simplest path to the right answer. + + + + {{-- Synergi Tech - Hidden per client request (kept for reference) --}} + @if(false) + @endif {{-- Partner CTA --}}
'https://artisan.build/?utm_source=nativephp&utm_medium=logo&utm_campaign=nativephp', - 'name' => 'Artisan Build', - 'image' => '/img/sponsors/artisan-build.webp', - 'imageDark' => '/img/sponsors/artisan-build-dark.webp', - ], + // Artisan Build - Hidden per client request (kept for reference) + // [ + // 'url' => 'https://artisan.build/?utm_source=nativephp&utm_medium=logo&utm_campaign=nativephp', + // 'name' => 'Artisan Build', + // 'image' => '/img/sponsors/artisan-build.webp', + // 'imageDark' => '/img/sponsors/artisan-build-dark.webp', + // ], [ 'url' => 'https://beyondco.de/?utm_source=nativephp&utm_medium=logo&utm_campaign=nativephp', 'name' => 'BeyondCode', @@ -18,12 +19,13 @@ 'component' => 'sponsors.logos.laradevs', 'class' => 'h-6 w-auto text-black dark:text-white', ], - [ - 'url' => 'https://statamic.com/?utm_source=nativephp&utm_medium=logo&utm_campaign=nativephp', - 'name' => 'Statamic', - 'image' => '/img/sponsors/statamic.svg', - 'imageDark' => '/img/sponsors/statamic-dark.svg', - ], + // Statamic - Hidden per client request (kept for reference) + // [ + // 'url' => 'https://statamic.com/?utm_source=nativephp&utm_medium=logo&utm_campaign=nativephp', + // 'name' => 'Statamic', + // 'image' => '/img/sponsors/statamic.svg', + // 'imageDark' => '/img/sponsors/statamic-dark.svg', + // ], ]; @endphp diff --git a/resources/views/components/partner-profile.blade.php b/resources/views/components/partner-profile.blade.php new file mode 100644 index 000000000..1f8979b00 --- /dev/null +++ b/resources/views/components/partner-profile.blade.php @@ -0,0 +1,170 @@ + +
+ {{-- Hero --}} +
+
+ {{-- Partner Logo --}} + @if (isset($logo)) +
+ {{ $logo }} +
+ @endif + + {{-- Tagline --}} +

+ {{ $tagline }} +

+ + {{-- Introduction --}} + @if (isset($introduction)) +
+ {{ $introduction }} +
+ @endif +
+
+ + {{-- Featured Project --}} + @if (isset($featuredProject)) +
+
+ {{ $featuredProject }} +
+
+ @endif + + {{-- What We Build --}} + @if (isset($whatWeBuild)) +
+
+

+ Services +

+
+ {{ $whatWeBuild }} +
+
+
+ @endif + + {{-- Why Teams Work With Us --}} + @if (isset($whyWorkWithUs)) +
+
+

+ What Sets Them Apart +

+
+ {{ $whyWorkWithUs }} +
+
+
+ @endif + + {{-- Contact --}} + @if (isset($contact)) +
+
+

+ Get In Touch +

+
+ {{ $contact }} +
+
+
+ @endif +
+
diff --git a/resources/views/consulting.blade.php b/resources/views/consulting.blade.php index 07e031be5..f80c1c3f7 100644 --- a/resources/views/consulting.blade.php +++ b/resources/views/consulting.blade.php @@ -495,6 +495,24 @@ class="text-center text-3xl font-semibold" " class="mt-8 grid grid-cols-1 gap-5 md:grid-cols-2" > + + + Always Curious logo + + + Always Curious is a strategy-led Laravel consultancy building native desktop and mobile apps with NativePHP. From fintech to field service and live events, we ship the simplest path to the right answer. + + + - - - Synergi Tech logo - - - - Synergi Tech are an established bespoke software development agency in the UK, specialising in business management and high-growth, complex infrastructure. - - + {{-- Synergi Tech - Hidden per client request (kept for reference) --}} + @if(false) + + + Synergi Tech logo + + + + Synergi Tech are an established bespoke software development agency in the UK, specialising in business management and high-growth, complex infrastructure. + + + @endif
diff --git a/resources/views/partners.blade.php b/resources/views/partners.blade.php index 1bb1a645b..982063ae6 100644 --- a/resources/views/partners.blade.php +++ b/resources/views/partners.blade.php @@ -701,6 +701,27 @@ class="dark:fill-white" + + + Always Curious logo + + + + Always Curious is a strategy-led Laravel consultancy building native desktop and mobile apps with NativePHP. From fintech to field service and live events, we ship the simplest path to the right answer. + + + + {{-- Synergi Tech - Hidden per client request (kept for reference) --}} + @if(false) + @endif diff --git a/resources/views/partners/always-curious.blade.php b/resources/views/partners/always-curious.blade.php new file mode 100644 index 000000000..fad343b3e --- /dev/null +++ b/resources/views/partners/always-curious.blade.php @@ -0,0 +1,117 @@ + + + Always Curious logo + + + +

+ Always Curious is a technology consultancy based in Richmond, Virginia. They work across software strategy, platform architecture, and creative design for teams in fintech, field service, aerospace, nonprofit, and live events. +

+

+ Every engagement starts with one question: what's the simplest path that will still be the right answer in three years? NativePHP is often that answer. It lets their clients turn proven Laravel codebases and teams into real native apps without standing up a second stack. +

+
+ + +

+ Featured Project: Event Ticket Scanner +

+ +
+

+ eventticketscanner.com +

+ +

+ Door check-in for Event Tickets (The Events Calendar plugin), built entirely in Laravel with NativePHP for Mobile v4. Point the camera at a ticket and get an unmistakable full-screen answer: green for admit, amber for already checked in (with who and when), red for invalid, each with its own haptic buzz. No Wi-Fi at the venue? It keeps scanning with offline mode. +

+ + + +

+ Stack: Laravel, NativePHP Mobile v4 (SuperNative), SQLite, and a companion WordPress plugin sharing one OpenAPI contract. +

+
+ + + + + + + + + + + +

+ Always Curious partners with teams who need a Laravel app to go native, or an idea that needs a partner who operates beyond launch. +

+ +
+
+
+ Tim Wood +
+
+ Co-Founder and Principal Architect +
+ + tim@alwayscurious.co + +
+ +
+
+ Laurie Wood +
+
+ Co-Founder and Chief Strategy Officer +
+ + laurie@alwayscurious.co + +
+ + +
+
+ diff --git a/routes/web.php b/routes/web.php index 3bb8d9cb3..8bbba1927 100644 --- a/routes/web.php +++ b/routes/web.php @@ -231,6 +231,7 @@ Route::view('terms-of-service', 'terms-of-service')->name('terms-of-service'); Route::view('developer-terms', 'developer-terms')->name('developer-terms'); Route::view('partners', 'partners')->name('partners'); +Route::view('partners/always-curious', 'partners.always-curious')->name('partners.always-curious'); Route::view('build-my-app', 'build-my-app')->name('build-my-app'); Route::view('consulting', 'consulting')->name('consulting'); Route::view('the-vibes', 'the-vibes')->name('the-vibes'); diff --git a/tests/Feature/SponsorsAndPartnersPlacementTest.php b/tests/Feature/SponsorsAndPartnersPlacementTest.php index fec4d3cdf..148f3bc9f 100644 --- a/tests/Feature/SponsorsAndPartnersPlacementTest.php +++ b/tests/Feature/SponsorsAndPartnersPlacementTest.php @@ -49,13 +49,13 @@ public function the_sidebar_partners_list_rotates_through_every_entry_it_is_give } #[Test] - public function the_home_page_sponsor_strip_includes_statamic() + public function the_home_page_sponsor_strip_includes_beyondcode() { $this->get(route('welcome')) ->assertOk() - ->assertSee('https://statamic.com/?utm_source=nativephp&utm_medium=logo&utm_campaign=nativephp') - ->assertSee('/img/sponsors/statamic.svg') - ->assertSee('/img/sponsors/statamic-dark.svg'); + ->assertSee('https://beyondco.de/?utm_source=nativephp&utm_medium=logo&utm_campaign=nativephp') + ->assertSee('/img/sponsors/beyondcode.webp') + ->assertSee('/img/sponsors/beyondcode-dark.webp'); } #[Test]