From 8f9095ab6d72ff6f40f06fb91216e1ec6a1bdbfc Mon Sep 17 00:00:00 2001 From: Simon Hamp Date: Wed, 15 Jul 2026 16:14:12 +0100 Subject: [PATCH] Move BeyondCode & Laradevs to sponsors, list partners on /partners page Move BeyondCode and Laradevs out of the home "Partners" section and into the home "Sponsored by" strip (logos only, no descriptions). The sponsors template now renders SVG logo components alongside images so Laradevs can appear without a raster asset. Add a "Meet Our Partners" section to the bottom of the /partners page listing the current partners (Nexcalia, Web Mavens, Synergi Tech), reusing the existing featured-partner-card component. Add feature tests covering the placement changes. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../views/components/home/partners.blade.php | 50 ------- .../views/components/home/sponsors.blade.php | 44 +++++-- resources/views/partners.blade.php | 122 +++++++++++++++++- .../SponsorsAndPartnersPlacementTest.php | 55 ++++++++ 4 files changed, 208 insertions(+), 63 deletions(-) create mode 100644 tests/Feature/SponsorsAndPartnersPlacementTest.php diff --git a/resources/views/components/home/partners.blade.php b/resources/views/components/home/partners.blade.php index d0f8cc9f..4439d389 100644 --- a/resources/views/components/home/partners.blade.php +++ b/resources/views/components/home/partners.blade.php @@ -108,56 +108,6 @@ class="hidden dark:block" - - - - - - - BeyondCode logo - PHP development tools and packages - - - - - From local full stack development to cutting-edge AI - platforms, we provide the tools for building your next - great app. - - - {{-- Partner CTA --}}
'/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', + 'image' => '/img/sponsors/beyondcode.webp', + 'imageDark' => '/img/sponsors/beyondcode-dark.webp', + ], + [ + 'url' => 'https://laradevs.com/?ref=nativephp', + 'name' => 'Laradevs', + 'component' => 'sponsors.logos.laradevs', + 'class' => 'h-6 w-auto text-black dark:text-white', + ], ]; @endphp @@ -51,18 +63,26 @@ class="text-sm font-medium tracking-wide text-gray-500 uppercase dark:text-zinc- rel="noopener noreferrer sponsored" class="opacity-70 transition duration-200 hover:opacity-100" > - {{ $sponsor['name'] }} logo - + @if (isset($sponsor['component'])) +
diff --git a/tests/Feature/SponsorsAndPartnersPlacementTest.php b/tests/Feature/SponsorsAndPartnersPlacementTest.php new file mode 100644 index 00000000..9a687168 --- /dev/null +++ b/tests/Feature/SponsorsAndPartnersPlacementTest.php @@ -0,0 +1,55 @@ +blade('') + ->assertSee('Nexcalia') + ->assertSee('Web Mavens') + ->assertDontSee('Laradevs') + ->assertDontSee('BeyondCode') + ->assertDontSee('Need a freelancer or engineer?') + ->assertDontSee('From local full stack development'); + } + + #[Test] + public function the_sponsors_section_lists_beyondcode_and_laradevs_without_descriptions() + { + $this->blade('') + ->assertSee('Artisan Build') + ->assertSee('BeyondCode') + ->assertSee('Laradevs') + ->assertDontSee('Need a freelancer or engineer?') + ->assertDontSee('From local full stack development'); + } + + #[Test] + public function the_homepage_drops_the_partner_descriptions_for_beyondcode_and_laradevs() + { + $this->get('/') + ->assertOk() + ->assertDontSee('Need a freelancer or engineer?') + ->assertDontSee('From local full stack development'); + } + + #[Test] + public function the_partners_page_lists_the_current_partners() + { + $this->get(route('partners')) + ->assertOk() + ->assertSee('Meet Our Partners') + ->assertSee('Nexcalia') + ->assertSee('Web Mavens') + ->assertSee('Synergi Tech'); + } +}