4.24.7: Исправлена навигация при редактировании задачи
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m6s
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m6s
This commit is contained in:
@@ -640,6 +640,10 @@ function AppContent() {
|
||||
|
||||
// Если это модальное окно, не обрабатываем здесь - компоненты сами закроют его
|
||||
if (event.state && event.state.modalOpen) {
|
||||
// Если модальных окон нет в DOM, это устаревшая запись — пропускаем её
|
||||
if (!taskDetailModal && !wishlistDetailModal) {
|
||||
window.history.back()
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -197,8 +197,25 @@ function WishlistDetail({ wishlistId, onNavigate, onRefresh, boardId, onClose, p
|
||||
|
||||
const handleCloseDetail = (skipHistoryBack = false) => {
|
||||
// Если skipHistoryBack = true (например, при навигации на форму редактирования),
|
||||
// просто закрываем модальное окно без history.back()
|
||||
if (!skipHistoryBack && historyPushedForTaskRef.current) {
|
||||
// закрываем модальные окна без удаления записей из истории
|
||||
// App.jsx сам обработает навигацию и заменит запись task-detail на task-form через replaceState
|
||||
// Запись wishlist-detail останется в истории, но экран будет закрыт
|
||||
if (skipHistoryBack) {
|
||||
// Сохраняем флаг перед сбросом
|
||||
const hadWishlistHistory = historyPushedForWishlistRef.current
|
||||
|
||||
// Закрываем модальные окна
|
||||
historyPushedForTaskRef.current = false
|
||||
setSelectedTaskForDetail(null)
|
||||
historyPushedForWishlistRef.current = false
|
||||
|
||||
// Закрываем экран желания через onClose
|
||||
// Навигация на task-form уже происходит в TaskDetail, поэтому не вызываем onNavigate здесь
|
||||
// App.jsx обработает навигацию и заменит запись task-detail на task-form через replaceState
|
||||
if (hadWishlistHistory && onClose) {
|
||||
onClose()
|
||||
}
|
||||
} else if (historyPushedForTaskRef.current) {
|
||||
window.history.back()
|
||||
} else {
|
||||
historyPushedForTaskRef.current = false
|
||||
|
||||
Reference in New Issue
Block a user