Files
sfera-new/src/components/fulfillment-supplies/create-fulfillment-consumables-supply-v2-modular/hooks/useSupplyForm.ts
Veronika Smirnova 57f8f762c9 feat(components): добавить модульную V2 систему создания поставок расходников
Создана новая модульная архитектура компонентов для создания поставок
расходников фулфилмента с улучшенной организацией кода и разделением
ответственности.

ESLint warnings исправим в отдельном коммите для cleaner history.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-25 22:39:14 +03:00

56 lines
1.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// =============================================================================
// 📋 ХУК ДЛЯ УПРАВЛЕНИЯ ФОРМОЙ СОЗДАНИЯ ПОСТАВКИ
// =============================================================================
import { useState, useCallback } from 'react'
import type {
FulfillmentConsumableSupplier,
SelectedFulfillmentConsumable,
UseSupplyFormReturn,
} from '../types'
export function useSupplyForm(): UseSupplyFormReturn {
// Состояние формы
const [selectedSupplier, setSelectedSupplier] = useState<FulfillmentConsumableSupplier | null>(null)
const [selectedLogistics, setSelectedLogistics] = useState<FulfillmentConsumableSupplier | null>(null)
const [selectedConsumables, setSelectedConsumables] = useState<SelectedFulfillmentConsumable[]>([])
const [searchQuery, setSearchQuery] = useState('')
const [productSearchQuery, setProductSearchQuery] = useState('')
const [deliveryDate, setDeliveryDate] = useState('')
const [notes, setNotes] = useState('')
// Функция сброса формы
const resetForm = useCallback(() => {
setSelectedSupplier(null)
setSelectedLogistics(null)
setSelectedConsumables([])
setSearchQuery('')
setProductSearchQuery('')
setDeliveryDate('')
setNotes('')
}, [])
return {
// Состояние формы
selectedSupplier,
selectedLogistics,
selectedConsumables,
searchQuery,
productSearchQuery,
deliveryDate,
notes,
// Действия формы
setSelectedSupplier,
setSelectedLogistics,
setSelectedConsumables,
setSearchQuery,
setProductSearchQuery,
setDeliveryDate,
setNotes,
// Сброс формы
resetForm,
}
}