{t("successTitle")}
{t("successDesc")}
"use client"; import { useState } from "react"; import { Link, useTranslation } from "@/i18n/navigation"; import { cities } from "@/app/data/cities"; import { apiFetch } from "@/app/lib/api-client"; const CITY_OPTIONS = cities.map((c) => ({ value: c.name, label: `${c.icon} ${c.name}` })); const CITY_BY_NAME = new Map(cities.map((city) => [city.name, city])); export default function HostMeetupPage() { const { t } = useTranslation("hostMeetup"); const [submitted, setSubmitted] = useState(false); const [submitting, setSubmitting] = useState(false); const [form, setForm] = useState({ city: "", date: "", time: "19:00", venue: "", address: "", description: "", maxAttendees: "20", }); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); const city = CITY_BY_NAME.get(form.city); setSubmitting(true); try { await apiFetch("/api/meetups", { method: "POST", body: JSON.stringify({ city: form.city, emoji: city?.icon || "📍", date: form.date, time: form.time, venue: form.venue, address: form.address, description: form.description, rsvpCount: 1, gradientFrom: city?.gradientFrom || "#ff4d4f", gradientTo: city?.gradientTo || "#ff7a45", attendees: [], isUpcoming: true, status: "pending", }), }); setSubmitted(true); } finally { setSubmitting(false); } }; if (submitted) { return (
{t("successDesc")}
{t("subtitle")}