import React from 'react'; import { router, usePage } from '@inertiajs/react'; import { useInertiaForm } from 'use-inertia-form'; import { SearchableSelect } from '../components/SearchableSelect'; import type { Datasource, DatasourceFormProps } from '../types/datasource'; export default function DatasourceFormPage({ datasource, constants }: DatasourceFormProps) { const { rootPath } = usePage().props; const isEditing = !!datasource; const { data, setData, processing, errors } = useInertiaForm<{ datasource: Datasource }>({ datasource: { name: datasource?.name ?? '', datasource_type: datasource?.datasource_type ?? 's3', s3_bucket: datasource?.s3_bucket ?? '', s3_prefix: datasource?.s3_prefix ?? '', s3_region: datasource?.s3_region ?? 'us-east-1', } }); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); if (isEditing) { router.patch(`${rootPath}/datasources/${datasource.id}`, data); } else { router.post(`${rootPath}/datasources`, data); } }; return (