mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-27 19:54:13 +00:00
build(ui): add enterprise cta
This commit is contained in:
parent
4e230f0a2e
commit
01adeda2e4
8 changed files with 106 additions and 30 deletions
|
@ -25,13 +25,18 @@ interface alertingSettingsItem {
|
|||
field_default_value: any;
|
||||
field_description: string;
|
||||
stored_in_db: boolean | null;
|
||||
premium_field: boolean;
|
||||
}
|
||||
|
||||
interface AlertingSettingsProps {
|
||||
accessToken: string | null;
|
||||
premiumUser: boolean;
|
||||
}
|
||||
|
||||
const AlertingSettings: React.FC<AlertingSettingsProps> = ({ accessToken }) => {
|
||||
const AlertingSettings: React.FC<AlertingSettingsProps> = ({
|
||||
accessToken,
|
||||
premiumUser,
|
||||
}) => {
|
||||
const [alertingSettings, setAlertingSettings] = useState<
|
||||
alertingSettingsItem[]
|
||||
>([]);
|
||||
|
@ -116,6 +121,7 @@ const AlertingSettings: React.FC<AlertingSettingsProps> = ({ accessToken }) => {
|
|||
handleInputChange={handleInputChange}
|
||||
handleResetField={handleResetField}
|
||||
handleSubmit={handleSubmit}
|
||||
premiumUser={premiumUser}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
|
|
@ -9,6 +9,7 @@ interface AlertingSetting {
|
|||
field_type: string;
|
||||
field_value: any;
|
||||
stored_in_db: boolean | null;
|
||||
premium_field: boolean;
|
||||
}
|
||||
|
||||
interface DynamicFormProps {
|
||||
|
@ -16,6 +17,7 @@ interface DynamicFormProps {
|
|||
handleInputChange: (fieldName: string, newValue: any) => void;
|
||||
handleResetField: (fieldName: string, index: number) => void;
|
||||
handleSubmit: (formValues: Record<string, any>) => void;
|
||||
premiumUser: boolean;
|
||||
}
|
||||
|
||||
const DynamicForm: React.FC<DynamicFormProps> = ({
|
||||
|
@ -23,19 +25,27 @@ const DynamicForm: React.FC<DynamicFormProps> = ({
|
|||
handleInputChange,
|
||||
handleResetField,
|
||||
handleSubmit,
|
||||
premiumUser,
|
||||
}) => {
|
||||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = () => {
|
||||
const formData = form.getFieldsValue();
|
||||
handleSubmit(formData);
|
||||
const isEmpty = Object.values(formData).some(
|
||||
(value) => value === "" || value === null || value === undefined
|
||||
);
|
||||
if (!isEmpty) {
|
||||
handleSubmit(formData);
|
||||
} else {
|
||||
console.log("Some form fields are empty.");
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<Form form={form} onFinish={onFinish} labelAlign="left">
|
||||
{alertingSettings.map((value, index) => (
|
||||
<TableRow key={index}>
|
||||
<TableCell>
|
||||
<TableCell align="center">
|
||||
<Text>{value.field_name}</Text>
|
||||
<p
|
||||
style={{
|
||||
|
@ -48,22 +58,52 @@ const DynamicForm: React.FC<DynamicFormProps> = ({
|
|||
{value.field_description}
|
||||
</p>
|
||||
</TableCell>
|
||||
<Form.Item name={value.field_name}>
|
||||
<TableCell>
|
||||
{value.field_type === "Integer" ? (
|
||||
<InputNumber
|
||||
step={1}
|
||||
value={value.field_value}
|
||||
onChange={(e) => handleInputChange(value.field_name, e)}
|
||||
/>
|
||||
) : (
|
||||
<Input
|
||||
value={value.field_value}
|
||||
onChange={(e) => handleInputChange(value.field_name, e)}
|
||||
/>
|
||||
)}
|
||||
</TableCell>
|
||||
</Form.Item>
|
||||
{value.premium_field ? (
|
||||
premiumUser ? (
|
||||
<Form.Item name={value.field_name}>
|
||||
<TableCell>
|
||||
{value.field_type === "Integer" ? (
|
||||
<InputNumber
|
||||
step={1}
|
||||
value={value.field_value}
|
||||
onChange={(e) => handleInputChange(value.field_name, e)}
|
||||
/>
|
||||
) : (
|
||||
<Input
|
||||
value={value.field_value}
|
||||
onChange={(e) => handleInputChange(value.field_name, e)}
|
||||
/>
|
||||
)}
|
||||
</TableCell>
|
||||
</Form.Item>
|
||||
) : (
|
||||
<TableCell>
|
||||
<Button className="flex items-center justify-center">
|
||||
<a href="https://forms.gle/W3U4PZpJGFHWtHyA9" target="_blank">
|
||||
✨ Enterprise Feature
|
||||
</a>
|
||||
</Button>
|
||||
</TableCell>
|
||||
)
|
||||
) : (
|
||||
<Form.Item name={value.field_name} className="mb-0">
|
||||
<TableCell>
|
||||
{value.field_type === "Integer" ? (
|
||||
<InputNumber
|
||||
step={1}
|
||||
value={value.field_value}
|
||||
onChange={(e) => handleInputChange(value.field_name, e)}
|
||||
className="p-0"
|
||||
/>
|
||||
) : (
|
||||
<Input
|
||||
value={value.field_value}
|
||||
onChange={(e) => handleInputChange(value.field_name, e)}
|
||||
/>
|
||||
)}
|
||||
</TableCell>
|
||||
</Form.Item>
|
||||
)}
|
||||
<TableCell>
|
||||
{value.stored_in_db == true ? (
|
||||
<Badge icon={CheckCircleIcon} className="text-white">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue