File size: 1,148 Bytes
e3278e4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
import React from "react";
import { Form, Input } from "antd";
import { TextInput } from "@tremor/react";
interface Field {
field_name: string;
field_type: string;
field_description: string;
field_value: string;
}
interface DynamicFieldsProps {
fields: Field[];
selectedProvider: string;
}
const getPlaceholder = (provider: string) => {
// Implement your placeholder logic based on the provider
return `Enter your ${provider} value here`;
};
const DynamicFields: React.FC<DynamicFieldsProps> = ({
fields,
selectedProvider,
}) => {
if (fields.length === 0) return null;
return (
<>
{fields.map((field) => (
<Form.Item
key={field.field_name}
rules={[{ required: true, message: "Required" }]}
label={field.field_name
.replace(/_/g, " ")
.replace(/\b\w/g, (char) => char.toUpperCase())}
name={field.field_name}
tooltip={field.field_description}
className="mb-2"
>
<TextInput placeholder={field.field_value} type="password" />
</Form.Item>
))}
</>
);
};
export default DynamicFields;
|