diff --git a/VERSION b/VERSION index f353b75..74c926a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -6.18.17 +6.19.0 diff --git a/play-life-web/package.json b/play-life-web/package.json index 4ee196c..f4b369f 100644 --- a/play-life-web/package.json +++ b/play-life-web/package.json @@ -1,6 +1,6 @@ { "name": "play-life-web", - "version": "6.18.17", + "version": "6.19.0", "type": "module", "scripts": { "dev": "vite", diff --git a/play-life-web/src/App.jsx b/play-life-web/src/App.jsx index bc13f5b..da7bc1e 100644 --- a/play-life-web/src/App.jsx +++ b/play-life-web/src/App.jsx @@ -1445,6 +1445,7 @@ function AppContent() { boardId={tabParams.boardId} previousTab={previousTab} onSaved={() => setShoppingRefreshTrigger(prev => prev + 1)} + isActive={activeTab === 'shopping-item-form'} /> diff --git a/play-life-web/src/components/ProjectPriorityManager.jsx b/play-life-web/src/components/ProjectPriorityManager.jsx index 3df690b..028a679 100644 --- a/play-life-web/src/components/ProjectPriorityManager.jsx +++ b/play-life-web/src/components/ProjectPriorityManager.jsx @@ -1061,19 +1061,38 @@ function ProjectPriorityManager({ allProjectsData, currentWeekData, shouldLoad, /> )} -
-
- -
+
+
{toastMessage && ( diff --git a/play-life-web/src/components/ShoppingItemForm.css b/play-life-web/src/components/ShoppingItemForm.css index f445437..f8b01f4 100644 --- a/play-life-web/src/components/ShoppingItemForm.css +++ b/play-life-web/src/components/ShoppingItemForm.css @@ -3,6 +3,7 @@ max-width: 600px; margin: 0 auto; position: relative; + padding-bottom: 5rem; } .shopping-item-form h2 { diff --git a/play-life-web/src/components/ShoppingItemForm.jsx b/play-life-web/src/components/ShoppingItemForm.jsx index ecae55b..e5b1ab0 100644 --- a/play-life-web/src/components/ShoppingItemForm.jsx +++ b/play-life-web/src/components/ShoppingItemForm.jsx @@ -1,11 +1,12 @@ import React, { useState, useEffect } from 'react' +import { createPortal } from 'react-dom' import { useAuth } from './auth/AuthContext' import Toast from './Toast' import SubmitButton from './SubmitButton' import DeleteButton from './DeleteButton' import './ShoppingItemForm.css' -function ShoppingItemForm({ onNavigate, itemId, boardId, previousTab, onSaved }) { +function ShoppingItemForm({ onNavigate, itemId, boardId, previousTab, onSaved, isActive }) { const { authFetch } = useAuth() const [name, setName] = useState('') const [description, setDescription] = useState('') @@ -183,6 +184,7 @@ function ShoppingItemForm({ onNavigate, itemId, boardId, previousTab, onSaved }) } return ( + <>
-
- - Сохранить - - {isEdit && ( - - )} -
{toastMessage && ( @@ -304,6 +289,53 @@ function ShoppingItemForm({ onNavigate, itemId, boardId, previousTab, onSaved }) /> )} + {isActive ? createPortal( +
+ + {isEdit && ( + + )} +
, + document.body + ) : null} + ) } diff --git a/play-life-web/src/components/TaskForm.css b/play-life-web/src/components/TaskForm.css index 482f811..8839438 100644 --- a/play-life-web/src/components/TaskForm.css +++ b/play-life-web/src/components/TaskForm.css @@ -3,7 +3,7 @@ max-width: 800px; margin: 0 auto; position: relative; - padding-bottom: 5.5rem; + padding-bottom: 5rem; } .close-x-button { diff --git a/play-life-web/src/components/TaskForm.jsx b/play-life-web/src/components/TaskForm.jsx index abeeb22..c3a5900 100644 --- a/play-life-web/src/components/TaskForm.jsx +++ b/play-life-web/src/components/TaskForm.jsx @@ -1412,23 +1412,36 @@ function TaskForm({ onNavigate, taskId, wishlistId, returnTo, returnWishlistId, bottom: 0, left: 0, right: 0, - padding: '1.5rem 1rem 0.75rem', + padding: '0.75rem 1rem', paddingBottom: 'max(0.75rem, env(safe-area-inset-bottom))', - background: 'linear-gradient(to top, white 70%, rgba(255,255,255,0))', + background: 'linear-gradient(to top, white 60%, rgba(255,255,255,0))', zIndex: 1500, display: 'flex', justifyContent: 'center', gap: '0.75rem', }}> - - Сохранить - + {loading ? 'Сохранение...' : 'Сохранить'} + {taskId && (