import { useState, useRef, useId, useEffect } from "react"; import { Form, FloatingLabel, Button, Alert, Row, Col } from 'react-bootstrap'; import { useNavigate } from "react-router-dom"; import { usePantry } from "../context/PantryContext"; const CATEGORIES = [ 'all', 'Nabiał', 'Pieczywo', 'Mięso i wędliny', 'Warzywa i owoce', 'Napoje', 'Inne' ]; const today = new Date().toISOString().split('T')[0]; export default function AddProductPage(){ const { addProduct } = usePantry(); const navigate = useNavigate(); const nameRef = useRef(null); const formId = useId(); const [form, setForm] = useState( { name: "", category: '', amount: '', unit: '', expiry: today, opened: false, notes: '' } ); const [error, setError] = useState(''); const [success, setSuccess] = useState(false); useEffect(() => { nameRef.current?.focus(); }, []); const handleChange = (e) => { const { name, value, type, checked } = e.target; setForm(prev => ({ ...prev, [name]: type === 'checkbox' ? checked : value })); }; const handleSubmit = (e) => { e.preventDefault(); if(!form.name.trim()) { setError("Należy podać nazwę produktu."); return; } if(!form.category){ setError("Należy wybrać kategorię."); return; } addProduct(form); setSuccess(true); setError(''); setForm({ name: "", category: '', amount: '', unit: '', expiry: today, opened: false, notes: '' }); setTimeout(() => navigate('/pantry'), 1500); }; return ( <>