6.17.2: Навигация закупки и next_show_at для товара
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 1m29s
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 1m29s
This commit is contained in:
@@ -19520,8 +19520,8 @@ func (a *App) createShoppingItemHandler(w http.ResponseWriter, r *http.Request)
|
|||||||
|
|
||||||
var itemID int
|
var itemID int
|
||||||
err = a.DB.QueryRow(`
|
err = a.DB.QueryRow(`
|
||||||
INSERT INTO shopping_items (user_id, board_id, author_id, name, description, group_name, volume_base, repetition_period)
|
INSERT INTO shopping_items (user_id, board_id, author_id, name, description, group_name, volume_base, repetition_period, next_show_at)
|
||||||
VALUES ($1, $2, $3, $4, $5, $6, $7, $8::interval)
|
VALUES ($1, $2, $3, $4, $5, $6, $7, $8::interval, CURRENT_DATE)
|
||||||
RETURNING id
|
RETURNING id
|
||||||
`, boardOwnerID, boardID, userID, strings.TrimSpace(req.Name), req.Description, req.GroupName, volumeBase, req.RepetitionPeriod).Scan(&itemID)
|
`, boardOwnerID, boardID, userID, strings.TrimSpace(req.Name), req.Description, req.GroupName, volumeBase, req.RepetitionPeriod).Scan(&itemID)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "play-life-web",
|
"name": "play-life-web",
|
||||||
"version": "6.17.1",
|
"version": "6.17.2",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
@@ -1041,7 +1041,7 @@ function AppContent() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Обновляем список товаров при возврате из экрана редактирования
|
// Обновляем список товаров при возврате из экрана редактирования
|
||||||
if ((activeTab === 'shopping-item-form' || activeTab === 'shopping-board-form') && tab === 'shopping') {
|
if ((activeTab === 'shopping-item-form' || activeTab === 'shopping-board-form') && (tab === 'shopping' || tab === 'purchase')) {
|
||||||
const savedBoardId = params.boardId || tabParams.boardId
|
const savedBoardId = params.boardId || tabParams.boardId
|
||||||
if (savedBoardId) {
|
if (savedBoardId) {
|
||||||
setTabParams(prev => ({ ...prev, boardId: savedBoardId }))
|
setTabParams(prev => ({ ...prev, boardId: savedBoardId }))
|
||||||
@@ -1428,6 +1428,7 @@ function AppContent() {
|
|||||||
onNavigate={handleNavigate}
|
onNavigate={handleNavigate}
|
||||||
itemId={tabParams.itemId}
|
itemId={tabParams.itemId}
|
||||||
boardId={tabParams.boardId}
|
boardId={tabParams.boardId}
|
||||||
|
previousTab={previousTab}
|
||||||
onSaved={() => setShoppingRefreshTrigger(prev => prev + 1)}
|
onSaved={() => setShoppingRefreshTrigger(prev => prev + 1)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import SubmitButton from './SubmitButton'
|
|||||||
import DeleteButton from './DeleteButton'
|
import DeleteButton from './DeleteButton'
|
||||||
import './ShoppingItemForm.css'
|
import './ShoppingItemForm.css'
|
||||||
|
|
||||||
function ShoppingItemForm({ onNavigate, itemId, boardId, onSaved }) {
|
function ShoppingItemForm({ onNavigate, itemId, boardId, previousTab, onSaved }) {
|
||||||
const { authFetch } = useAuth()
|
const { authFetch } = useAuth()
|
||||||
const [name, setName] = useState('')
|
const [name, setName] = useState('')
|
||||||
const [description, setDescription] = useState('')
|
const [description, setDescription] = useState('')
|
||||||
@@ -132,7 +132,7 @@ function ShoppingItemForm({ onNavigate, itemId, boardId, onSaved }) {
|
|||||||
|
|
||||||
if (res.ok) {
|
if (res.ok) {
|
||||||
onSaved?.()
|
onSaved?.()
|
||||||
onNavigate('shopping', { boardId })
|
onNavigate(previousTab || 'shopping', { boardId })
|
||||||
} else {
|
} else {
|
||||||
const err = await res.json()
|
const err = await res.json()
|
||||||
setToastMessage({ text: err.error || 'Ошибка сохранения', type: 'error' })
|
setToastMessage({ text: err.error || 'Ошибка сохранения', type: 'error' })
|
||||||
@@ -152,7 +152,7 @@ function ShoppingItemForm({ onNavigate, itemId, boardId, onSaved }) {
|
|||||||
const res = await authFetch(`/api/shopping/items/${itemId}`, { method: 'DELETE' })
|
const res = await authFetch(`/api/shopping/items/${itemId}`, { method: 'DELETE' })
|
||||||
if (res.ok) {
|
if (res.ok) {
|
||||||
onSaved?.()
|
onSaved?.()
|
||||||
onNavigate('shopping', { boardId })
|
onNavigate(previousTab || 'shopping', { boardId })
|
||||||
} else {
|
} else {
|
||||||
setToastMessage({ text: 'Ошибка удаления', type: 'error' })
|
setToastMessage({ text: 'Ошибка удаления', type: 'error' })
|
||||||
setIsDeleting(false)
|
setIsDeleting(false)
|
||||||
|
|||||||
Reference in New Issue
Block a user