Skip to content

Commit d5e89dc

Browse files
authored
Create Team.tsx
1 parent b08a18f commit d5e89dc

1 file changed

Lines changed: 87 additions & 0 deletions

File tree

source-code/components/Team.tsx

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
import React from 'react';
2+
import { Shield, Code2, Cpu } from 'lucide-react';
3+
import { Language } from '../types';
4+
import { TRANSLATIONS } from '../utils/translations';
5+
6+
interface TeamProps {
7+
language: Language;
8+
}
9+
10+
export const Team: React.FC<TeamProps> = ({ language }) => {
11+
const t = TRANSLATIONS[language];
12+
13+
const teamMembers = [
14+
{
15+
nickname: "Michal92299",
16+
realName: "Michał Kaczmarzyk",
17+
role: t.role_founder,
18+
image: "https://raw.githubusercontent.com/HackerOS-Linux-System/HackerOS-Website/main/michal92299.png",
19+
icon: Shield,
20+
color: "text-red-500",
21+
borderColor: "border-red-500/50"
22+
},
23+
{
24+
nickname: "RafeNop",
25+
realName: "Rafał Kaczmarzyk",
26+
role: t.role_cofounder,
27+
image: "https://raw.githubusercontent.com/HackerOS-Linux-System/HackerOS-Website/main/RafeNop.png",
28+
icon: Code2,
29+
color: "text-blue-500",
30+
borderColor: "border-blue-500/50"
31+
}
32+
];
33+
34+
return (
35+
<div className="pb-24 pt-2">
36+
<div className="px-6 mb-8">
37+
<h2 className="text-3xl font-mono font-bold text-white mb-1">{t.header_team}</h2>
38+
<p className="text-muted text-sm">{t.sub_team}</p>
39+
</div>
40+
41+
<div className="px-4 space-y-6">
42+
{teamMembers.map((member, index) => {
43+
const Icon = member.icon;
44+
return (
45+
<div
46+
key={index}
47+
className={`
48+
relative overflow-hidden rounded-2xl bg-card/40 backdrop-blur-md border border-white/5
49+
p-6 flex flex-col items-center text-center group transition-all duration-300 hover:bg-card/60
50+
`}
51+
>
52+
{/* Decorative background glow */}
53+
<div className={`absolute top-0 inset-x-0 h-32 opacity-20 bg-gradient-to-b from-${member.color.split('-')[1]}-500 to-transparent blur-2xl pointer-events-none`} />
54+
55+
<div className={`relative w-32 h-32 mb-4 rounded-full p-1 border-2 ${member.borderColor} shadow-[0_0_20px_-5px_rgba(0,0,0,0.5)]`}>
56+
<img
57+
src={member.image}
58+
alt={member.nickname}
59+
className="w-full h-full rounded-full object-cover bg-black/50"
60+
/>
61+
<div className="absolute bottom-0 right-0 p-2 bg-card rounded-full border border-white/10 shadow-lg">
62+
<Icon size={16} className={member.color} />
63+
</div>
64+
</div>
65+
66+
<h3 className="text-2xl font-bold text-white tracking-wide mb-1">
67+
{member.nickname}
68+
</h3>
69+
<p className="text-sm font-mono text-muted mb-3">{member.realName}</p>
70+
71+
<div className={`px-4 py-1.5 rounded-full bg-white/5 border border-white/10 text-xs font-bold uppercase tracking-wider ${member.color}`}>
72+
{member.role}
73+
</div>
74+
</div>
75+
);
76+
})}
77+
78+
<div className="mt-8 p-6 rounded-2xl border border-white/5 bg-white/5 text-center">
79+
<Cpu className="mx-auto text-primary mb-3" size={32} />
80+
<p className="text-xs text-muted font-mono leading-relaxed">
81+
HackerOS is a community-driven project dedicated to ethical hacking and cybersecurity enthusiasts.
82+
</p>
83+
</div>
84+
</div>
85+
</div>
86+
);
87+
};

0 commit comments

Comments
 (0)