{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "betting-panel-03", "title": "Betting Panel 03", "description": "A betting panel with quick-pick preset amounts for rapid bet placement.", "dependencies": [ "lucide-react" ], "registryDependencies": [ "button", "card", "field", "input-group", "select", "tabs", "toggle-group" ], "files": [ { "path": "registry/default/blocks/betting-panel-03/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, FieldLabel } from \"@/components/ui/field\";\nimport {\n InputGroup,\n InputGroupAddon,\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 BALANCE = 1000;\nconst PRESETS = [0.1, 1, 5, 10, 50, BALANCE];\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(1);\n const [risk, setRisk] = useState([\"medium\"]);\n const [rows, setRows] = useState(\"12\");\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 ${BALANCE.toFixed(2)}\n \n
\n\n
\n Bet Amount\n \n \n \n \n \n setBetAmount(Number.parseFloat(e.target.value) || 0)\n }\n type=\"number\"\n value={betAmount}\n />\n \n
\n {PRESETS.map((preset) => (\n setBetAmount(preset)}\n size=\"sm\"\n variant={betAmount === preset ? \"default\" : \"secondary\"}\n >\n {preset === BALANCE ? \"Max\" : `$${preset}`}\n \n ))}\n
\n
\n\n \n Risk\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 BettingPanel03() {\n return (\n
\n
\n \n
\n
\n );\n}\n", "type": "registry:component" } ], "categories": [ "betting" ], "type": "registry:block" }