| import React, { useState, useEffect } from 'react' | |
| import { Button } from "@/components/ui/button" | |
| import { Slider } from "@/components/ui/slider" | |
| import { Progress } from "@/components/ui/progress" | |
| import { ChevronsUpDown, Zap, RefreshCw } from "lucide-react" | |
| export default function Component() { | |
| const [energy, setEnergy] = useState(50) | |
| const [timeCoordinate, setTimeCoordinate] = useState(2023) | |
| const [isActivated, setIsActivated] = useState(false) | |
| const [stabilityLevel, setStabilityLevel] = useState(100) | |
| useEffect(() => { | |
| if (isActivated) { | |
| const interval = setInterval(() => { | |
| setStabilityLevel((prev) => Math.max(0, prev - Math.random() * 5)) | |
| }, 1000) | |
| return () => clearInterval(interval) | |
| } | |
| }, [isActivated]) | |
| const handleActivate = () => { | |
| setIsActivated(!isActivated) | |
| if (!isActivated) { | |
| setStabilityLevel(100) | |
| } | |
| } | |
| return ( | |
| <div className="w-full max-w-4xl mx-auto p-6 bg-black rounded-xl shadow-2xl text-white"> | |
| <h2 className="text-3xl font-bold mb-6 text-center text-purple-400">Crystallized Quantum Physics Matrix Time Machine</h2> | |
| <div className="grid grid-cols-2 gap-6 mb-6"> | |
| <div className="space-y-4"> | |
| <label className="block text-sm font-medium">Quantum Energy Level</label> | |
| <Slider | |
| value={[energy]} | |
| onValueChange={(value) => setEnergy(value[0])} | |
| max={100} | |
| step={1} | |
| /> | |
| <div className="text-right">{energy}%</div> | |
| </div> | |
| <div className="space-y-4"> | |
| <label className="block text-sm font-medium">Time Coordinate</label> | |
| <div className="flex items-center space-x-2"> | |
| <Button variant="outline" size="icon" onClick={() => setTimeCoordinate(prev => prev - 1)}> | |
| <ChevronsUpDown className="h-4 w-4" /> | |
| </Button> | |
| <input | |
| type="number" | |
| value={timeCoordinate} | |
| onChange={(e) => setTimeCoordinate(parseInt(e.target.value))} | |
| className="flex-1 bg-gray-800 text-white px-3 py-2 rounded-md" | |
| /> | |
| <Button variant="outline" size="icon" onClick={() => setTimeCoordinate(prev => prev + 1)}> | |
| <ChevronsUpDown className="h-4 w-4 rotate-180" /> | |
| </Button> | |
| </div> | |
| </div> | |
| </div> | |
| <div className="mb-6"> | |
| <label className="block text-sm font-medium mb-2">Matrix Stability</label> | |
| <Progress value={stabilityLevel} className="h-2" /> | |
| <div className="text-right mt-1">{stabilityLevel.toFixed(2)}%</div> | |
| </div> | |
| <div className="flex justify-center space-x-4"> | |
| <Button | |
| variant={isActivated ? "destructive" : "default"} | |
| onClick={handleActivate} | |
| className="w-40" | |
| > | |
| {isActivated ? "Deactivate" : "Activate"} | |
| <Zap className="ml-2 h-4 w-4" /> | |
| </Button> | |
| <Button variant="outline" onClick={() => setStabilityLevel(100)} disabled={!isActivated}> | |
| Restabilize | |
| <RefreshCw className="ml-2 h-4 w-4" /> | |
| </Button> | |
| </div> | |
| <div className="mt-6 text-center text-sm text-gray-400"> | |
| Warning: Temporal paradoxes may occur. Use at your own risk. | |
| </div> | |
| </div> | |
| ) | |
| } |