This commit is contained in:
Mo Tarbin
2025-05-07 00:28:23 -04:00
parent 992d7e3303
commit 8858c7f619
2 changed files with 16 additions and 23 deletions

View File

@@ -26,7 +26,7 @@ import {
} from '@mui/joy'
import moment from 'moment'
import { useContext, useEffect, useState } from 'react'
import { useNavigate, useParams } from 'react-router-dom'
import { useNavigate, useParams, useSearchParams } from 'react-router-dom'
import { UserContext } from '../../contexts/UserContext'
import {
useChore,
@@ -64,6 +64,7 @@ const ChoreEdit = () => {
const [choresHistory, setChoresHistory] = useState([])
const [userHistory, setUserHistory] = useState({})
const { choreId } = useParams()
const [searchParams, setSearchParams] = useSearchParams()
const [name, setName] = useState('')
const [description, setDescription] = useState('')
const [confirmModelConfig, setConfirmModelConfig] = useState({})
@@ -199,8 +200,12 @@ const ChoreEdit = () => {
console.log(errors)
return
}
let newChoreId = choreId
if (searchParams.get('clone') === 'true') {
newChoreId = null
}
const chore = {
id: Number(choreId),
id: Number(newChoreId),
name: name,
description: description,
assignees: assignees,
@@ -225,7 +230,7 @@ const ChoreEdit = () => {
priority: priority,
}
let SaveFunction = createChoreMutation.mutateAsync
if (choreId > 0) {
if (newChoreId > 0) {
SaveFunction = updateChoreMutation.mutateAsync
}
@@ -242,26 +247,6 @@ const ChoreEdit = () => {
setSnackbarMessage('Failed to save chore, please try again.')
setIsSnackbarOpen(true)
})
// handle if mutateAsync fails, if successful then redirect to the chore view page::
// .then(data => {
// data.json().then(res => {
// if (res && res.res && res.res.id) {
// // chore saved successfully:
// setSnackbarMessage('Chore saved successfully!')
// setSnackbarColor('success')
// setIsSnackbarOpen(true)
// refetchChore() // refetch the chore to get the latest data
// Navigate('/my/chores/') // redirect to the chore view page
// }
// })
// })
// .catch(error => {
// console.error('Failed! to save chore:', error)
// setSnackbarMessage('Failed! to save chore, please try again.')
// setSnackbarColor('danger')
// setIsSnackbarOpen(true)
// })
}
useEffect(() => {
//fetch performers:

View File

@@ -2,6 +2,7 @@ import {
Archive,
CancelScheduleSend,
Check,
CopyAll,
Delete,
Edit,
HorizontalRule,
@@ -120,6 +121,9 @@ const ChoreCard = ({
const handleEdit = () => {
navigate(`/chores/${chore.id}/edit`)
}
const handleClone = () => {
navigate(`/chores/${chore.id}/edit?clone=true`)
}
const handleView = () => {
navigate(`/chores/${chore.id}`)
}
@@ -767,6 +771,10 @@ const ChoreCard = ({
<Edit />
Edit
</MenuItem>
<MenuItem onClick={handleClone}>
<CopyAll />
Clone
</MenuItem>
<MenuItem onClick={handleView}>
<ViewCarousel />
View