Skip to content

Commit 9c52ea6

Browse files
committed
feat: populate join us page with content and animated buttons
1 parent b2ad1b6 commit 9c52ea6

File tree

2 files changed

+58
-5
lines changed

2 files changed

+58
-5
lines changed

src/app/join-us/page.tsx

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,45 @@
11
import { Metadata } from "next";
2-
import { ComingSoon, comingSoonText } from "@/components/sections/coming-soon";
32
import { buildPageMetadata } from "@/lib/config";
3+
import { AnimatedFillButton } from "@/components/primitives/animated-fill-button";
4+
import { siteConfig } from "@/lib/config";
45

5-
const description = comingSoonText;
6+
const description =
7+
"Join The Team at ALPHA University Chapter at HKU, an initiative with great potential.";
68
export const metadata: Metadata = buildPageMetadata("/join-us", { description });
79

810
export default function JoinUs() {
911
return (
10-
<>
11-
<ComingSoon />
12-
</>
12+
<section className="flex min-h-[60vh] flex-col items-center justify-center gap-6 text-center">
13+
<h1 className="max-w-4xl text-2xl font-bold tracking-tight md:text-4xl">
14+
Join The Team at ALPHA University Chapter at HKU, an initiative with great potential.
15+
</h1>
16+
<p className="text-base text-muted-foreground md:text-lg">
17+
We provide opportunities for:
18+
</p>
19+
<div className="flex flex-wrap items-center justify-center gap-4 pt-2">
20+
{[
21+
{ label: "Full Membership", href: "" },
22+
{ label: "Research Fellowship", href: "" },
23+
{ label: "Officers", href: "" },
24+
].map((item) => (
25+
<AnimatedFillButton
26+
href={item.href}
27+
key={item.label}
28+
>
29+
{item.label}
30+
</AnimatedFillButton>
31+
))}
32+
</div>
33+
<p className="text-sm text-muted-foreground md:text-base pt-3">
34+
For more information, contact us at{" "}
35+
<a
36+
href={`mailto:${siteConfig.email}`}
37+
className="text-primary hover:underline"
38+
>
39+
{siteConfig.email}
40+
</a>
41+
.
42+
</p>
43+
</section>
1344
);
1445
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import type { ReactNode } from "react";
2+
import { Button } from "@/components/ui/button";
3+
4+
type AnimatedFillButtonProps = {
5+
href: string;
6+
children: ReactNode;
7+
};
8+
9+
export function AnimatedFillButton({ href, children }: AnimatedFillButtonProps) {
10+
return (
11+
<Button
12+
asChild
13+
variant="outline"
14+
size="lg"
15+
className="rounded-full bg-gradient-to-r from-primary to-primary bg-no-repeat bg-[length:0%_100%] text-primary transition-[background-size,color] duration-300 hover:bg-[length:100%_100%] hover:text-primary-foreground"
16+
>
17+
<a href={href} target="_blank" rel="noopener">
18+
{children}
19+
</a>
20+
</Button>
21+
);
22+
}

0 commit comments

Comments
 (0)