"use client"; import { useEffect, useState } from "react"; import { motion } from "framer-motion"; import StorefrontHeader from "@/components/storefront/StorefrontHeader"; import StorefrontFooter from "@/components/storefront/StorefrontFooter"; import LayoutContainer from "@/components/layout/LayoutContainer"; import { supabase } from "@/lib/supabase"; type BrandSettings = { invoice_business_name: string | null; invoice_business_address: string | null; invoice_business_phone: string | null; invoice_business_email: string | null; invoice_business_website: string | null; }; type FormState = { name: string; email: string; topic: string; message: string; }; export default function IndianRiverContactPage() { const [brandSettings, setBrandSettings] = useState(null); const [submitted, setSubmitted] = useState(false); const [form, setForm] = useState({ name: "", email: "", topic: "general", message: "" }); const [isSubmitting, setIsSubmitting] = useState(false); const [logoUrl, setLogoUrl] = useState(null); const [isAdmin, setIsAdmin] = useState(false); const [customFooterText, setCustomFooterText] = useState(null); const [contactEmail, setContactEmail] = useState(null); const [contactPhone, setContactPhone] = useState(null); useEffect(() => { supabase.from("brands").select("id").eq("slug", "indian-river-direct").single().then(({ data: brand }) => { if (!brand?.id) return; supabase.from("wholesale_settings") .select("invoice_business_name, invoice_business_address, invoice_business_phone, invoice_business_email, invoice_business_website") .eq("brand_id", brand.id).single().then(({ data }) => setBrandSettings(data ?? null)); supabase.from("brand_settings").select("logo_url, custom_footer_text, email, phone") .eq("brand_id", brand.id).single().then(({ data: s }) => { if (s) { setLogoUrl(s.logo_url ?? null); setCustomFooterText(s.custom_footer_text ?? null); setContactEmail(s.email ?? null); setContactPhone(s.phone ?? null); } }); try { import("@/actions/admin-user").then(({ getCurrentAdminUser }) => { getCurrentAdminUser().then((u: unknown) => setIsAdmin(!!u)); }); } catch { /* not logged in */ } }); }, []); function handleSubmit(e: React.FormEvent) { e.preventDefault(); setIsSubmitting(true); setTimeout(() => { setSubmitted(true); setIsSubmitting(false); }, 600); } return (
{/* Page header */}

Get in Touch

Contact Us

Questions about citrus, your order, or becoming a wholesale partner? We'd love to hear from you.

{/* Contact info cards */}
{[ { label: "Address", value: brandSettings?.invoice_business_address ?? "Indian River Region, Florida", icon: , iconPath: }, { label: "Phone", value: contactPhone ?? "772-971-4484", icon: , iconPath: null }, { label: "Email", value: brandSettings?.invoice_business_email ?? "Info@indianriverdirect.com", icon: , iconPath: null }, ].map(({ label, value, icon, iconPath }, index) => (
{icon} {iconPath}

{label}

{value}

))}
{/* Contact form */}

Send a Message

Get in Touch

{submitted ? (

Message received.

We will be in touch within 1-2 business days.

) : (
setForm({ ...form, name: e.target.value })} className="w-full rounded-xl border-2 border-stone-200 bg-white px-5 py-4 text-base text-stone-900 placeholder:text-stone-400 outline-none focus:border-blue-400 focus:ring-2 focus:ring-blue-400/20 transition-colors" placeholder="Jane Smith" />
setForm({ ...form, email: e.target.value })} className="w-full rounded-xl border-2 border-stone-200 bg-white px-5 py-4 text-base text-stone-900 placeholder:text-stone-400 outline-none focus:border-blue-400 focus:ring-2 focus:ring-blue-400/20 transition-colors" placeholder="jane@example.com" />