Skip to content

Commit ee89374

Browse files
authored
Update SponsorsTabs.tsx
1 parent 07a6a2f commit ee89374

1 file changed

Lines changed: 14 additions & 5 deletions

File tree

components/SponsorsTabs.tsx

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,18 @@ import { useMemo, useState } from 'react'
44
import Image from 'next/image'
55
import type { Sponsor } from '@/data/sponsors'
66

7-
export default function SponsorsTabs({ sponsors }: { sponsors: Sponsor[] }) {
7+
export default function SponsorsTabs({
8+
sponsors,
9+
initialSelectedId,
10+
}: {
11+
sponsors: Sponsor[]
12+
initialSelectedId?: string | null
13+
}) {
814
const first = sponsors[0]?.id ?? null
9-
const [selectedId, setSelectedId] = useState<string | null>(first)
15+
const [selectedId, setSelectedId] = useState<string | null>(
16+
initialSelectedId !== undefined ? initialSelectedId : first
17+
)
18+
1019
const selected = useMemo(
1120
() => sponsors.find((s) => s.id === selectedId) ?? null,
1221
[sponsors, selectedId]
@@ -16,7 +25,7 @@ export default function SponsorsTabs({ sponsors }: { sponsors: Sponsor[] }) {
1625

1726
return (
1827
<>
19-
<div className="mt-10 grid grid-cols-1 gap-4 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4" role="tablist">
28+
<div className="mt-6 grid grid-cols-1 gap-4 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4" role="tablist">
2029
{sponsors.map((s) => {
2130
const active = s.id === selectedId
2231
return (
@@ -88,7 +97,7 @@ export default function SponsorsTabs({ sponsors }: { sponsors: Sponsor[] }) {
8897
href={selected.website}
8998
target="_blank"
9099
rel="noreferrer"
91-
className="inline-flex items-center gap-2 rounded-xl border border-violet-500/30 bg-white/50 px-3 py-1.5 text-sm font-semibold text-violet-800 shadow-sm backdrop-blur transition hover:border-violet-500/50 hover:bg-white hover:shadow-md dark:border-violet-400/20 dark:bg-zinc-950/20 dark:text-violet-200 focus:outline-none focus:ring-2 focus:ring-violet-400/50 dark:border-violet-400/20 dark:bg-zinc-900/50 dark:text-violet-200 dark:hover:bg-zinc-900"
100+
className="inline-flex items-center gap-2 rounded-xl border border-violet-500/30 bg-white/50 px-3 py-1.5 text-sm font-semibold text-violet-800 shadow-sm backdrop-blur transition hover:border-violet-500/50 hover:bg-white hover:shadow-md dark:border-violet-400/20 dark:bg-zinc-950/20 dark:text-violet-200 focus:outline-none focus:ring-2 focus:ring-violet-400/50"
92101
>
93102
Visit website <span className="opacity-70"></span>
94103
</a>
@@ -99,7 +108,7 @@ export default function SponsorsTabs({ sponsors }: { sponsors: Sponsor[] }) {
99108
href={l.href}
100109
target="_blank"
101110
rel="noreferrer"
102-
className="inline-flex items-center gap-2 rounded-xl border border-zinc-300 bg-white/50 px-3 py-1.5 text-sm font-medium text-zinc-800 shadow-sm backdrop-blur transition hover:bg-white hover:shadow-md dark:border-white/15 dark:bg-zinc-950/20 dark:text-zinc-200 focus:outline-none focus:ring-2 focus:ring-violet-400/50 dark:border-violet-400/20 dark:bg-zinc-900/50 dark:text-violet-200 dark:hover:bg-zinc-900"
111+
className="inline-flex items-center gap-2 rounded-xl border border-zinc-300 bg-white/50 px-3 py-1.5 text-sm font-medium text-zinc-800 shadow-sm backdrop-blur transition hover:bg-white hover:shadow-md dark:border-white/15 dark:bg-zinc-950/20 dark:text-zinc-200 focus:outline-none focus:ring-2 focus:ring-violet-400/50"
103112
>
104113
{l.label}
105114
</a>

0 commit comments

Comments
 (0)