mirror of
https://github.com/woodchen-ink/nezha-dash-v1.git
synced 2025-07-18 09:31:55 +08:00
Merge branch 'main' of https://github.com/woodchen-ink/nezha-dash-v1
This commit is contained in:
commit
7f29e94d15
12
package.json
12
package.json
@ -24,8 +24,8 @@
|
||||
"@radix-ui/react-separator": "^1.1.1",
|
||||
"@radix-ui/react-slot": "^1.1.1",
|
||||
"@radix-ui/react-switch": "^1.1.2",
|
||||
"@tanstack/react-query": "^5.62.8",
|
||||
"@tanstack/react-query-devtools": "^5.62.8",
|
||||
"@tanstack/react-query": "^5.62.11",
|
||||
"@tanstack/react-query-devtools": "^5.62.11",
|
||||
"@tanstack/react-table": "^8.20.6",
|
||||
"@trivago/prettier-plugin-sort-imports": "^5.2.0",
|
||||
"@types/d3-geo": "^3.1.0",
|
||||
@ -43,10 +43,10 @@
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"react-i18next": "^15.2.0",
|
||||
"react-router-dom": "^7.1.0",
|
||||
"react-router-dom": "^7.1.1",
|
||||
"recharts": "^2.15.0",
|
||||
"sonner": "^1.7.1",
|
||||
"tailwind-merge": "^2.5.5",
|
||||
"tailwind-merge": "^2.6.0",
|
||||
"tailwindcss-animate": "^1.0.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
@ -63,7 +63,7 @@
|
||||
"postcss": "^8.4.49",
|
||||
"tailwindcss": "^3.4.17",
|
||||
"typescript": "~5.6.3",
|
||||
"typescript-eslint": "^8.18.1",
|
||||
"vite": "^6.0.5"
|
||||
"typescript-eslint": "^8.18.2",
|
||||
"vite": "^6.0.6"
|
||||
}
|
||||
}
|
||||
|
12
src/App.tsx
12
src/App.tsx
@ -32,11 +32,11 @@ const App: React.FC = () => {
|
||||
(window.ForceTheme as string) !== "" ? window.ForceTheme : undefined
|
||||
|
||||
useEffect(() => {
|
||||
if (settingData?.data?.custom_code) {
|
||||
InjectContext(settingData?.data?.custom_code)
|
||||
if (settingData?.data?.config?.custom_code) {
|
||||
InjectContext(settingData?.data?.config?.custom_code)
|
||||
setIsCustomCodeInjected(true)
|
||||
}
|
||||
}, [settingData?.data?.custom_code])
|
||||
}, [settingData?.data?.config?.custom_code])
|
||||
|
||||
useEffect(() => {
|
||||
if (forceTheme === "dark" || forceTheme === "light") {
|
||||
@ -52,12 +52,12 @@ const App: React.FC = () => {
|
||||
return null
|
||||
}
|
||||
|
||||
if (settingData?.data?.custom_code && !isCustomCodeInjected) {
|
||||
if (settingData?.data?.config?.custom_code && !isCustomCodeInjected) {
|
||||
return null
|
||||
}
|
||||
|
||||
if (settingData?.data?.language && !localStorage.getItem("language")) {
|
||||
i18n.changeLanguage(settingData?.data?.language)
|
||||
if (settingData?.data?.config?.language && !localStorage.getItem("language")) {
|
||||
i18n.changeLanguage(settingData?.data?.config?.language)
|
||||
}
|
||||
|
||||
const customBackgroundImage =
|
||||
|
@ -30,7 +30,7 @@ function Header() {
|
||||
|
||||
const onlineCount = connected ? (lastMessage ? JSON.parse(lastMessage.data).online || 0 : 0) : "..."
|
||||
|
||||
const siteName = settingData?.data?.site_name
|
||||
const siteName = settingData?.data?.config?.site_name
|
||||
|
||||
// @ts-expect-error CustomLogo is a global variable
|
||||
const customLogo = window.CustomLogo || "/apple-touch-icon.png"
|
||||
|
119
src/locales/de/translation.json
Normal file
119
src/locales/de/translation.json
Normal file
@ -0,0 +1,119 @@
|
||||
{
|
||||
"refreshing": "Aktualisieren",
|
||||
"serviceTracker": {
|
||||
"uptime": "Uptime",
|
||||
"today": "Heute",
|
||||
"noService": "Keine Servicedaten",
|
||||
"daysAgo": "vor Tagen",
|
||||
"loading": "Laden..."
|
||||
},
|
||||
"serverCard": {
|
||||
"uptime": "Uptime",
|
||||
"mem": "MEM",
|
||||
"upload": "Upload",
|
||||
"download": "Download",
|
||||
"system": "System",
|
||||
"stg": "STG",
|
||||
"totalDownload": "Download",
|
||||
"days": "Tage",
|
||||
"hours": "Stunden",
|
||||
"totalUpload": "Upload"
|
||||
},
|
||||
"serverDetail": {
|
||||
"unknown": "Unbekannt",
|
||||
"arch": "Arch",
|
||||
"status": "Status",
|
||||
"online": "Online",
|
||||
"days": "Tage",
|
||||
"upload": "Upload",
|
||||
"download": "Download",
|
||||
"offline": "Offline",
|
||||
"uptime": "Uptime",
|
||||
"version": "Version",
|
||||
"mem": "Speicher",
|
||||
"disk": "Festplatte",
|
||||
"region": "Region",
|
||||
"system": "System",
|
||||
"lastActive": "Letzte Aktivität",
|
||||
"temperature": "Temperatur"
|
||||
},
|
||||
"theme": {
|
||||
"system": "Folgen Sie dem System",
|
||||
"light": "Hell",
|
||||
"dark": "Dunkel"
|
||||
},
|
||||
"monitor": {
|
||||
"monitorCount": "Services",
|
||||
"noData": "Kein Server Monitoring Daten, bitte fügen sie zuerst einen Monitor hinzu",
|
||||
"avgDelay": "Latenz"
|
||||
},
|
||||
"billingInfo": {
|
||||
"error": "Fehler",
|
||||
"remaining": "Verbleibend",
|
||||
"indefinite": "Unbestimmt",
|
||||
"expired": "Verfallen",
|
||||
"days": "tage",
|
||||
"price": "Preis",
|
||||
"free": "Kostenlos",
|
||||
"usage-baseed": "Verwendungsbasiert"
|
||||
},
|
||||
"overview": "Überblick",
|
||||
"map": {
|
||||
"Regions": "Regionen",
|
||||
"Servers": "server",
|
||||
"Distributions": "Server sind verteilt in"
|
||||
},
|
||||
"pwa": {
|
||||
"reload": "Update",
|
||||
"newContent": "Neue Inhalte verfügbar",
|
||||
"offlineReady": "Anwendung bereit, offline zu verwenden"
|
||||
},
|
||||
"error": {
|
||||
"pageNotFound": "Seite nicht gefunden",
|
||||
"backToHome": "Zurück zur Startseite"
|
||||
},
|
||||
"whereTheTimeIs": "Wo die Zeit ist",
|
||||
"info": {
|
||||
"websocketConnecting": "WebSocket verbindet",
|
||||
"websocketConnected": "WebSocket verbunden",
|
||||
"websocketDisconnected": "WebSocket getrennt",
|
||||
"processing": "Verarbeiten..."
|
||||
},
|
||||
"tabSwitch": {
|
||||
"Network": "Netzwerk",
|
||||
"Detail": "Detail"
|
||||
},
|
||||
"nezha": "Nezha Monitoring",
|
||||
"dashboard": "Dashboard",
|
||||
"serverDetailChart": {
|
||||
"upload": "Upload",
|
||||
"download": "Download",
|
||||
"process": "Prozess",
|
||||
"disk": "Festplatte",
|
||||
"mem": "Speicher",
|
||||
"swap": "Swap"
|
||||
},
|
||||
"language": {
|
||||
"zh-TW": "Traditionelles Chinesisch",
|
||||
"en-US": "Englisch",
|
||||
"zh-CN": "vereinfachtes Chinesisch"
|
||||
},
|
||||
"online": "Online",
|
||||
"offline": "Offline",
|
||||
"serverOverview": {
|
||||
"totalServers": "Server insgesamt",
|
||||
"onlineServers": "Online Server",
|
||||
"offlineServers": "Offline Server",
|
||||
"totalBandwidth": "Gesamte Bandbreite",
|
||||
"speed": "Geschwindigkeit",
|
||||
"network": "Netzwerk"
|
||||
},
|
||||
"cycleTransfer": {
|
||||
"used": "benutzt",
|
||||
"total": "gesamt",
|
||||
"nextUpdate": "nächstes update"
|
||||
},
|
||||
"footer": {
|
||||
"themeBy": "Design von "
|
||||
}
|
||||
}
|
@ -140,12 +140,19 @@ export interface CycleTransferData {
|
||||
}
|
||||
}
|
||||
|
||||
type SettingConfig = {
|
||||
debug: boolean
|
||||
language: string
|
||||
site_name: string
|
||||
user_template: string
|
||||
admin_template: string
|
||||
custom_code: string
|
||||
}
|
||||
|
||||
export interface SettingResponse {
|
||||
success: boolean
|
||||
data: {
|
||||
language: string
|
||||
site_name: string
|
||||
custom_code: string
|
||||
config: SettingConfig
|
||||
version: string
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user