From 429685c4e5b87d4a578ed4d40ea3919853c0775d Mon Sep 17 00:00:00 2001 From: Nico Prananta <311343+nicnocquee@users.noreply.github.com> Date: Wed, 6 May 2026 17:53:35 +0700 Subject: [PATCH] chore(team): link to more members on LinkedIn MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the footer “And more” button with a compact grid card that points to Hyperjump’s LinkedIn page. --- .../(hyperjump)/team/linkedin-more-card.tsx | 65 +++++++++++++++++++ app/[lang]/(hyperjump)/team/page.tsx | 27 +++----- 2 files changed, 73 insertions(+), 19 deletions(-) create mode 100644 app/[lang]/(hyperjump)/team/linkedin-more-card.tsx diff --git a/app/[lang]/(hyperjump)/team/linkedin-more-card.tsx b/app/[lang]/(hyperjump)/team/linkedin-more-card.tsx new file mode 100644 index 000000000..2a4048d98 --- /dev/null +++ b/app/[lang]/(hyperjump)/team/linkedin-more-card.tsx @@ -0,0 +1,65 @@ +import Image from "next/image"; + +import type { SupportedLanguage } from "@/locales/.generated/types"; + +type TeamLinkedInMoreCardProps = { + /** Match layout of existing team cards. */ + variant: "compact"; + lang: SupportedLanguage; +}; + +const HYPERJUMP_LINKEDIN_URL = "https://www.linkedin.com/company/hyperjump"; + +/** + * A compact “more on LinkedIn” card that matches the team grid styling. + */ +export function TeamLinkedInMoreCard({ variant }: TeamLinkedInMoreCardProps) { + const isCompact = variant === "compact"; + + return ( +
+ +
+
+
+ LinkedIn +
+
+
+ +
+
+

+ Find more members +

+

of Hyperjump on LinkedIn

+

+ Explore the full team and connect with us. +

+
+ + + Hyperjump LinkedIn page + +
+
+
+ ); +} diff --git a/app/[lang]/(hyperjump)/team/page.tsx b/app/[lang]/(hyperjump)/team/page.tsx index 6e34827fd..f7f2316d4 100644 --- a/app/[lang]/(hyperjump)/team/page.tsx +++ b/app/[lang]/(hyperjump)/team/page.tsx @@ -1,8 +1,5 @@ -import { ArrowUpRightIcon } from "lucide-react"; -import Link from "next/link"; import { BreadcrumbJsonLd, ProfilePageJsonLd } from "next-seo"; -import { Button } from "@/components/ui/button"; import data from "@/data.json"; import { dynamicOpengraph } from "@/lib/default-metadata"; import { @@ -13,7 +10,6 @@ import { mainTeamDesc, mainOurTeam, mainExpertIn, - mainAndMore, mainHome, mainTeamLabel } from "@/locales/.generated/strings"; @@ -22,6 +18,7 @@ import { AnimatedLines } from "../components/animated-lines"; import { TeamCard } from "./card"; import { team } from "./data"; +import { TeamLinkedInMoreCard } from "./linkedin-more-card"; import { Typewriter } from "./typewriter"; export async function generateMetadata(props: { params: Promise }) { @@ -43,6 +40,9 @@ type TeamsProps = { params: Promise; }; +/** + * Team listing page. + */ export default async function TeamSection({ params }: TeamsProps) { const { lang } = await params; const founders = team.slice(0, 2); @@ -92,21 +92,7 @@ export default async function TeamSection({ params }: TeamsProps) { .map((member) => ( ))} - - -
- +
@@ -115,6 +101,9 @@ export default async function TeamSection({ params }: TeamsProps) { ); } +/** + * JSON-LD metadata for team profiles and breadcrumbs. + */ function JsonLd({ lang }: LangProps) { const { url } = data;