mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2025-11-19 03:56:18 +00:00
Update AppImage
This commit is contained in:
@@ -5,7 +5,7 @@ import { Button } from "@/components/ui/button"
|
|||||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
|
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
|
||||||
import { ArrowLeft, Loader2 } from "lucide-react"
|
import { ArrowLeft, Loader2 } from "lucide-react"
|
||||||
import { AreaChart, Area, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, Legend } from "recharts"
|
import { AreaChart, Area, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, Legend } from "recharts"
|
||||||
import { API_PORT } from "@/lib/api-config"
|
import { fetchApi } from "@/lib/api-config"
|
||||||
|
|
||||||
interface MetricsViewProps {
|
interface MetricsViewProps {
|
||||||
vmid: number
|
vmid: number
|
||||||
@@ -119,21 +119,7 @@ export function MetricsView({ vmid, vmName, vmType, onBack }: MetricsViewProps)
|
|||||||
setError(null)
|
setError(null)
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const { protocol, hostname, port } = window.location
|
const result = await fetchApi<any>(`/api/vms/${vmid}/metrics?timeframe=${timeframe}`)
|
||||||
const isStandardPort = port === "" || port === "80" || port === "443"
|
|
||||||
|
|
||||||
const baseUrl = isStandardPort ? "" : `${protocol}//${hostname}:${API_PORT}`
|
|
||||||
|
|
||||||
const apiUrl = `${baseUrl}/api/vms/${vmid}/metrics?timeframe=${timeframe}`
|
|
||||||
|
|
||||||
const response = await fetch(apiUrl)
|
|
||||||
|
|
||||||
if (!response.ok) {
|
|
||||||
const errorData = await response.json()
|
|
||||||
throw new Error(errorData.error || "Failed to fetch metrics")
|
|
||||||
}
|
|
||||||
|
|
||||||
const result = await response.json()
|
|
||||||
|
|
||||||
const transformedData = result.data.map((item: any) => {
|
const transformedData = result.data.map((item: any) => {
|
||||||
const date = new Date(item.time * 1000)
|
const date = new Date(item.time * 1000)
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import { fetchApi } from "@/lib/api-config"
|
||||||
|
|
||||||
export interface Temperature {
|
export interface Temperature {
|
||||||
name: string
|
name: string
|
||||||
original_name?: string
|
original_name?: string
|
||||||
@@ -208,4 +210,8 @@ export interface HardwareData {
|
|||||||
ups?: UPS | UPS[]
|
ups?: UPS | UPS[]
|
||||||
}
|
}
|
||||||
|
|
||||||
export const fetcher = (url: string) => fetch(url).then((res) => res.json())
|
export const fetcher = async (url: string) => {
|
||||||
|
// Extract just the endpoint from the URL if it's a full URL
|
||||||
|
const endpoint = url.startsWith("http") ? new URL(url).pathname : url
|
||||||
|
return fetchApi(endpoint)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user