181 lines
7.2 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import Image from "next/image"
import Link from "next/link"
import { ArrowLeft } from "lucide-react"
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
export default function HistoryPage() {
// 历届队员数据
const teamMembers = [
{
year: "2024-2025",
captain: "彭戈",
members: [
{ name: "彭戈", role: "队长 / 机械组", photo: "/placeholder.svg?height=100&width=100" },
{ name: "陈卓文", role: "电控组组长", photo: "/placeholder.svg?height=100&width=100" },
{ name: "黄瑞", role: "视觉组组长", photo: "/placeholder.svg?height=100&width=100" },
{ name: "李佳睿", role: "宣筹组组长", photo: "/placeholder.svg?height=100&width=100" },
{ name: "韩翔宇", role: "视觉工程师", photo: "/placeholder.svg?height=100&width=100" },
{ name: "闫芃森", role: "机械工程师", photo: "/placeholder.svg?height=100&width=100" },
],
},
{
year: "2022-2023",
captain: "陈志强",
members: [
{ name: "陈志强", role: "队长 / 电控组", photo: "/placeholder.svg?height=100&width=100" },
{ name: "林小明", role: "机械组组长", photo: "/placeholder.svg?height=100&width=100" },
{ name: "黄海", role: "视觉组组长", photo: "/placeholder.svg?height=100&width=100" },
{ name: "张丽", role: "宣筹组组长", photo: "/placeholder.svg?height=100&width=100" },
],
},
{
year: "2021-2022",
captain: "王建国",
members: [
{ name: "王建国", role: "队长 / 视觉组", photo: "/placeholder.svg?height=100&width=100" },
{ name: "李明", role: "机械组组长", photo: "/placeholder.svg?height=100&width=100" },
{ name: "张伟", role: "电控组组长", photo: "/placeholder.svg?height=100&width=100" },
],
},
]
// 历届机器人数据
const robots = [
{
year: "2023-2024",
models: [
{
name: "Sentinel MK-III",
image: "/placeholder.svg?height=300&width=400",
description: "我们的旗舰防御机器人配备先进装甲板和360°旋转炮塔系统。",
achievements: ["区域赛最佳设计奖", "全国赛技术挑战赛亚军"],
},
{
name: "Striker X2",
image: "/placeholder.svg?height=300&width=400",
description: "高机动性攻击单元,设计用于快速交战和战略定位。",
achievements: ["区域赛最佳性能奖"],
},
],
},
{
year: "2022-2023",
models: [
{
name: "Sentinel MK-II",
image: "/placeholder.svg?height=300&width=400",
description: "Sentinel系列的第二代增强了火力和防御能力。",
achievements: ["全国赛最佳工程奖", "区域赛冠军"],
},
{
name: "Scout Drone Alpha",
image: "/placeholder.svg?height=300&width=400",
description: "我们的第一款侦察无人机,提供战场情报和有限的攻击能力。",
achievements: ["创新设计奖"],
},
],
},
{
year: "2021-2022",
models: [
{
name: "Sentinel MK-I",
image: "/placeholder.svg?height=300&width=400",
description: "Sentinel系列的初代机型为后续发展奠定了基础。",
achievements: ["区域赛最佳新秀奖"],
},
],
},
]
return (
<main className="min-h-screen bg-background">
<div className="container mx-auto px-4 py-16">
<div className="mb-8">
<Link href="/">
<Button variant="ghost" className="button-hover-effect mb-4">
<ArrowLeft className="mr-2 h-4 w-4" />
</Button>
</Link>
<h1 className="text-4xl font-bold mb-2">殿</h1>
<p className="text-muted-foreground"></p>
</div>
{/* 历届队员部分 */}
<section className="mb-16">
<h2 className="text-2xl font-bold mb-6 border-l-4 border-primary pl-4"></h2>
{teamMembers.map((team, index) => (
<div key={index} className="mb-12">
<h3 className="text-xl font-bold mb-4 text-primary">{team.year} </h3>
<p className="mb-4">: {team.captain}</p>
<div className="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4">
{team.members.map((member, idx) => (
<div key={idx} className="border border-white/10 p-4 card-hover-effect text-center">
<div className="w-20 h-20 rounded-full overflow-hidden mx-auto mb-3">
<Image
src={member.photo || "/placeholder.svg"}
alt={member.name}
width={80}
height={80}
className="object-cover w-full h-full"
/>
</div>
<h4 className="font-bold">{member.name}</h4>
<p className="text-xs text-muted-foreground">{member.role}</p>
</div>
))}
</div>
</div>
))}
</section>
{/* 历届机器人部分 */}
<section>
<h2 className="text-2xl font-bold mb-6 border-l-4 border-primary pl-4"></h2>
{robots.map((year, index) => (
<div key={index} className="mb-12">
<h3 className="text-xl font-bold mb-4 text-primary">{year.year} </h3>
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
{year.models.map((robot, idx) => (
<Card key={idx} className="border-white/10 bg-background/60 backdrop-blur-sm card-hover-effect">
<CardHeader>
<CardTitle>{robot.name}</CardTitle>
</CardHeader>
<CardContent>
<div className="mb-4">
<Image
src={robot.image || "/placeholder.svg"}
alt={robot.name}
width={400}
height={300}
className="w-full h-auto object-cover"
/>
</div>
<p className="text-muted-foreground mb-4">{robot.description}</p>
<div>
<h5 className="font-bold mb-2">:</h5>
<ul className="list-disc pl-5">
{robot.achievements.map((achievement, aidx) => (
<li key={aidx} className="text-sm text-muted-foreground">
{achievement}
</li>
))}
</ul>
</div>
</CardContent>
</Card>
))}
</div>
</div>
))}
</section>
</div>
</main>
)
}