{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "betting-panel-01", "title": "Betting Panel 01", "description": "A betting panel with inline ½ / 2× multipliers inside the bet amount field and risk-level toggles.", "dependencies": [ "lucide-react" ], "registryDependencies": [ "button", "card", "field", "input-group", "select", "tabs", "toggle-group" ], "files": [ { "path": "registry/default/blocks/betting-panel-01/components/betting-panel.tsx", "content": "\"use client\";\n\nimport { DollarSign } from \"lucide-react\";\nimport { useState } from \"react\";\nimport { Button } from \"@/components/ui/button\";\nimport { Card, CardContent } from \"@/components/ui/card\";\nimport { Field, FieldGroup, FieldLabel } from \"@/components/ui/field\";\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupInput,\n} from \"@/components/ui/input-group\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\";\nimport { Tabs, TabsList, TabsTrigger } from \"@/components/ui/tabs\";\nimport { ToggleGroup, ToggleGroupItem } from \"@/components/ui/toggle-group\";\n\nconst ROW_OPTIONS = [8, 9, 10, 11, 12, 13, 14, 15, 16];\n\nexport function BettingPanel({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n const [betAmount, setBetAmount] = useState(\"0.01\");\n const [risk, setRisk] = useState([\"medium\"]);\n const [rows, setRows] = useState(\"12\");\n\n const handleHalf = () => {\n const current = Number.parseFloat(betAmount) || 0;\n setBetAmount((current / 2).toFixed(2));\n };\n\n const handleDouble = () => {\n const current = Number.parseFloat(betAmount) || 0;\n setBetAmount((current * 2).toFixed(2));\n };\n\n return (\n
\n \n \n \n \n \n Manual\n \n \n Auto\n \n \n \n\n \n \n Balance\n
\n $1,000.00\n USD\n
\n
\n\n \n Bet Amount\n \n \n \n \n setBetAmount(e.target.value)}\n type=\"text\"\n value={betAmount}\n />\n \n \n ½\n \n \n 2×\n \n \n \n \n\n \n Risk Level\n \n \n Low\n \n \n Medium\n \n \n High\n \n \n \n\n \n Rows\n v !== null && setRows(v)}\n value={rows}\n >\n \n \n \n \n {ROW_OPTIONS.map((num) => (\n \n {num} rows\n \n ))}\n \n \n \n\n \n
\n
\n
\n
\n );\n}\n\nexport default function BettingPanel01() {\n return (\n
\n
\n \n
\n
\n );\n}\n", "type": "registry:component" } ], "categories": [ "betting" ], "type": "registry:block" }