1
0
Fork 0
traefik/webui/src/contexts/version.tsx
Massimiliano D. 2580d0f95c
Update hub-button-app to use a local script
Co-authored-by: Firespray-31 <147506444+Firespray-31@users.noreply.github.com>
2025-09-22 09:00:44 +01:00

40 lines
1 KiB
TypeScript

import { createContext, ReactNode, useEffect, useState } from 'react'
type VersionContextProps = {
showHubButton: boolean
version: string
}
export const VersionContext = createContext<VersionContextProps>({
showHubButton: false,
version: '',
})
type VersionProviderProps = {
children: ReactNode
}
export const VersionProvider = ({ children }: VersionProviderProps) => {
const [showHubButton, setShowHubButton] = useState(false)
const [version, setVersion] = useState('')
useEffect(() => {
const fetchVersion = async () => {
try {
const response = await fetch('/api/version')
if (!response.ok) {
throw new Error(`Network error: ${response.status}`)
}
const data: API.Version = await response.json()
setShowHubButton(!data.disableDashboardAd)
setVersion(data.Version)
} catch (err) {
console.error(err)
}
}
fetchVersion()
}, [])
return <VersionContext.Provider value={{ showHubButton, version }}>{children}</VersionContext.Provider>
}