From dd6c9df8509b8056efc43865d00f6d25ae238429 Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Fri, 6 Sep 2024 10:27:47 -0700 Subject: [PATCH] use form correctly --- .../src/components/view_key_table.tsx | 103 ++++++++---------- 1 file changed, 44 insertions(+), 59 deletions(-) diff --git a/ui/litellm-dashboard/src/components/view_key_table.tsx b/ui/litellm-dashboard/src/components/view_key_table.tsx index 659567949..4116e033b 100644 --- a/ui/litellm-dashboard/src/components/view_key_table.tsx +++ b/ui/litellm-dashboard/src/components/view_key_table.tsx @@ -123,6 +123,7 @@ const ViewKeyTable: React.FC = ({ const [regenerateDialogVisible, setRegenerateDialogVisible] = useState(false); const [regeneratedKey, setRegeneratedKey] = useState(null); const [regenerateFormData, setRegenerateFormData] = useState(null); + const [regenerateForm] = Form.useForm(); const [knownTeamIDs, setKnownTeamIDs] = useState(initialKnownTeamIDs); @@ -719,9 +720,12 @@ const ViewKeyTable: React.FC = ({ const handleRegenerateClick = (token: any) => { setSelectedToken(token); - setRegenerateFormData({ - ...token, - duration: token.duration || 'none', // Set a default value if duration is not present + regenerateForm.setFieldsValue({ + key_alias: token.key_alias, + max_budget: token.max_budget, + tpm_limit: token.tpm_limit, + rpm_limit: token.rpm_limit, + duration: token.duration || '', }); setRegenerateDialogVisible(true); }; @@ -740,25 +744,22 @@ const ViewKeyTable: React.FC = ({ } try { - if (regenerateFormData == null) { - message.error("Please fill in the key details"); - return; - } - const response = await regenerateKeyCall(accessToken, regenerateFormData); + const formValues = await regenerateForm.validateFields(); + const response = await regenerateKeyCall(accessToken, { ...formValues, token: selectedToken?.token }); setRegeneratedKey(response.key); // Update the data state with the new key_name if (data) { const updatedData = data.map(item => item.token === selectedToken?.token - ? { ...item, key_name: response.key_name, ...regenerateFormData } + ? { ...item, key_name: response.key_name, ...formValues } : item ); setData(updatedData); } setRegenerateDialogVisible(false); - setRegenerateFormData(null); + regenerateForm.resetFields(); message.success("API Key regenerated successfully"); } catch (error) { console.error("Error regenerating key:", error); @@ -1139,12 +1140,12 @@ const ViewKeyTable: React.FC = ({ visible={regenerateDialogVisible} onCancel={() => { setRegenerateDialogVisible(false); - setRegenerateFormData(null); + regenerateForm.resetFields(); }} footer={[ , @@ -1158,58 +1159,42 @@ const ViewKeyTable: React.FC = ({ ]} > {premiumUser ? ( -
- - handleRegenerateFormChange('key_alias', e.target.value)} - /> + + + - - handleRegenerateFormChange('max_budget', value)} - /> + + - - handleRegenerateFormChange('tpm_limit', value)} - /> + + - - handleRegenerateFormChange('rpm_limit', value)} - /> + + - handleRegenerateFormChange('duration', e.target.value)} - /> -
- Current expiry: { - selectedToken?.expires != null ? ( - new Date(selectedToken.expires).toLocaleString(undefined, { - day: 'numeric', - month: 'long', - year: 'numeric', - hour: 'numeric', - minute: 'numeric', - second: 'numeric' - }) - ) : ( - 'Never' - ) - } -
-
+ name="duration" + label="Expire Key (eg: 30s, 30h, 30d)" + className="mt-8" + > + +
+
+ Current expiry: { + selectedToken?.expires != null ? ( + new Date(selectedToken.expires).toLocaleString(undefined, { + day: 'numeric', + month: 'long', + year: 'numeric', + hour: 'numeric', + minute: 'numeric', + second: 'numeric' + }) + ) : ( + 'Never' + ) + } +
) : (