import React, { useState, useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; import { Layers, Plus, Trash2, Copy, Save, ArrowLeft, FileText, Calendar } from 'lucide-react'; import { Recipe } from '../types'; import { comms } from '../communication'; import { TechButton } from '../components/common/TechButton'; export const RecipePage: React.FC = () => { const navigate = useNavigate(); const [recipes, setRecipes] = useState([]); const [selectedId, setSelectedId] = useState(null); const [editedRecipe, setEditedRecipe] = useState(null); const [isLoading, setIsLoading] = useState(true); useEffect(() => { const loadRecipes = async () => { try { const recipeStr = await comms.getRecipeList(); const recipeData = JSON.parse(recipeStr); setRecipes(recipeData); if (recipeData.length > 0) { setSelectedId(recipeData[0].id); setEditedRecipe(recipeData[0]); } } catch (e) { console.error("Failed to load recipes", e); } setIsLoading(false); }; loadRecipes(); }, []); const handleSelect = (r: Recipe) => { setSelectedId(r.id); setEditedRecipe({ ...r }); }; const handleSave = async () => { // Mock Save Logic console.log("Saving recipe:", editedRecipe); // In real app: await comms.saveRecipe(editedRecipe); }; return (
{/* Header */}

RECIPE MANAGEMENT

TOTAL: {recipes.length}
{/* Left: Recipe List */}
RECIPE LIST
{recipes.map(r => (
handleSelect(r)} className={` p-3 rounded border cursor-pointer transition-all group ${selectedId === r.id ? 'bg-neon-blue/20 border-neon-blue text-white shadow-glow-blue' : 'bg-white/5 border-white/5 text-slate-400 hover:bg-white/10 hover:border-white/20'} `} >
{r.name}
{r.lastModified}
))}
{/* List Actions */}
{/* Right: Editor */}
RECIPE EDITOR {editedRecipe && {editedRecipe.id}}
{editedRecipe ? (
setEditedRecipe({ ...editedRecipe, name: e.target.value })} className="w-full bg-black/40 border border-white/10 rounded px-4 py-3 text-white focus:border-neon-blue focus:outline-none transition-colors font-mono" />
{/* Placeholder for more parameters */}
Additional process parameters would go here...
) : (

Select a recipe to edit

)}
{/* Editor Actions */}
SAVE CHANGES
); };