"use client" import { useEffect, useState } from "react" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Button } from "@/components/ui/button" import { toast } from "sonner" interface CompanyData { companyName: string companyEmail: string companyPhone: string companyWebsite: string companyAddress: string } export function CompanySettingsForm() { const [data, setData] = useState({ companyName: "", companyEmail: "", companyPhone: "", companyWebsite: "", companyAddress: "", }) const [loading, setLoading] = useState(true) const [saving, setSaving] = useState(false) useEffect(() => { async function load() { try { const res = await fetch("/api/settings/company") if (res.ok) { const json = await res.json() setData(json) } } catch { // ignore } finally { setLoading(false) } } load() }, []) async function handleSave() { setSaving(true) try { const res = await fetch("/api/settings/company", { method: "PATCH", headers: { "Content-Type": "application/json" }, body: JSON.stringify(data), }) if (res.ok) { toast.success("Company settings saved") } else { toast.error("Failed to save company settings") } } catch { toast.error("Failed to save company settings") } finally { setSaving(false) } } function update(field: keyof CompanyData, value: string) { setData((prev) => ({ ...prev, [field]: value })) } return ( Company Settings Manage your company information and branding.
update("companyName", e.target.value)} />
update("companyEmail", e.target.value)} />
update("companyPhone", e.target.value)} />
update("companyWebsite", e.target.value)} />
update("companyAddress", e.target.value)} />
) }