Оптимизация wishlist: раздельные запросы и копирование
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m14s
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m14s
This commit is contained in:
@@ -6,7 +6,7 @@ import './TaskForm.css'
|
||||
const API_URL = '/api/tasks'
|
||||
const PROJECTS_API_URL = '/projects'
|
||||
|
||||
function TaskForm({ onNavigate, taskId, wishlistId, isTest: isTestFromProps = false }) {
|
||||
function TaskForm({ onNavigate, taskId, wishlistId, isTest: isTestFromProps = false, returnTo, returnWishlistId }) {
|
||||
const { authFetch } = useAuth()
|
||||
const [name, setName] = useState('')
|
||||
const [progressionBase, setProgressionBase] = useState('')
|
||||
@@ -678,11 +678,28 @@ function TaskForm({ onNavigate, taskId, wishlistId, isTest: isTestFromProps = fa
|
||||
throw new Error(errorMessage)
|
||||
}
|
||||
|
||||
// Получаем сохранённую задачу из ответа
|
||||
const savedTask = await response.json()
|
||||
// Сервер возвращает Task напрямую, поэтому используем savedTask.id
|
||||
const newTaskId = savedTask.id
|
||||
|
||||
console.log('[TaskForm] Task saved, returnTo:', returnTo, 'returnWishlistId:', returnWishlistId, 'newTaskId:', newTaskId)
|
||||
|
||||
// Очищаем форму после успешного сохранения
|
||||
resetForm()
|
||||
|
||||
// Возвращаемся к списку задач
|
||||
onNavigate?.('tasks')
|
||||
// Если был returnTo, возвращаемся на форму желания с ID новой задачи
|
||||
if (returnTo === 'wishlist-form') {
|
||||
console.log('[TaskForm] Navigating back to wishlist-form with newTaskId:', newTaskId)
|
||||
onNavigate?.(returnTo, {
|
||||
wishlistId: returnWishlistId,
|
||||
newTaskId: newTaskId,
|
||||
})
|
||||
} else {
|
||||
console.log('[TaskForm] No returnTo, navigating to tasks')
|
||||
// Стандартное поведение - возврат к списку задач
|
||||
onNavigate?.('tasks')
|
||||
}
|
||||
} catch (err) {
|
||||
setToastMessage({ text: err.message || 'Ошибка при сохранении задачи', type: 'error' })
|
||||
console.error('Error saving task:', err)
|
||||
|
||||
Reference in New Issue
Block a user