Fix dashboard token button.

This commit is contained in:
2025-10-14 18:54:23 +00:00
parent 684f29ba4f
commit 5260373fee
3 changed files with 16 additions and 2 deletions

View File

@@ -10,14 +10,14 @@ import {
import { ConfigEditor } from "./ConfigEditor"; import { ConfigEditor } from "./ConfigEditor";
import { Button, Input, Label } from "./ui"; import { Button, Input, Label } from "./ui";
import { Check, Edit2, HelpCircle, X, ExternalLink, Copy } from "lucide-react"; import { Check, Edit2, HelpCircle, X, ExternalLink, Copy } from "lucide-react";
import { useDashboardToken } from "../services/api/hooks/useUtilities"; import { useInstanceDashboardToken } from "../services/api/hooks/useUtilities";
import { useInstance } from "../services/api"; import { useInstance } from "../services/api";
export function Advanced() { export function Advanced() {
const { instanceId } = useParams<{ instanceId: string }>(); const { instanceId } = useParams<{ instanceId: string }>();
const [copied, setCopied] = useState(false); const [copied, setCopied] = useState(false);
const { data: instance } = useInstance(instanceId || ''); const { data: instance } = useInstance(instanceId || '');
const { data: dashboardToken, isLoading: tokenLoading } = useDashboardToken(); const { data: dashboardToken, isLoading: tokenLoading } = useInstanceDashboardToken(instanceId || '');
const [upstreamValue, setUpstreamValue] = useState("https://mywildcloud.org"); const [upstreamValue, setUpstreamValue] = useState("https://mywildcloud.org");
const [editingUpstream, setEditingUpstream] = useState(false); const [editingUpstream, setEditingUpstream] = useState(false);

View File

@@ -9,6 +9,15 @@ export function useDashboardToken() {
}); });
} }
export function useInstanceDashboardToken(instanceId: string) {
return useQuery({
queryKey: ['instances', instanceId, 'utilities', 'dashboard', 'token'],
queryFn: () => utilitiesApi.getInstanceDashboardToken(instanceId),
staleTime: 30 * 60 * 1000, // 30 minutes
enabled: !!instanceId,
});
}
export function useClusterVersions() { export function useClusterVersions() {
return useQuery({ return useQuery({
queryKey: ['utilities', 'version'], queryKey: ['utilities', 'version'],

View File

@@ -24,6 +24,11 @@ export const utilitiesApi = {
return response.data; return response.data;
}, },
async getInstanceDashboardToken(instanceName: string): Promise<{ token: string }> {
const response = await apiClient.get<{ data: { token: string }; success: boolean }>(`/api/v1/instances/${instanceName}/utilities/dashboard/token`);
return response.data;
},
async getNodeIPs(): Promise<{ ips: string[] }> { async getNodeIPs(): Promise<{ ips: string[] }> {
return apiClient.get('/api/v1/utilities/nodes/ips'); return apiClient.get('/api/v1/utilities/nodes/ips');
}, },