Skip to content

Commit 429685c

Browse files
committed
chore(team): link to more members on LinkedIn
Replace the footer “And more” button with a compact grid card that points to Hyperjump’s LinkedIn page.
1 parent 3c9ca8f commit 429685c

2 files changed

Lines changed: 73 additions & 19 deletions

File tree

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
import Image from "next/image";
2+
3+
import type { SupportedLanguage } from "@/locales/.generated/types";
4+
5+
type TeamLinkedInMoreCardProps = {
6+
/** Match layout of existing team cards. */
7+
variant: "compact";
8+
lang: SupportedLanguage;
9+
};
10+
11+
const HYPERJUMP_LINKEDIN_URL = "https://www.linkedin.com/company/hyperjump";
12+
13+
/**
14+
* A compact “more on LinkedIn” card that matches the team grid styling.
15+
*/
16+
export function TeamLinkedInMoreCard({ variant }: TeamLinkedInMoreCardProps) {
17+
const isCompact = variant === "compact";
18+
19+
return (
20+
<div>
21+
<a
22+
href={HYPERJUMP_LINKEDIN_URL}
23+
target="_blank"
24+
rel="noreferrer noopener"
25+
className={`team-card flex h-auto flex-col rounded-xl bg-white shadow-sm transition-shadow duration-300 hover:shadow-lg ${
26+
isCompact ? "md:h-160" : ""
27+
}`}
28+
aria-label="Find more members of Hyperjump on LinkedIn">
29+
<div className="team-card-image relative h-100 w-full overflow-hidden rounded-t-xl bg-gray-100 md:h-80">
30+
<div className="flex h-full w-full items-center justify-center">
31+
<div className="flex h-20 w-20 items-center justify-center rounded-2xl bg-[#0A66C2]/10">
32+
<Image
33+
src="/images/linkedIn.svg"
34+
alt="LinkedIn"
35+
width={36}
36+
height={36}
37+
/>
38+
</div>
39+
</div>
40+
</div>
41+
42+
<div className="flex flex-1 flex-col justify-between p-4">
43+
<div>
44+
<h3 className="text-base font-semibold text-[#020F15]">
45+
Find more members
46+
</h3>
47+
<p className="text-sm text-[#73767E]">of Hyperjump on LinkedIn</p>
48+
<p className="mt-2 text-sm leading-relaxed text-[#73767E]">
49+
Explore the full team and connect with us.
50+
</p>
51+
</div>
52+
53+
<span className="mt-4 inline-flex h-9 w-9 items-center justify-center rounded-full border border-[#73767E] text-[#73767E] transition-colors hover:border-[#a1cfff] hover:bg-[#a1cfff]">
54+
<Image
55+
src="/images/linkedIn.svg"
56+
alt="Hyperjump LinkedIn page"
57+
width={16}
58+
height={16}
59+
/>
60+
</span>
61+
</div>
62+
</a>
63+
</div>
64+
);
65+
}

app/[lang]/(hyperjump)/team/page.tsx

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
import { ArrowUpRightIcon } from "lucide-react";
2-
import Link from "next/link";
31
import { BreadcrumbJsonLd, ProfilePageJsonLd } from "next-seo";
42

5-
import { Button } from "@/components/ui/button";
63
import data from "@/data.json";
74
import { dynamicOpengraph } from "@/lib/default-metadata";
85
import {
@@ -13,7 +10,6 @@ import {
1310
mainTeamDesc,
1411
mainOurTeam,
1512
mainExpertIn,
16-
mainAndMore,
1713
mainHome,
1814
mainTeamLabel
1915
} from "@/locales/.generated/strings";
@@ -22,6 +18,7 @@ import { AnimatedLines } from "../components/animated-lines";
2218

2319
import { TeamCard } from "./card";
2420
import { team } from "./data";
21+
import { TeamLinkedInMoreCard } from "./linkedin-more-card";
2522
import { Typewriter } from "./typewriter";
2623

2724
export async function generateMetadata(props: { params: Promise<LangProps> }) {
@@ -43,6 +40,9 @@ type TeamsProps = {
4340
params: Promise<LangProps>;
4441
};
4542

43+
/**
44+
* Team listing page.
45+
*/
4646
export default async function TeamSection({ params }: TeamsProps) {
4747
const { lang } = await params;
4848
const founders = team.slice(0, 2);
@@ -92,21 +92,7 @@ export default async function TeamSection({ params }: TeamsProps) {
9292
.map((member) => (
9393
<TeamCard key={member.name} variant="compact" {...member} />
9494
))}
95-
</div>
96-
97-
<div className="mt-12 flex w-full items-center justify-center">
98-
<Button
99-
variant="outline"
100-
className="text-hyperjump-blue border-hyperjump-blue/20 hover:bg-hyperjump-blue h-11 rounded-full px-8 font-semibold transition-all duration-200 hover:scale-[1.02] hover:text-white"
101-
asChild>
102-
<Link
103-
href="https://www.linkedin.com/company/hyperjump"
104-
target="_blank"
105-
rel="noreferrer noopener">
106-
{mainAndMore(lang)}
107-
<ArrowUpRightIcon className="ml-2 h-4 w-4" />
108-
</Link>
109-
</Button>
95+
<TeamLinkedInMoreCard variant="compact" lang={lang} />
11096
</div>
11197
</div>
11298
</section>
@@ -115,6 +101,9 @@ export default async function TeamSection({ params }: TeamsProps) {
115101
);
116102
}
117103

104+
/**
105+
* JSON-LD metadata for team profiles and breadcrumbs.
106+
*/
118107
function JsonLd({ lang }: LangProps) {
119108
const { url } = data;
120109

0 commit comments

Comments
 (0)