Skip to content

Commit 610ad67

Browse files
committed
Update contributors on the home page
1 parent 289db59 commit 610ad67

File tree

8 files changed

+49
-31
lines changed

8 files changed

+49
-31
lines changed

src/app/(home)/Contributors.tsx

Lines changed: 32 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,38 @@
1-
import Image from 'next/image';
2-
import AlgorithmiqLogo from './logo_algorithmiq.png';
3-
import BluequbitLogo from './logo_bluequbit.png';
4-
import IbmLogo from './logo_ibm.png';
5-
import RikenLogo from './logo_riken.png';
6-
import UMarylandLogo from './logo_uMaryland.png';
1+
import submissionsCVP from '../../../data/classically-verifiable-problems/submissions.json' assert { type: 'json' };
2+
import submissionsOE from '../../../data/observable-estimations/submissions.json' assert { type: 'json' };
3+
import submissionsVP from '../../../data/variational-problems/submissions.json' assert { type: 'json' };
74

8-
const contributors = [
9-
{ name: 'Algorithmiq', logo: AlgorithmiqLogo },
10-
{ name: 'BlueQubit', logo: BluequbitLogo },
11-
{ name: 'IBM', logo: IbmLogo },
12-
{ name: 'RIKEN', logo: RikenLogo },
13-
{ name: 'University of Maryland', logo: UMarylandLogo },
14-
];
5+
const submissions = [...submissionsCVP, ...submissionsOE, ...submissionsVP];
6+
7+
const institutionsSet = new Set<string>();
8+
9+
submissions.forEach((submission) => {
10+
if (submission.institutions) {
11+
submission.institutions.split(',').forEach((institution) => {
12+
institutionsSet.add(institution.trim());
13+
});
14+
}
15+
});
16+
17+
const institutions = Array.from(institutionsSet).sort((a, b) =>
18+
a.toLowerCase().localeCompare(b.toLowerCase()),
19+
);
1520

1621
export function Contributors() {
1722
return (
18-
<ul className="mx-auto inline-flex flex-row flex-wrap justify-center pt-2">
19-
{contributors.map((contributor) => (
20-
<li key={contributor.name}>
21-
<Image
22-
src={contributor.logo}
23-
alt={`${contributor.name} logo`}
24-
title={contributor.name}
25-
className="h-16 w-auto grayscale"
26-
/>
27-
</li>
28-
))}
29-
</ul>
23+
<div className="flex overflow-hidden mask-[linear-gradient(to_right,transparent,white_20%,white_80%,transparent)] pt-6">
24+
<ul className="animate-marquee flex w-max min-w-full shrink-0 items-center justify-around gap-16 pr-16">
25+
{/* Duplicate the list to ensure a seamless infinite marquee animation */}
26+
{[...institutions, ...institutions].map((institution, index) => (
27+
<li
28+
key={`${institution}-${index}`}
29+
className="flex items-center gap-16 text-xl font-light whitespace-nowrap"
30+
>
31+
{institution}
32+
<span className="h-2 w-2 rounded-full bg-green-600" />
33+
</li>
34+
))}
35+
</ul>
36+
</div>
3037
);
3138
}
-6.09 KB
Binary file not shown.

src/app/(home)/logo_bluequbit.png

-6.98 KB
Binary file not shown.

src/app/(home)/logo_ibm.png

-1.4 KB
Binary file not shown.

src/app/(home)/logo_riken.png

-5.46 KB
Binary file not shown.

src/app/(home)/logo_uMaryland.png

-7.71 KB
Binary file not shown.

src/app/(home)/page.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ export default function Home() {
2121
</Button>
2222
</div>
2323
</div>
24-
</header>
2524

26-
<section className="px-6 py-10 text-center">
27-
<div className="text-secondary-foreground text-sm">
28-
Contributors include researchers from:
25+
<div className="px-6 pb-20 text-center">
26+
<div className="text-secondary-foreground text-sm">
27+
Contributors include researchers from 10+ organizations
28+
</div>
29+
<Contributors />
2930
</div>
30-
<Contributors />
31-
</section>
31+
</header>
3232

3333
<section className="mx-auto max-w-2xl px-6 py-20 text-center">
3434
<h3 className="mb-6 text-4xl">What is quantum advantage?</h3>

src/app/globals.css

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,17 @@
4747
--color-link-foreground: var(--link-foreground);
4848
--color-table-head: #343a3f;
4949
--color-table-head-foreground: #ffffff;
50+
51+
--animate-marquee: marquee 50s linear infinite;
52+
53+
@keyframes marquee {
54+
from {
55+
transform: translateX(0);
56+
}
57+
to {
58+
transform: translateX(-50%);
59+
}
60+
}
5061
}
5162

5263
:root {

0 commit comments

Comments
 (0)