feat: add No Teeth Skateboarding as first Friend, clear Partners
- Partners: removed all entries, now shows 4 placeholder slots - Friends: added No Teeth Skateboarding with red transparent logo linking to instagram.com/noteethskateboarding - Friends grid: always shows real entries + fills remaining slots to 5 with "Coming soon" placeholders Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
This commit is contained in:
parent
baf4c5e10d
commit
089c6c234c
1 changed files with 43 additions and 60 deletions
|
|
@ -40,42 +40,19 @@ const COLLABORATORS: Collaborator[] = [
|
||||||
];
|
];
|
||||||
|
|
||||||
const PARTNERS: Partner[] = [
|
const PARTNERS: Partner[] = [
|
||||||
{
|
// Add partners here
|
||||||
name: 'Geyser',
|
// Format: { name: 'Example', logo: 'https://...', url: 'https://...', description: 'Short description' }
|
||||||
logo: 'https://geyser.fund/logo-brand.svg',
|
// Logo: PNG/WebP transparent background preferred
|
||||||
url: 'https://geyser.fund/project/skatespots',
|
|
||||||
description: 'Bitcoin Lightning crowdfunding',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Angor',
|
|
||||||
logo: '',
|
|
||||||
url: 'https://angor.io/',
|
|
||||||
description: 'Bitcoin crowdfunding platform',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Zapstore',
|
|
||||||
logo: '',
|
|
||||||
url: 'https://zapstore.dev/apps/org.skatespots.app',
|
|
||||||
description: 'Open-source app distribution',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'ContextVM',
|
|
||||||
logo: '',
|
|
||||||
url: 'https://contextvm.org/s/e3564bb877adb0c99a7e4973ccb22e516d7d9eca0027d0bd62a04174ed670530',
|
|
||||||
description: 'Nostr AI infrastructure',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'MKStack',
|
|
||||||
logo: '',
|
|
||||||
url: 'https://soapbox.pub/mkstack',
|
|
||||||
description: 'Nostr client framework',
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
|
||||||
const FRIENDS: Friend[] = [
|
const FRIENDS: Friend[] = [
|
||||||
// Add friends here once logos are ready
|
{
|
||||||
// Format: { name: 'Example', logo: 'https://example.com/logo.png', url: 'https://example.com', tagline: 'Short description' }
|
name: 'No Teeth Skateboarding',
|
||||||
// Logo requirements: PNG/WebP with transparent background, min 200×200px square preferred
|
logo: 'https://blossom.dreamith.to/61bb7055930c442dfe1dfe5b8a8be5417f9b62f68ed79dc4ffbbddce5d4f122c.png',
|
||||||
|
url: 'https://www.instagram.com/noteethskateboarding/',
|
||||||
|
tagline: 'Skateboarding crew',
|
||||||
|
},
|
||||||
|
// Add more friends here
|
||||||
];
|
];
|
||||||
|
|
||||||
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
||||||
|
|
@ -434,11 +411,24 @@ export default function SupportersPage() {
|
||||||
color="#ff6600"
|
color="#ff6600"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
{PARTNERS.length > 0 ? (
|
||||||
<div className="grid grid-cols-1 sm:grid-cols-2 gap-3">
|
<div className="grid grid-cols-1 sm:grid-cols-2 gap-3">
|
||||||
{PARTNERS.map((p) => (
|
{PARTNERS.map((p) => (
|
||||||
<PartnerCard key={p.name} partner={p} />
|
<PartnerCard key={p.name} partner={p} />
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
) : (
|
||||||
|
<>
|
||||||
|
<div className="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3 mb-4">
|
||||||
|
{Array.from({ length: 4 }).map((_, i) => (
|
||||||
|
<PlaceholderCard key={i} label="Coming soon" />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
<div className="rounded-xl border border-dashed border-[#ff6600]/20 p-6 text-center">
|
||||||
|
<p className="text-gray-500 text-sm">Want to partner with SkateSpots? Reach out on Nostr.</p>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* ── 4. Friends ── */}
|
{/* ── 4. Friends ── */}
|
||||||
|
|
@ -450,28 +440,21 @@ export default function SupportersPage() {
|
||||||
color="#ccff00"
|
color="#ccff00"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
{FRIENDS.length > 0 ? (
|
|
||||||
<div className="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-3">
|
<div className="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-3">
|
||||||
{FRIENDS.map((f) => (
|
{FRIENDS.map((f) => (
|
||||||
<FriendCard key={f.name} friend={f} />
|
<FriendCard key={f.name} friend={f} />
|
||||||
))}
|
))}
|
||||||
</div>
|
{/* Fill remaining slots up to 5 with placeholders */}
|
||||||
) : (
|
{FRIENDS.length < 5 && Array.from({ length: 5 - FRIENDS.length }).map((_, i) => (
|
||||||
<>
|
<PlaceholderCard key={`ph-${i}`} label="Coming soon" />
|
||||||
{/* Placeholder grid — remove once real entries are added */}
|
|
||||||
<div className="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-3 mb-4">
|
|
||||||
{Array.from({ length: 5 }).map((_, i) => (
|
|
||||||
<PlaceholderCard key={i} label="Coming soon" />
|
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
<div className="rounded-xl border border-dashed border-[#ccff00]/20 p-6 text-center">
|
<div className="mt-4 rounded-xl border border-dashed border-[#ccff00]/20 p-5 text-center">
|
||||||
<p className="text-gray-500 text-sm mb-1">Want to be listed here?</p>
|
<p className="text-gray-500 text-sm mb-1">Want to be listed here?</p>
|
||||||
<p className="text-xs text-gray-600">
|
<p className="text-xs text-gray-600">
|
||||||
Send a logo (PNG/WebP, transparent background, min 200×200px) and your URL via DM on Nostr.
|
Send a logo (PNG/WebP, transparent background, min 200×200px) and your URL via DM on Nostr.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</>
|
|
||||||
)}
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* ── Mission ── */}
|
{/* ── Mission ── */}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue