diff --git a/application/src/components/servers/AddServerAgentDialog.tsx b/application/src/components/servers/AddServerAgentDialog.tsx index 3525495..6556476 100644 --- a/application/src/components/servers/AddServerAgentDialog.tsx +++ b/application/src/components/servers/AddServerAgentDialog.tsx @@ -35,10 +35,7 @@ export const AddServerAgentDialog: React.FC = ({ const [isSubmitting, setIsSubmitting] = useState(false); const [activeTab, setActiveTab] = useState("configure"); - // Get current PocketBase URL const currentPocketBaseUrl = getCurrentEndpoint(); - - // Form state const [formData, setFormData] = useState({ serverName: "", description: "", @@ -49,12 +46,16 @@ export const AddServerAgentDialog: React.FC = ({ notificationEnabled: true, }); - // Generated server token and agent ID - const [serverToken] = useState(() => + const generateNewCredentials = () => ({ + serverToken: `srv_${Math.random().toString(36).substring(2, 15)}${Math.random().toString(36).substring(2, 15)}`, + serverId: `agent_${Math.random().toString(36).substring(2, 15)}${Math.random().toString(36).substring(2, 15)}` + }); + + const [serverToken, setServerToken] = useState(() => `srv_${Math.random().toString(36).substring(2, 15)}${Math.random().toString(36).substring(2, 15)}` ); - const [serverId] = useState(() => + const [serverId, setServerId] = useState(() => `agent_${Math.random().toString(36).substring(2, 15)}${Math.random().toString(36).substring(2, 15)}` ); @@ -74,8 +75,6 @@ export const AddServerAgentDialog: React.FC = ({ setIsSubmitting(true); try { - // Here you would typically create the server monitoring configuration - // For now, we'll simulate the process await new Promise(resolve => setTimeout(resolve, 1500)); toast({ @@ -83,7 +82,9 @@ export const AddServerAgentDialog: React.FC = ({ description: t('serverAgentCreatedDesc').replace('{name}', formData.serverName), }); - // Switch to one-click install tab after successful creation + const newCredentials = generateNewCredentials(); + setServerToken(newCredentials.serverToken); + setServerId(newCredentials.serverId); setActiveTab("one-click"); onAgentAdded(); } catch (error) { @@ -98,7 +99,6 @@ export const AddServerAgentDialog: React.FC = ({ }; const handleDialogClose = () => { - // Reset form and tab when dialog closes setActiveTab("configure"); setFormData({ serverName: "", @@ -109,6 +109,11 @@ export const AddServerAgentDialog: React.FC = ({ dockerEnabled: false, notificationEnabled: true, }); + + const newCredentials = generateNewCredentials(); + setServerToken(newCredentials.serverToken); + setServerId(newCredentials.serverId); + onOpenChange(false); }; @@ -121,7 +126,7 @@ export const AddServerAgentDialog: React.FC = ({ {t('addServerMonitoringAgent')} - {t('configureAgentDesc')} + {t('configureAgentDesc')} @@ -154,7 +159,7 @@ export const AddServerAgentDialog: React.FC = ({ onDialogClose={handleDialogClose} /> - +