Skip to content

Commit 8a68d64

Browse files
simonhampclaude
andcommitted
feat(the-vibes): add Jump24 sponsor, event logo, schedule & prospectus partners
- Add Jump24 as a sponsor on /the-vibes (new logo component) - Extract the sponsor grid into a shared, data-driven <x-sponsors.vibes-partners /> component so /the-vibes and the prospectus share one source of truth - Prospectus: add a "Current Partners" logo wall and a "Food & Venue Partners" in-kind callout - Add "The Vibes" logo (light/dark variants) to both page headers - Add an event-day Schedule section to /the-vibes (centered timeline) - Point the sponsor CTA to the prospectus instead of a mailto - Add feature tests covering the pages, logo, schedule and CTA Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 6c8bc48 commit 8a68d64

7 files changed

Lines changed: 455 additions & 171 deletions

File tree

public/img/the-vibes/logo-dark.svg

Lines changed: 12 additions & 0 deletions
Loading

public/img/the-vibes/logo.svg

Lines changed: 12 additions & 0 deletions
Loading
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<svg {{ $attributes }} xmlns="http://www.w3.org/2000/svg" viewBox="0 0 250 79" fill="none">
2+
<path d="M13.68,9.69c-3.79,0-6.84,3.04-6.84,6.8v35.08c0,3.83-2.91,3.83-5.1,3.83H0v11.86h6.55c7.64,0,13.9-6.22,13.9-13.82V16.42c0-3.76-3.06-6.8-6.84-6.8l.07.07Z" fill="currentColor"/>
3+
<path d="M58.81,9.69c-3.35,0-6.04,2.68-6.04,6v31.03c0,4.7-3.42,8.46-7.57,8.46s-7.57-3.83-7.57-8.46V15.7c0-3.33-2.69-6-6.04-6s-6.04,2.68-6.04,6v29.8c0,15.05,8.73,21.77,19.44,21.77h.44c10.7,0,19.44-6.8,19.44-21.77V15.7c0-3.33-2.69-6-6.04-6Z" fill="currentColor"/>
4+
<path d="M118.29,9.69c-5.82.36-10.85,3.33-14.05,7.81h-.07c-3.2-4.41-8.23-7.38-14.05-7.81-10.92-.72-20.09,8.17-20.09,18.95v38.56h13.68V28.28c0-3.76,3.06-6.8,6.84-6.8s6.84,3.04,6.84,6.8v38.92h13.68V28.28c0-3.76,3.06-6.8,6.84-6.8s6.84,3.04,6.84,6.8v38.92h13.68V28.64c0-10.85-9.17-19.68-20.09-18.95h-.07Z" fill="currentColor"/>
5+
<path d="M167.49,9.69c-13.32-.07-24.02,10.85-24.02,24.09v33.49h13.69v-12.44c3.42,1.59,7.35,2.46,11.43,2.24,12.23-.58,22.2-10.49,22.71-22.64.58-13.53-10.26-24.67-23.73-24.74h-.07ZM168.15,43.55c-6.26.51-11.57-4.7-11.06-11,.36-4.92,4.44-8.9,9.39-9.33,6.26-.51,11.57,4.7,11.06,11-.36,4.92-4.44,8.9-9.39,9.33Z" fill="currentColor"/>
6+
<circle cx="210.94" cy="39.06" r="39.06" fill="#ffd500"/>
7+
<path d="M218.88,61.99v5.28h-16.52v-5.06l8.23-8.25c1.53-1.45,2.55-2.89,2.55-4.34s-.8-2.89-2.4-2.89-2.4,1.16-2.4,2.89v.58h-5.97v-.36c0-5.21,3.2-8.61,8.37-8.61s8.37,3.54,8.37,8.39-1.53,5.28-4.08,7.74l-4.8,4.63h8.66Z" fill="#242423"/>
8+
<path d="M238.03,56.5v-15.26h-5.97l-10.77,15.48v5.06h10.77v5.5h5.97v-5.5h2.18v-5.28h-2.18ZM232.2,56.5h-4.73l4.73-7.23v7.23Z" fill="#242423"/>
9+
</svg>
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
@php
2+
$partners = [
3+
[
4+
'url' => 'https://www.webmavens.com/?ref=nativephp',
5+
'name' => 'Web Mavens',
6+
'component' => 'sponsors.logos.webmavens',
7+
'class' => 'dark:fill-white',
8+
],
9+
[
10+
'url' => 'https://www.nexcalia.com/?ref=nativephp',
11+
'name' => 'Nexcalia',
12+
'component' => 'sponsors.logos.nexcalia',
13+
'class' => 'text-black dark:text-white',
14+
],
15+
[
16+
'url' => 'https://bifrost.nativephp.com/',
17+
'name' => 'Bifrost Technology',
18+
'component' => 'logos.bifrost',
19+
'class' => 'h-6',
20+
],
21+
[
22+
'url' => 'https://beyondco.de/?utm_source=nativephp&utm_medium=logo&utm_campaign=the-vibes',
23+
'name' => 'Beyond Code',
24+
'image' => '/img/sponsors/beyondcode.webp',
25+
'imageDark' => '/img/sponsors/beyondcode-dark.webp',
26+
'width' => 160,
27+
'height' => 40,
28+
],
29+
[
30+
'url' => 'https://mostlytechnical.com/',
31+
'name' => 'Mostly Technical',
32+
'image' => '/img/sponsors/mostly-technical.webp',
33+
'class' => 'h-15 w-15 rounded',
34+
'width' => 60,
35+
'height' => 60,
36+
],
37+
[
38+
'url' => 'https://www.geocod.io/?utm_source=nativephp&utm_medium=sponsorship&utm_campaign=thevibes',
39+
'name' => 'Geocodio',
40+
'component' => 'sponsors.logos.geocodio',
41+
],
42+
[
43+
'url' => 'https://thephp.foundation/?utm_source=nativephp&utm_medium=sponsorship&utm_campaign=thevibes',
44+
'name' => 'The PHP Foundation',
45+
'component' => 'sponsors.logos.php-foundation',
46+
'class' => 'h-15 w-15 rounded',
47+
],
48+
[
49+
'url' => 'https://artisan.build/?utm_source=nativephp&utm_medium=sponsorship&utm_campaign=thevibes',
50+
'name' => 'Artisan Build',
51+
'image' => '/img/sponsors/artisan-build.webp',
52+
'imageDark' => '/img/sponsors/artisan-build-dark.webp',
53+
'width' => 160,
54+
'height' => 20,
55+
],
56+
[
57+
'url' => 'https://nopticon.com/?ref=nativephp',
58+
'name' => 'Nopticon',
59+
'component' => 'sponsors.logos.nopticon',
60+
'class' => 'text-black dark:text-white',
61+
],
62+
[
63+
'url' => 'https://jump24.co.uk/?ref=nativephp',
64+
'name' => 'Jump24',
65+
'component' => 'sponsors.logos.jump24',
66+
'class' => 'h-10 text-black dark:text-white',
67+
],
68+
];
69+
@endphp
70+
71+
@foreach ($partners as $partner)
72+
<a
73+
href="{{ $partner['url'] }}"
74+
target="_blank"
75+
rel="noopener noreferrer sponsored"
76+
class="grid h-28 place-items-center rounded-2xl bg-gray-100 px-6 transition duration-200 will-change-transform hover:-translate-y-0.5 hover:bg-gray-200/80 hover:shadow-lg hover:shadow-gray-200/70 dark:bg-[#1a1a2e] dark:hover:bg-slate-800/80 dark:hover:shadow-transparent"
77+
>
78+
<div class="grid h-15 w-35 place-items-center">
79+
@if (isset($partner['component']))
80+
<x-dynamic-component
81+
:component="$partner['component']"
82+
:class="$partner['class'] ?? ''"
83+
aria-hidden="true"
84+
/>
85+
@elseif (isset($partner['imageDark']))
86+
<img
87+
src="{{ $partner['image'] }}"
88+
class="block dark:hidden"
89+
loading="lazy"
90+
alt="{{ $partner['name'] }} logo"
91+
width="{{ $partner['width'] }}"
92+
height="{{ $partner['height'] }}"
93+
/>
94+
<img
95+
src="{{ $partner['imageDark'] }}"
96+
class="hidden dark:block"
97+
loading="lazy"
98+
alt="{{ $partner['name'] }} logo"
99+
width="{{ $partner['width'] }}"
100+
height="{{ $partner['height'] }}"
101+
/>
102+
@else
103+
<img
104+
src="{{ $partner['image'] }}"
105+
loading="lazy"
106+
alt="{{ $partner['name'] }} logo"
107+
width="{{ $partner['width'] }}"
108+
height="{{ $partner['height'] }}"
109+
class="{{ $partner['class'] ?? '' }}"
110+
/>
111+
@endif
112+
</div>
113+
<span class="sr-only">{{ $partner['name'] }}</span>
114+
</a>
115+
@endforeach

