"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import { useSession } from "next-auth/react"; import Link from "next/link"; import { createTripAction } from "@/features/trip/actions"; import { ImageUrlInput } from "@/features/trip/components/image-url-input"; const SAMPLE_MOUNTAINS = [ { name: "Gunung Papandayan", location: "Garut, Jawa Barat" }, { name: "Gunung Ciremai", location: "Kuningan, Jawa Barat" }, { name: "Gunung Pangrango", location: "Bogor/Cianjur, Jawa Barat" }, { name: "Gunung Gede", location: "Bogor/Cianjur, Jawa Barat" }, { name: "Gunung Tangkuban Parahu", location: "Bandung, Jawa Barat" }, { name: "Gunung Bukit Tunggul", location: "Bandung, Jawa Barat" }, { name: "Gunung Malabar", location: "Bandung, Jawa Barat" }, { name: "Gunung Guntur", location: "Garut, Jawa Barat" }, ]; export default function CreateTripPage() { const { data: session } = useSession(); const router = useRouter(); const [error, setError] = useState(""); const [loading, setLoading] = useState(false); if (!session?.user) { return (
🔒

Kamu harus login untuk membuat trip.

Login
); } async function handleSubmit(e: React.FormEvent) { e.preventDefault(); setError(""); setLoading(true); const formData = new FormData(e.currentTarget); const result = await createTripAction(formData); setLoading(false); if (result.error) { setError(result.error); } else if (result.tripId) { router.push(`/trips/${result.tripId}`); } } function handleMountainSelect(e: React.ChangeEvent) { const selected = SAMPLE_MOUNTAINS.find((m) => m.name === e.target.value); if (selected) { const form = e.target.form; if (form) { const mountainInput = form.elements.namedItem( "mountain" ) as HTMLInputElement; const locationInput = form.elements.namedItem( "location" ) as HTMLInputElement; mountainInput.value = selected.name; locationInput.value = selected.location; } } } return (

Buat Trip Baru

Ajak teman baru naik gunung bareng!

{error && (
{error}
)}
{/* Mountain Quick Picker */}