import React, { useState } from 'react'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { Textarea } from '@/components/ui/textarea'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { Calendar } from 'lucide-react'; export function ApprovalForm() { const [loading, setLoading] = useState(false); const [formData, setFormData] = useState({ title: '', requestType: 'tenant_screening', requestDate: new Date().toISOString().split('T')[0], requestTime: '12:00', location: '', description: '', recipients: '', }); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); try { const recipients = formData.recipients.split(',').map(r => r.trim()).filter(Boolean); const response = await fetch('/api/v1/approvals/create', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${localStorage.getItem('token')}`, }, body: JSON.stringify({ ...formData, recipients, }), }); if (response.ok) { const data = await response.json(); alert(`Approval request created! ID: ${data.requestId}`); setFormData({ title: '', requestType: 'tenant_screening', requestDate: new Date().toISOString().split('T')[0], requestTime: '12:00', location: '', description: '', recipients: '', }); } else { alert('Failed to create approval request'); } } catch (error) { console.error('Error:', error); alert('Error creating approval request'); } finally { setLoading(false); } }; return ( Create Approval Request Create a multi-party approval request with blockchain verification
setFormData({ ...formData, title: e.target.value })} placeholder="Tenant Approval - John Doe" required />
setFormData({ ...formData, requestDate: e.target.value })} required />
setFormData({ ...formData, requestTime: e.target.value })} required />
setFormData({ ...formData, location: e.target.value })} placeholder="123 Main St, Chicago, IL" />