resources/views/the-vibes-prospectus.blade.php

Lines changed: 69 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,22 @@
77
PARTNER PROSPECTUS &middot; 2026
88
</p>
99

10-
<h1 class="text-5xl font-extrabold md:text-6xl lg:text-7xl">
11-
The
12-
<span class="bg-gradient-to-r from-violet-500 to-indigo-500 bg-clip-text text-transparent dark:from-violet-400 dark:to-indigo-400">Vibes</span>
10+
<h1>
11+
<span class="sr-only">The Vibes, hosted by NativePHP</span>
12+
<img
13+
src="/img/the-vibes/logo.svg"
14+
alt=""
15+
width="708"
16+
height="392"
17+
class="mx-auto block h-auto w-72 dark:hidden sm:w-96"
18+
/>
19+
<img
20+
src="/img/the-vibes/logo-dark.svg"
21+
alt=""
22+
width="708"
23+
height="392"
24+
class="mx-auto hidden h-auto w-72 dark:block sm:w-96"
25+
/>
1326
</h1>
1427

1528
<p class="mt-4 text-lg text-gray-600 dark:text-gray-400">
@@ -122,6 +135,17 @@
122135
</ul>
123136
</section>
124137

138+
{{-- ═══ CURRENT PARTNERS ═══ --}}
139+
<section class="mb-20">
140+
<h2 class="text-3xl font-bold md:text-4xl">Already On Board</h2>
141+
<p class="mt-2 text-gray-600 dark:text-gray-400">The partners already backing the first-ever NativePHP meetup. Join them.</p>
142+
<div class="mt-2 h-1 w-32 rounded bg-violet-500"></div>
143+
144+
<div class="mt-10 grid grid-cols-1 gap-5 sm:grid-cols-2 md:grid-cols-4">
145+
<x-sponsors.vibes-partners />
146+
</div>
147+
</section>
148+
125149
{{-- ═══ PARTNERSHIP TIERS ═══ --}}
126150
<section class="mb-20">
127151
<h2 class="text-3xl font-bold md:text-4xl">Partnership Tiers</h2>
@@ -230,6 +254,48 @@
230254
</div>
231255
</section>
232256

