import React, { useState } from 'react'; import { useInventoryStore } from '../store/inventoryStore'; import { formatItemName } from '../utils/itemUtils'; import ItemIcon from './ItemIcon'; import './CraftingPanel.css'; function CraftingPanel() { const craftable = useInventoryStore((state) => state.craftable); const craftTurtleOk = useInventoryStore((state) => state.craftTurtleOk); const craftItem = useInventoryStore((state) => state.craftItem); const [craftingIdx, setCraftingIdx] = useState(null); const handleCraft = async (idx) => { setCraftingIdx(idx); await craftItem(idx); setCraftingIdx(null); }; return (

🔨 Crafting

🐢 {craftTurtleOk ? 'Turtle Online' : 'Turtle Offline'}
{!craftTurtleOk && (
⚠️ Crafting turtle is not connected. Crafting commands will fail.
)}
{(craftable || []).map((recipe, idx) => (
{formatItemName(recipe.output || '')} Produces {recipe.count || 1}
{recipe.slots && Object.entries(recipe.slots).map(([slot, item]) => (
{formatItemName(item || '')}
))}
))} {(!craftable || craftable.length === 0) && (
No crafting recipes configured
)}
); } export default CraftingPanel;