/** * Day Form Fields Component * Displays the form fields for creating/editing a day */ import React from "react"; import { Info, Lock } from "lucide-react"; import { Card, CardContent, CardHeader, CardTitle } from "../ui/card"; import { Input } from "../ui/input"; import { SearchableSelect } from "../ui/searchable-select"; import { HelpText } from "../ui/help-text"; import { __ } from "../../lib/i18n"; interface DayFormFieldsProps { formData: { trip_id: string; day: string; day_title: string; day_description: string; }; errors: Record; tripsData: any[]; isLoadingTrips: boolean; isEditMode?: boolean; // If true, disable trip field isSingleDayTrip?: boolean; // If true, hide/disable day number field onFieldChange: ( field: keyof DayFormFieldsProps["formData"], value: any, ) => void; } export const DayFormFields: React.FC = ({ formData, errors, tripsData, isLoadingTrips, isEditMode = false, isSingleDayTrip = false, onFieldChange, }) => { return ( {__("Day Information", "yatra")}
onFieldChange("trip_id", value)} options={[ { value: "", label: __("-- Select a Trip --", "yatra") }, ...((Array.isArray(tripsData) ? tripsData : []).map( (trip: any) => ({ value: trip.id.toString(), label: `${trip.title || trip.name || ""}${trip.trip_type === "single_day" ? " (Single Day)" : trip.trip_type === "multi_day" ? " (Multi-Day)" : ""}`, }), ) || []), ]} placeholder={__("Search or select a trip...", "yatra")} searchPlaceholder={__("Search by trip name or ID...", "yatra")} className={errors.trip_id ? "border-red-500" : ""} error={!!errors.trip_id} required disabled={isLoadingTrips || isEditMode} /> {isEditMode && (
)}
{errors.trip_id && (

{errors.trip_id}

)}
{!isSingleDayTrip && (
onFieldChange("day", e.target.value)} className={errors.day ? "border-red-500" : ""} required /> {errors.day && (

{errors.day}

)}
)} {isSingleDayTrip && (
onFieldChange("day", e.target.value)} className={errors.day ? "border-red-500" : ""} required /> {errors.day && (

{errors.day}

)}
)}
onFieldChange("day_title", e.target.value)} placeholder={__("e.g., Arrival & Welcome to Paradise", "yatra")} />