import { useState } from 'react' /** * * @returns A JSX element representing the app’s gesture page. */ export default function GesturePage() { const [tags, setTags] = useState(["hello","happy","meditate","winner","crazy", "affirmative", "once upon a time"]) const [selectedTag, setSelectedTag] = useState(""); async function getTags() { try { // You can optionally use a query parameter: `commands/gesture/tags/?count=`. // This will yield a list of tags with that count. const res = await fetch("http://localhost:8000/robot/commands/gesture/tags/"); if (!res.ok) throw new Error("Failed communicating with the backend."); const jsonRes = await res.json(); setTags(jsonRes["available_gesture_tags"]); } catch (err) { console.error("Failed to fetch tags:", err); } } async function doGesture() { if (!selectedTag) { alert("Please select a gesture first."); return; } const gesture = { endpoint: "actuate/gesture/tag", data: selectedTag }; try { const res = await fetch("http://localhost:8000/robot/command/gesture", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(gesture), }); if (!res.ok) throw new Error("Failed communicating with the backend."); console.log(`Successfully sent gesture '${selectedTag}' to the backend.`); } catch (err) { console.error("Failed to send gesture command:", err); } } return (
); }