257+
{{-- ═══ IN-KIND PARTNERS: FOOD & VENUE ═══ --}}
258+
<section class="mb-20">
259+
<div class="overflow-hidden rounded-2xl border-2 border-dashed border-violet-500/40 bg-violet-50/60 p-8 dark:bg-violet-500/5 sm:p-10">
260+
<div class="flex flex-col gap-8 lg:flex-row lg:items-center lg:justify-between">
261+
<div class="max-w-2xl">
262+
<p class="text-xs font-bold uppercase tracking-widest text-violet-500 dark:text-violet-400">Now Seeking</p>
263+
<h2 class="mt-2 text-2xl font-bold md:text-3xl">Food &amp; Venue Partners</h2>
264+
<p class="mt-4 text-gray-600 dark:text-gray-400">
265+
Beyond the tiers above, we're looking for in-kind partners to help feed and host the room.
266+
Cover the catering or provide the venue and we'll give you headline-level recognition to
267+
match — prominent logo placement, day-of call-outs, and our lasting gratitude.
268+
</p>
269+
<div class="mt-6 flex flex-wrap gap-3">
270+
<span class="inline-flex items-center gap-2 rounded-full bg-white px-4 py-2 text-sm font-medium text-gray-700 shadow-sm dark:bg-white/10 dark:text-gray-200">
271+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4 text-violet-500 dark:text-violet-400">
272+
<path stroke-linecap="round" stroke-linejoin="round" d="M12 8.25v-1.5m0 1.5c-1.355 0-2.697.056-4.024.166C6.845 8.51 6 9.473 6 10.608v2.513m6-4.871c1.355 0 2.697.056 4.024.166C17.155 8.51 18 9.473 18 10.608v2.513M15 8.25v-1.5m-6 1.5v-1.5m12 9.75-1.5.75a3.354 3.354 0 0 1-3 0 3.354 3.354 0 0 0-3 0 3.354 3.354 0 0 1-3 0 3.354 3.354 0 0 0-3 0 3.354 3.354 0 0 1-3 0L3 16.5m15-3.379a48.474 48.474 0 0 0-6-.371c-2.032 0-4.034.126-6 .371m12 0c.39.049.777.102 1.163.16 1.07.16 1.837 1.094 1.837 2.175v5.169c0 .621-.504 1.125-1.125 1.125H4.125A1.125 1.125 0 0 1 3 20.625v-5.17c0-1.08.768-2.014 1.837-2.174A47.78 47.78 0 0 1 6 13.12" />
273+
</svg>
274+
Food &amp; Drink Partner
275+
</span>
276+
<span class="inline-flex items-center gap-2 rounded-full bg-white px-4 py-2 text-sm font-medium text-gray-700 shadow-sm dark:bg-white/10 dark:text-gray-200">
277+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4 text-violet-500 dark:text-violet-400">
278+
<path stroke-linecap="round" stroke-linejoin="round" d="M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" />
279+
<path stroke-linecap="round" stroke-linejoin="round" d="M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0Z" />
280+
</svg>
281+
Venue Partner
282+
</span>
283+
</div>
284+
</div>
285+
<a
286+
href="mailto:support@nativephp.com?subject=The%20Vibes%20-%20Food%20%26%20Venue%20Partnership"
287+
class="inline-flex shrink-0 items-center justify-center gap-2 rounded-xl bg-violet-600 px-6 py-3 font-semibold text-white transition duration-200 hover:bg-violet-700 dark:bg-violet-500 dark:hover:bg-violet-400"
288+
>
289+
<svg xmlns="http://www.w3.org/2000/svg" class="size-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
290+
<path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path>
291+
<polyline points="22,6 12,13 2,6"></polyline>
292+
</svg>
293+
Discuss a Partnership
294+
</a>
295+
</div>
296+
</div>
297+
</section>
298+
233299
{{-- ═══ CONTACT / CTA ═══ --}}
234300
<section class="mb-16 text-center">
235301
<h2 class="text-3xl font-bold md:text-4xl">Let's Make</h2>

0 commit comments

Comments
 (0)