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:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "play-life-web",
|
"name": "play-life-web",
|
||||||
"version": "4.24.6",
|
"version": "4.24.7",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
@@ -640,6 +640,10 @@ function AppContent() {
|
|||||||
|
|
||||||
// Если это модальное окно, не обрабатываем здесь - компоненты сами закроют его
|
// Если это модальное окно, не обрабатываем здесь - компоненты сами закроют его
|
||||||
if (event.state && event.state.modalOpen) {
|
if (event.state && event.state.modalOpen) {
|
||||||
|
// Если модальных окон нет в DOM, это устаревшая запись — пропускаем её
|
||||||
|
if (!taskDetailModal && !wishlistDetailModal) {
|
||||||
|
window.history.back()
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -197,8 +197,25 @@ function WishlistDetail({ wishlistId, onNavigate, onRefresh, boardId, onClose, p
|
|||||||
|
|
||||||
const handleCloseDetail = (skipHistoryBack = false) => {
|
const handleCloseDetail = (skipHistoryBack = false) => {
|
||||||
// Если skipHistoryBack = true (например, при навигации на форму редактирования),
|
// Если 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()
|
window.history.back()
|
||||||
} else {
|
} else {
|
||||||
historyPushedForTaskRef.current = false
|
historyPushedForTaskRef.current = false
|
||||||
|
|||||||
Reference in New Issue
Block a user