買うものリストの削除確認ダイアログの作成

feature-frontend-dishedit-kato
Haru.Kusano 4 months ago
parent 82b0465556
commit 9dea195615
  1. 39
      frontend/src/pages/TaskListPage.tsx

@ -67,6 +67,9 @@ const TaskListPage: React.FC = () => {
//数量変更ダイアログの表示状態
const [openAmountDialog, setOpenAmountDialog] = useState(false);
//削除確認ダイアログの表示状態
const [openDeleteDialog, setOpenDeleteDialog] = useState(false);
const [selectedTask, setSelectedTask] = useState<ToBuy["tobuyId"]>(0);
const [selectedEditingTask, setSelectedEditingTask] = useState<ToBuy>({
@ -77,6 +80,13 @@ const TaskListPage: React.FC = () => {
shop: undefined,
});
const [selectedDeleteTask, setSelectedDeleteTask] = useState<ToBuy>({
tobuyId: 0,
stuffId: 0,
stuffName: "",
amount: 0,
shop: undefined,
});
const [newToBuy, setNewToBuy] = useState(EMPTY_TOBUY);
@ -311,7 +321,11 @@ const TaskListPage: React.FC = () => {
edge="end"
sx={{ marginRight: 0, marginLeft: 0 }}
aria-label="delete"
onClick={() => handleDeleteTask(tobuy.tobuyId)}
onClick={() => {//handleDeleteTask(tobuy.tobuyId)
setSelectedDeleteTask(tobuy)
setOpenDeleteDialog(true)
}
}
>
<DeleteIcon />
</IconButton>
@ -545,6 +559,29 @@ const TaskListPage: React.FC = () => {
</Button>
</DialogActions>
</Dialog>
{/* 削除ダイアログ */}
<Dialog open={openDeleteDialog} onClose={() => setOpenDeleteDialog(false)} disableScrollLock={true}
fullWidth
maxWidth="sm"
sx={{ overflow: "hidden" }}
>
<DialogTitle></DialogTitle>
<DialogContent>
{selectedDeleteTask && (
<>
<Typography variant="h4">{selectedDeleteTask.stuffName}</Typography>
<Typography variant="body1" color="error"> 注意: 削除すると復元できません</Typography>
<Button onClick={() => setOpenDeleteDialog(false)} sx={{ mt: 3, mb: 2, left: '70%' }}></Button>
<Button variant="contained" color="error" onClick={() => {
handleDeleteTask(selectedDeleteTask.tobuyId);
setOpenDeleteDialog(false); // 削除処理後にダイアログを閉じる
}}
style={{ marginTop: "10px" }} sx={{ mt: 3, mb: 2, left: '72%' }}></Button>
</>
)}
</DialogContent>
</Dialog>
</Container>
);

Loading…
Cancel
Save