'use client'; import React, { useState, useEffect } from 'react'; import { printerRequestService } from '@/src/services/api'; interface PrinterRequestModalProps { isOpen: boolean; onClose: () => void; } export default function PrinterRequestModal({ isOpen, onClose }: PrinterRequestModalProps) { const [formData, setFormData] = useState({ printer_model: '', budget_range: '', intended_use: '', user_email: '', user_phone: '', message: '' }); const [isSubmitting, setIsSubmitting] = useState(false); const [message, setMessage] = useState<{ type: 'success' | 'error', text: string } | null>(null); useEffect(() => { if (!isOpen) { setFormData({ printer_model: '', budget_range: '', intended_use: '', user_email: '', user_phone: '', message: '' }); setMessage(null); } }, [isOpen]); if (!isOpen) return null; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setIsSubmitting(true); setMessage(null); try { await printerRequestService.submit(formData); setMessage({ type: 'success', text: 'Vaš zahtev za štampač je uspešno poslat!' }); setTimeout(() => { onClose(); }, 2000); } catch (error) { setMessage({ type: 'error', text: 'Greška pri slanju zahteva. Pokušajte ponovo.' }); } finally { setIsSubmitting(false); } }; const handleChange = (e: React.ChangeEvent) => { setFormData({ ...formData, [e.target.name]: e.target.value }); }; return ( <>

Zatraži 3D Štampač

Recite nam koji štampač vas zanima ili koji vam odgovara!

{message && (
{message.text}
)}