Enhancements to UI Components and Team Member Layout #50

Merged
ERFouX merged 3 commits from main into main 2025-01-24 05:40:49 -05:00
3 changed files with 77 additions and 77 deletions

View file

@ -1,11 +1,10 @@
import * as React from "react"
import { cn } from "@/lib/utils"
const Card = React.forwardRef(({ className, ...props }, ref) => (
<div
ref={ref}
className={cn("rounded-xl border bg-card text-card-foreground shadow", className)}
className={cn("rounded-xl border bg-card text-card-foreground shadow transition-transform duration-300 hover:shadow-lg hover:scale-105", className)}
{...props} />
))
Card.displayName = "Card"

View file

@ -48,6 +48,36 @@ const teamData = [
"mastodon": "https://mas.to/@HRM_CA"
}
},
{
"name": {
en: "Erfan Arabi",
fa: "عرفان عربی"
},
"stack": {
en: "Team Leader",
fa: "راهبر تیم"
},
"image": "https://avatars.githubusercontent.com/ERFouX",
"socials": {
"github": "https://github.com/ERFouX",
"mastodon": "https://mas.to/@ERFouX",
"donate": "https://daramet.com/ERFouX"
}
},
{
"name": {
en: "Pouya Madankar",
fa: "پویا مدنکار"
},
"stack": {
en: "Frontend Developer",
fa: "توسعه‌دهنده فرانت‌اند"
},
"image": "https://avatars.githubusercontent.com/pouyaMK",
"socials": {
"github": "https://github.com/pouyaMK"
}
},
{
"name": {
en: "AhmadReza Khatamian",
@ -78,35 +108,6 @@ const teamData = [
"donate": "https://daramet.com/prbarkati"
}
},
{
"name": {
en: "Pouya Madankar",
fa: "پویا مدنکار"
},
"stack": {
en: "Frontend Developer",
fa: "توسعه‌دهنده فرانت‌اند"
},
"image": "https://avatars.githubusercontent.com/pouyaMK",
"socials": {
"github": "https://github.com/pouyaMK"
}
},
{
"name": {
en: "Mostafa Aminzar",
fa: "مصطفی امین‌زار"
},
"stack": {
en: "UI/UX Designer",
fa: "طراح UI/UX"
},
"image": "https://avatars.githubusercontent.com/MosiO1998",
"socials": {
"github": "https://github.com/MosiO1998",
"donate": "https://daramet.com/mosio"
}
},
{
"name": {
en: "Ali Mohammad Esmaeeli",
@ -124,34 +125,17 @@ const teamData = [
},
{
"name": {
en: "Ali Almasi",
fa: "علی الماسی"
en: "Mostafa Aminzar",
fa: "مصطفی امین‌زار"
},
"stack": {
en: "Web Developer",
fa: "توسعه‌دهنده وب"
en: "UI/UX Designer",
fa: "طراح UI/UX"
},
"image": "https://avatars.githubusercontent.com/AliAlmasi",
"image": "https://avatars.githubusercontent.com/MosiO1998",
"socials": {
"github": "https://github.com/AliAlmasi",
"donate": "https://daramet.com/alialmasi",
"mastodon": "https://ieji.de/@almasi"
}
},
{
"name": {
en: "Erfan Arabi",
fa: "عرفان عربی"
},
"stack": {
en: "Contributer",
fa: "مشارکت کننده"
},
"image": "https://avatars.githubusercontent.com/ERFouX",
"socials": {
"github": "https://github.com/ERFouX",
"mastodon": "https://mas.to/@ERFouX",
"donate": "https://daramet.com/ERFouX"
"github": "https://github.com/MosiO1998",
"donate": "https://daramet.com/mosio"
}
},
{
@ -172,17 +156,18 @@ const teamData = [
},
{
"name": {
en: "Mahdi Gholamhosseini",
fa: "مهدی غلام‌حسینی"
en: "Ali Almasi",
fa: "علی الماسی"
},
"stack": {
en: "Web Developer",
fa: "توسعه‌دهنده وب"
},
"image": "https://avatars.githubusercontent.com/m6hdix",
"image": "https://avatars.githubusercontent.com/AliAlmasi",
"socials": {
"github": "https://github.com/m6hdix",
"donate": "https://daramet.com/m6hdix"
"github": "https://github.com/AliAlmasi",
"donate": "https://daramet.com/alialmasi",
"mastodon": "https://ieji.de/@almasi"
}
},
{
@ -215,6 +200,21 @@ const teamData = [
"twitter": "https://x.com/Bravemobin/",
"donate": "https://daramet.com/bravemobin/"
}
},
{
"name": {
en: "Mahdi Gholamhosseini",
fa: "مهدی غلام‌حسینی"
},
"stack": {
en: "Web Developer",
fa: "توسعه‌دهنده وب"
},
"image": "https://avatars.githubusercontent.com/m6hdix",
"socials": {
"github": "https://github.com/m6hdix",
"donate": "https://daramet.com/m6hdix"
}
}
]

View file

@ -1,31 +1,32 @@
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import { useTranslation } from "@/utils/translation"
import { Users, Book, MessageCircle, Code, ArrowLeftCircle, ArrowRightCircle } from 'lucide-react'
import { Button } from "@/components/ui/button"
import Link from "next/link"
import { SiBluesky, SiDiscord, SiMastodon, SiTelegram, SiX } from "@icons-pack/react-simple-icons";
const JoinCard = ({ icon: Icon, caption, link, text, url, arrow: Arrow }) => (
<Card className="animate-in fade-in zoom-in duration-300">
<CardHeader>
<div className="flex gap-4 justify-between">
<CardTitle>
<Icon className="h-6 w-6 inline-block align-middle me-2" />
{caption}
</CardTitle>
<Button asChild variant="outline" className="rounded-full">
<Link href={url}>{link} <Arrow size={16} /></Link>
</Button>
</div>
</CardHeader>
<CardContent>{text}</CardContent>
</Card>
<Link href={url} className="block">
<Card className="animate-in fade-in zoom-in duration-300 cursor-pointer">
<CardHeader>
<div className="flex gap-4 justify-between">
<CardTitle>
<Icon className="h-6 w-6 inline-block align-middle me-2" />
{caption}
</CardTitle>
<div className="flex items-center">
<span>{link}</span>
<Arrow size={16} className="ml-2" />
</div>
</div>
</CardHeader>
<CardContent>{text}</CardContent>
</Card>
</Link>
)
export default function Join() {
const { t, lang } = useTranslation();
const arrow = lang == 'fa' ? ArrowLeftCircle : ArrowRightCircle
const arrow = lang === 'fa' ? ArrowLeftCircle : ArrowRightCircle
return (
<main className="py-12 md:py-24 lg:py-32">