'use client'; import { useState, useEffect } from 'react'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Textarea } from '@/components/ui/textarea'; import { Label } from '@/components/ui/label'; interface Settings { contact_phone: string; contact_email: string; contact_address: string; google_maps_url: string; social_facebook: string; social_instagram: string; social_twitter: string; } export default function ContactSection() { const [settings, setSettings] = useState(null); const [formData, setFormData] = useState({ name: '', email: '', phone: '', subject: '', message: '' }); const [isSubmitting, setIsSubmitting] = useState(false); const [submitStatus, setSubmitStatus] = useState<'idle' | 'success' | 'error'>('idle'); useEffect(() => { fetchSettings(); }, []); const fetchSettings = async () => { try { const response = await fetch('/api/settings'); const data = await response.json(); if (data.success && data.settings) { // Convert array format to object format const settingsObj: any = {}; data.settings.forEach((setting: any) => { settingsObj[setting.key] = setting.value; }); // Map to expected interface format const mappedSettings: Settings = { contact_phone: settingsObj.company_phone || settingsObj.phone || '+62 813-5682-2255', contact_email: settingsObj.company_email || settingsObj.email || 'info@murbaykonveksi.com', contact_address: settingsObj.company_address || settingsObj.address || 'Korpri Raya Blok A2 No.14, Sukarame, Bandar Lampung', google_maps_url: settingsObj.google_maps_embed_url || settingsObj.google_maps_embed || '', social_facebook: settingsObj.social_facebook || settingsObj.facebook_url || '', social_instagram: settingsObj.social_instagram || settingsObj.instagram_url || '', social_twitter: settingsObj.social_twitter || settingsObj.twitter_url || '' }; setSettings(mappedSettings); } } catch (error) { console.error('Error fetching settings:', error); } }; const handleInputChange = (e: React.ChangeEvent) => { const { name, value } = e.target; setFormData(prev => ({ ...prev, [name]: value })); }; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setIsSubmitting(true); setSubmitStatus('idle'); try { const response = await fetch('/api/contact', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(formData), }); const data = await response.json(); if (data.success) { setSubmitStatus('success'); setFormData({ name: '', email: '', phone: '', subject: '', message: '' }); } else { setSubmitStatus('error'); } } catch (error) { console.error('Error submitting form:', error); setSubmitStatus('error'); } finally { setIsSubmitting(false); } }; return (

Hubungi Kami

Siap membantu mewujudkan kebutuhan konveksi Anda. Hubungi kami untuk konsultasi gratis!

{/* Contact Information */}

Informasi Kontak

{/* Phone */}

Telepon

{settings?.contact_phone || '+62 813-5682-2255'}

{/* Email */}

Email

{settings?.contact_email || 'info@murbaykonveksi.com'}

{/* Address */}

Alamat

{settings?.contact_address || 'Jl. Industri No. 123, Jakarta Selatan'}

{/* Social Media */}

Ikuti Kami

{settings?.social_facebook && ( )} {settings?.social_instagram && ( )} {settings?.social_twitter && ( )}
{/* Google Maps */} {settings?.google_maps_url && (

Lokasi Kami

)}
{/* Contact Form */}

Kirim Pesan