Spaces:
Sleeping
Sleeping
misc: remove animation buttons
Browse files- viewer/src/App.tsx +5 -29
- viewer/src/components/layout/Layout.tsx +1 -29
viewer/src/App.tsx
CHANGED
|
@@ -7,7 +7,6 @@ import UrdfView from "./pages/UrdfView";
|
|
| 7 |
import { ThemeProvider } from "./contexts/ThemeContext";
|
| 8 |
import { DragAndDropProvider } from "./contexts/DragAndDropContext";
|
| 9 |
import { UrdfProvider } from "./contexts/UrdfContext";
|
| 10 |
-
import { MyListProvider } from "./hooks/use-my-list";
|
| 11 |
|
| 12 |
const queryClient = new QueryClient();
|
| 13 |
|
|
@@ -17,36 +16,13 @@ const App = () => {
|
|
| 17 |
<QueryClientProvider client={queryClient}>
|
| 18 |
<TooltipProvider>
|
| 19 |
<UrdfProvider>
|
| 20 |
-
|
| 21 |
-
<
|
| 22 |
-
|
| 23 |
-
<
|
| 24 |
-
|
| 25 |
-
<UrdfView />
|
| 26 |
-
</DragAndDropProvider>
|
| 27 |
-
{/* <BrowserRouter>
|
| 28 |
-
<Routes>
|
| 29 |
-
<Route path="/" element={<Index />} />
|
| 30 |
-
<Route
|
| 31 |
-
path="/playground"
|
| 32 |
-
element={
|
| 33 |
-
<DragAndDropProvider>
|
| 34 |
-
<UrdfView />
|
| 35 |
-
</DragAndDropProvider>
|
| 36 |
-
}
|
| 37 |
-
/>
|
| 38 |
-
<Route path="/content/:id" element={<ContentDetail />} />
|
| 39 |
-
<Route path="/my-list" element={<MyList />} />
|
| 40 |
-
<Route path="/new" element={<NewAndPopular />} />
|
| 41 |
-
<Route path="/explore" element={<Explore />} />
|
| 42 |
-
<Route path="*" element={<NotFound />} />
|
| 43 |
-
</Routes>
|
| 44 |
-
</BrowserRouter> */}
|
| 45 |
-
</MyListProvider>
|
| 46 |
</UrdfProvider>
|
| 47 |
</TooltipProvider>
|
| 48 |
-
{/* https://tanstack.com/query/latest/docs/framework/react/devtools */}
|
| 49 |
-
{/* <ReactQueryDevtools initialIsOpen={false} /> */}
|
| 50 |
</QueryClientProvider>
|
| 51 |
</ThemeProvider>
|
| 52 |
);
|
|
|
|
| 7 |
import { ThemeProvider } from "./contexts/ThemeContext";
|
| 8 |
import { DragAndDropProvider } from "./contexts/DragAndDropContext";
|
| 9 |
import { UrdfProvider } from "./contexts/UrdfContext";
|
|
|
|
| 10 |
|
| 11 |
const queryClient = new QueryClient();
|
| 12 |
|
|
|
|
| 16 |
<QueryClientProvider client={queryClient}>
|
| 17 |
<TooltipProvider>
|
| 18 |
<UrdfProvider>
|
| 19 |
+
<Toaster />
|
| 20 |
+
<Sonner />
|
| 21 |
+
<DragAndDropProvider>
|
| 22 |
+
<UrdfView />
|
| 23 |
+
</DragAndDropProvider>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
</UrdfProvider>
|
| 25 |
</TooltipProvider>
|
|
|
|
|
|
|
| 26 |
</QueryClientProvider>
|
| 27 |
</ThemeProvider>
|
| 28 |
);
|
viewer/src/components/layout/Layout.tsx
CHANGED
|
@@ -5,7 +5,6 @@ import { LayoutDashboard, PanelLeft, RotateCcw } from "lucide-react";
|
|
| 5 |
import { useUrdf } from "@/hooks/useUrdf";
|
| 6 |
import { Button } from "../ui/button";
|
| 7 |
import { useTheme } from "@/hooks/useTheme";
|
| 8 |
-
import AnimationDialog from "../AnimationDialog";
|
| 9 |
import RobotParameters from "../RobotParameters";
|
| 10 |
|
| 11 |
// Calculate header height - should match your Header component height
|
|
@@ -13,7 +12,6 @@ const HEADER_HEIGHT = 0; // in pixels - adjust if your header is different
|
|
| 13 |
|
| 14 |
const Layout: React.FC = () => {
|
| 15 |
const [open, setOpen] = useState(true);
|
| 16 |
-
const [animationDialogOpen, setAnimationDialogOpen] = useState(false);
|
| 17 |
const { theme } = useTheme();
|
| 18 |
|
| 19 |
// Use the centralized UrdfContext for all robot data
|
|
@@ -39,9 +37,6 @@ const Layout: React.FC = () => {
|
|
| 39 |
setOpen(true);
|
| 40 |
}, []);
|
| 41 |
|
| 42 |
-
// Get the robot name from currentRobotData
|
| 43 |
-
const robotName = currentRobotData?.name || "Robot";
|
| 44 |
-
|
| 45 |
// Calculate if we have a custom animation
|
| 46 |
const hasCustomAnimation = currentAnimationConfig !== null;
|
| 47 |
|
|
@@ -66,7 +61,6 @@ const Layout: React.FC = () => {
|
|
| 66 |
headerHeight={HEADER_HEIGHT}
|
| 67 |
/>
|
| 68 |
</div>
|
| 69 |
-
|
| 70 |
{/* Sidebar positioned above with z-index, with top padding for header */}
|
| 71 |
<div
|
| 72 |
className="absolute inset-y-0 left-0 z-10"
|
|
@@ -77,7 +71,7 @@ const Layout: React.FC = () => {
|
|
| 77 |
<SidebarBody className="justify-between gap-10">
|
| 78 |
<div className="flex flex-col flex-1 overflow-y-auto overflow-x-hidden">
|
| 79 |
<div className="flex items-center justify-between mb-4 mt-2 px-2">
|
| 80 |
-
<h2 className="text-xl font-bold tracking-tight font-mono">
|
| 81 |
{currentRobotData?.name || "Robot Model"}
|
| 82 |
</h2>
|
| 83 |
<div className="flex items-center space-x-2">
|
|
@@ -120,21 +114,6 @@ const Layout: React.FC = () => {
|
|
| 120 |
|
| 121 |
<div className="sidebar-divider" />
|
| 122 |
<RobotParameters />
|
| 123 |
-
<div className="sidebar-divider" />
|
| 124 |
-
|
| 125 |
-
<div className="sidebar-section">
|
| 126 |
-
<div
|
| 127 |
-
className="bg-sidebar-accent rounded-lg p-3 flex items-center justify-center hover:bg-sidebar-accent/80 cursor-pointer transition-colors"
|
| 128 |
-
onClick={() => setAnimationDialogOpen(true)}
|
| 129 |
-
>
|
| 130 |
-
<span className="text-sidebar-accent-foreground font-medium font-mono text-sm">
|
| 131 |
-
Run an animation
|
| 132 |
-
</span>
|
| 133 |
-
</div>
|
| 134 |
-
<div className="text-xs text-muted-foreground mt-2 text-left font-mono">
|
| 135 |
-
See the robot move any way you want.
|
| 136 |
-
</div>
|
| 137 |
-
</div>
|
| 138 |
</div>
|
| 139 |
</div>
|
| 140 |
</SidebarBody>
|
|
@@ -160,13 +139,6 @@ const Layout: React.FC = () => {
|
|
| 160 |
</div>
|
| 161 |
)}
|
| 162 |
</div>
|
| 163 |
-
|
| 164 |
-
{/* Animation Dialog - moved to root level to prevent accessibility issues */}
|
| 165 |
-
<AnimationDialog
|
| 166 |
-
open={animationDialogOpen}
|
| 167 |
-
onOpenChange={setAnimationDialogOpen}
|
| 168 |
-
robotName={robotName}
|
| 169 |
-
/>
|
| 170 |
</div>
|
| 171 |
);
|
| 172 |
};
|
|
|
|
| 5 |
import { useUrdf } from "@/hooks/useUrdf";
|
| 6 |
import { Button } from "../ui/button";
|
| 7 |
import { useTheme } from "@/hooks/useTheme";
|
|
|
|
| 8 |
import RobotParameters from "../RobotParameters";
|
| 9 |
|
| 10 |
// Calculate header height - should match your Header component height
|
|
|
|
| 12 |
|
| 13 |
const Layout: React.FC = () => {
|
| 14 |
const [open, setOpen] = useState(true);
|
|
|
|
| 15 |
const { theme } = useTheme();
|
| 16 |
|
| 17 |
// Use the centralized UrdfContext for all robot data
|
|
|
|
| 37 |
setOpen(true);
|
| 38 |
}, []);
|
| 39 |
|
|
|
|
|
|
|
|
|
|
| 40 |
// Calculate if we have a custom animation
|
| 41 |
const hasCustomAnimation = currentAnimationConfig !== null;
|
| 42 |
|
|
|
|
| 61 |
headerHeight={HEADER_HEIGHT}
|
| 62 |
/>
|
| 63 |
</div>
|
|
|
|
| 64 |
{/* Sidebar positioned above with z-index, with top padding for header */}
|
| 65 |
<div
|
| 66 |
className="absolute inset-y-0 left-0 z-10"
|
|
|
|
| 71 |
<SidebarBody className="justify-between gap-10">
|
| 72 |
<div className="flex flex-col flex-1 overflow-y-auto overflow-x-hidden">
|
| 73 |
<div className="flex items-center justify-between mb-4 mt-2 px-2">
|
| 74 |
+
<h2 className="text-xl font-bold tracking-tight font-mono overflow-x-auto whitespace-nowrap scrollbar-none max-w-[200px] pr-2">
|
| 75 |
{currentRobotData?.name || "Robot Model"}
|
| 76 |
</h2>
|
| 77 |
<div className="flex items-center space-x-2">
|
|
|
|
| 114 |
|
| 115 |
<div className="sidebar-divider" />
|
| 116 |
<RobotParameters />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 117 |
</div>
|
| 118 |
</div>
|
| 119 |
</SidebarBody>
|
|
|
|
| 139 |
</div>
|
| 140 |
)}
|
| 141 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 142 |
</div>
|
| 143 |
);
|
| 144 |
};
|