| import React from "react"; | |
| import { Button } from "@/components/ui/button"; | |
| import { ArrowLeft } from "lucide-react"; | |
| import { cn } from "@/lib/utils"; | |
| import UrdfViewer from "../UrdfViewer"; | |
| import UrdfProcessorInitializer from "../UrdfProcessorInitializer"; | |
| import Logo from "@/components/Logo"; | |
| interface VisualizerPanelProps { | |
| onGoBack: () => void; | |
| className?: string; | |
| } | |
| const VisualizerPanel: React.FC<VisualizerPanelProps> = ({ | |
| onGoBack, | |
| className, | |
| }) => { | |
| return ( | |
| <div | |
| className={cn( | |
| "w-full p-2 sm:p-4 space-y-4 lg:space-y-0 lg:space-x-4 flex flex-col lg:flex-row", | |
| className | |
| )} | |
| > | |
| <div className="bg-gray-900 rounded-lg p-4 flex-1 flex flex-col"> | |
| <div className="flex items-center gap-4 mb-4"> | |
| <Button | |
| variant="ghost" | |
| size="icon" | |
| onClick={onGoBack} | |
| className="text-gray-400 hover:text-white hover:bg-gray-800 flex-shrink-0" | |
| > | |
| <ArrowLeft className="h-5 w-5" /> | |
| </Button> | |
| <Logo iconOnly={true} /> | |
| <div className="w-px h-6 bg-gray-700" /> | |
| <h2 className="text-xl font-medium text-gray-200">Teleoperation</h2> | |
| </div> | |
| <div className="flex-1 bg-black rounded border border-gray-800 min-h-[50vh] lg:min-h-0"> | |
| <UrdfProcessorInitializer /> | |
| <UrdfViewer /> | |
| </div> | |
| </div> | |
| </div> | |
| ); | |
| }; | |
| export default VisualizerPanel; | |