diff --git a/frontend/src/pages/DishList.tsx b/frontend/src/pages/DishList.tsx index f30216f..387b634 100644 --- a/frontend/src/pages/DishList.tsx +++ b/frontend/src/pages/DishList.tsx @@ -64,7 +64,7 @@ const DishList: React.FC = () => { // } // すべての料理リスト - const [allDish, setAllDish] = useState(); + const [allDish, setAllDish] = useState(testdish); // 画面表示用の食材情報配列 const [testDishArray, setTestDishArray] = useState(testdish); // エラーメッセージの状態管理 @@ -74,7 +74,9 @@ const DishList: React.FC = () => { // 料理リスト編集ダイアログの表示状態 const [openChangeDialog, setOpenChangeDialog] = useState(false); // 料理リストの食材の個数編集ダイアログの表示状態 - const [openChangeItemDialog, setOpenChangeItemDialog] = useState(false); + const [openChangeAmountDialog, setOpenChangeAmountDialog] = useState(false); + // 編集する食材の状態 + const [selectedEditingStuff, setSelectedEditingStuff] = useState(); const changeDialog = () => { setOpenDialog(false); @@ -86,6 +88,17 @@ const DishList: React.FC = () => { setOpenDialog(true); setOpenChangeDialog(false); }; + // 選択された食材 + let selectedItem : string = ''; + // 選択された食材の個数 + let selectedItemAmount : number = 0; + // 選択された食材の個数を変更するダイアログを開く処理 + const changeSelectedItemAmount = (dish : Dish, stuff_name : string, stuff_amount : number) => { + setOpenChangeAmountDialog(true) + setSelectedEditingStuff(dish); + selectedItem = stuff_name; + selectedItemAmount = stuff_amount; + }; /** * タスクを削除するハンドラー * 指定されたIDのタスクをAPIを通じて削除 @@ -120,8 +133,8 @@ const DishList: React.FC = () => { const fetchTasks = async () => { try { - const dishlistfirst = await recipeApi.getAllRecipes(); - setAllDish(dishlistfirst); + // const dishlistfirst = await recipeApi.getAllRecipes(); + // setAllDish(dishlistfirst); } catch (error) { alert("取得失敗"); // console.error(`${TASK_ERRORS.FETCH_FAILED}:`, error); @@ -178,7 +191,7 @@ const DishList: React.FC = () => { {/*新規料理追加ボタン - 画面下部に固定表示 */} - + {/* { > - + */} - {/* 新規タスク作成ダイアログ */} + {/* 料理リストの詳細表示ダイアログ */} setOpenDialog(false)} disableScrollLock={true} maxWidth="lg" fullWidth @@ -234,13 +247,13 @@ const DishList: React.FC = () => { - {/* 食材の個数の編集ダイアログ */} + {/* 食材編集ダイアログ */} setOpenChangeDialog(false)} disableScrollLock={true} maxWidth="lg" fullWidth > - 食材名 + 料理名 {/* */} @@ -277,11 +290,11 @@ const DishList: React.FC = () => { /> {/* 買い物リスト:食材情報記入ボタン */} - + handleDeleteTask(task.id)} + aria-label="個数を編集" + onClick={() => changeSelectedItemAmount(test, test.recipeName, test.summary)} > @@ -346,115 +359,52 @@ const DishList: React.FC = () => { - {/* 食材編集ダイアログ */} - setOpenChangeDialog(false)} disableScrollLock={true} + {/* 食材の個数の編集ダイアログ */} + setOpenChangeAmountDialog(false)} disableScrollLock={true} maxWidth="lg" fullWidth > - 料理名 + 数量の変更 - - {/* */} - {/* タスク一覧をマップして各タスクをリストアイテムとして表示 */} - {testDishArray.map((test, id) => ( - - {/* タスク完了状態を切り替えるチェックボックス - handleToggleComplete(task.id)} - /> */} - {/* タスクのタイトルと説明 - 完了状態に応じて取り消し線を表示 */} - - {/* 食材の個数を表示 */} - 個数
- {test.summary} - - } - // secondary={task.description} - sx={{ align: "right", fontSize: "20px" }} - /> - {/* 買い物リスト:食材情報記入ボタン */} - - - handleDeleteTask(task.id)} - > - - - - {/* 買い物リスト:食材削除ボタン */} - - - handleDeleteStuffTemp(id)} - > - - - - - -
- // - // - // {/* タスクのタイトルと説明 - 完了状態に応じて取り消し線を表示 */} - // - // - ))} - {/*
*/} -
+ + + + {/* 材料名表示 */} + + {/* 数量入力フィールド */} + { + const value = e.target.value; + const parsedValue = parseInt(value, 10); // 数値に変換 + // if (/*!isNaN(parsedValue) && */ isNaN(parsedValue) || parsedValue >= 1) { //負数除外 + // setSelectedEditingTask({ ...selectedEditingTask, amount: parsedValue }); // number型で保存 + // } + + }} + sx={{ width: "20%" }} + type="number" + inputProps={{ inputMode: "numeric", pattern: "[0-9]*" }} // ここで整数のみ許可 + + /> + + - - +