Personal progress
{badge.name}
{badge.date}
{badge.description && ({badge.description}
)}{badge.requirement}
"use client" import { useState } from "react" import { Card } from "@/components/ui/card" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Progress } from "@/components/ui/progress" import { User, CheckCircle2, Lock, ChevronLeft, ChevronRight, Sparkles, Zap } from "lucide-react" import Link from "next/link" export default function ProfilePage() { const [activeTab, setActiveTab] = useState("profile") const [currentBadgeSlide, setCurrentBadgeSlide] = useState(0) // Mock user data const userData = { nickname: "pennytige", totalPoints: 1337, level: 5, questsCompleted: 7, totalQuests: 12, gameProgress: 58 } const quests = [ { id: 1, name: "Registration", date: "2024-08-15 14:23", points: 100, completed: true, active: false }, { id: 2, name: "Memories", date: "", points: 100, completed: false, active: true, badge: "Получить подарочек" }, { id: 3, name: "Cyber toy", date: "", points: 100, completed: false, active: false }, { id: 4, name: "Flood", date: "", points: 100, completed: false, active: false }, { id: 5, name: "Core", date: "", points: 100, completed: false, active: false }, { id: 6, name: "Access point", date: "", points: 100, completed: false, active: false } ] const badges = [ { id: 1, name: "Speed Runner", date: "16.08.2024", description: "За скорость", requirement: "Решить: 8%", icon: "🏃", color: "from-cyan-500 to-blue-500" }, { id: 2, name: "Precision Master", date: "17.08.2024", description: "За точность", requirement: "Решить: 25%", icon: "🎯", color: "from-purple-500 to-pink-500" }, { id: 3, name: "Secret Master", date: "Заблокировано", description: "Заблокировано", requirement: "Решить: ???", locked: true, icon: "🔒", color: "from-gray-500 to-gray-700" }, { id: 4, name: "NoName", date: "Заблокировано", description: "", requirement: "Решить:", locked: true, icon: "❓", color: "from-gray-500 to-gray-700" } ] const visibleBadges = badges.slice(currentBadgeSlide, currentBadgeSlide + 3) const nextSlide = () => { if (currentBadgeSlide < badges.length - 3) { setCurrentBadgeSlide(currentBadgeSlide + 1) } } const prevSlide = () => { if (currentBadgeSlide > 0) { setCurrentBadgeSlide(currentBadgeSlide - 1) } } return (
{badge.date}
{badge.description && ({badge.description}
)}{badge.requirement}