feat: daemon health panel, brand-rail status chips, user timezone selector
Build / build (push) Successful in 10m35s
Build / build (push) Successful in 10m35s
- Health API now surfaces Docker /info + /version (version, platform, kernel, container/image counts, storage driver, memory, latency) and NPM aggregates (proxy host total, managed-by-Tinyforge count, access lists, certificates, endpoint URL). - Docker/NPM indicators moved out of the sidebar footer and into a compact mono-styled rail directly under the Tinyforge brand title, with pulse/fault animations and click-to-expand error hints. - New SystemDaemonsCard on the dashboard: two terminal-styled panels (Docker Engine + Proxy) with a running/paused/stopped stacked bar, key-value diagnostics, and a total-vs-managed proportion meter on the proxy-hosts tile. - Shared health store so the sidebar and dashboard share a single 30 s poll instead of duplicating traffic. - User-facing timezone preference with auto-detect fallback; all dates across projects, sites, stacks, settings, backup, event log and stale containers now render through \$fmt.date / \$fmt.datetime. - en/ru translations for both features.
This commit is contained in:
@@ -859,6 +859,43 @@
|
||||
"proxies": "Proxies",
|
||||
"recentErrors": "Recent Errors"
|
||||
},
|
||||
"daemons": {
|
||||
"title": "Daemons",
|
||||
"refresh": "Refresh",
|
||||
"refreshing": "Refreshing",
|
||||
"docker": "Docker Engine",
|
||||
"npm": "Nginx Proxy Manager",
|
||||
"traefik": "Traefik",
|
||||
"proxy": "Proxy",
|
||||
"online": "Online",
|
||||
"offline": "Offline",
|
||||
"notConfigured": "Not configured",
|
||||
"containers": "Containers",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"stopped": "Stopped",
|
||||
"version": "Version",
|
||||
"apiVersion": "API Version",
|
||||
"platform": "Platform",
|
||||
"kernel": "Kernel",
|
||||
"cpu": "CPU",
|
||||
"memory": "Memory",
|
||||
"storage": "Storage Driver",
|
||||
"images": "Images",
|
||||
"latency": "Latency",
|
||||
"rootDir": "Root Dir",
|
||||
"provider": "Provider",
|
||||
"endpoint": "Endpoint",
|
||||
"proxyHosts": "Proxy Hosts",
|
||||
"managed": "managed",
|
||||
"external": "external",
|
||||
"accessLists": "Access Lists",
|
||||
"certificates": "Certificates",
|
||||
"dockerHint": "Check that the Docker daemon is running and that the socket is reachable.",
|
||||
"proxyHint": "Verify the proxy URL, credentials, and that the service is listening.",
|
||||
"noProxyDesc": "No proxy provider is configured. Tinyforge can manage routes via Nginx Proxy Manager or Traefik.",
|
||||
"configureProxy": "Configure in Settings"
|
||||
},
|
||||
"dns": {
|
||||
"title": "DNS Records",
|
||||
"description": "View and manage DNS records created by Tinyforge.",
|
||||
@@ -1021,5 +1058,26 @@
|
||||
"fetchLogs": "Failed to load logs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"timezone": {
|
||||
"eyebrow": "The Forge // Chronograph",
|
||||
"title": "Display timezone",
|
||||
"subtitle": "All dates across Tinyforge — event log, deploys, backups, sites — render in this zone.",
|
||||
"modeLabel": "Detection mode",
|
||||
"modeAuto": "Auto-detect",
|
||||
"modeManual": "Manual",
|
||||
"autoDetect": "Auto-detect from browser",
|
||||
"autoBadge": "Auto",
|
||||
"activeZone": "Active zone",
|
||||
"changeZone": "Change timezone",
|
||||
"clickToChange": "Click to pick a zone →",
|
||||
"pickerTitle": "Select timezone",
|
||||
"pickerPlaceholder": "Search zones — city, region, UTC offset…",
|
||||
"groupAuto": "Detection",
|
||||
"groupPopular": "Popular",
|
||||
"groupAll": "All timezones",
|
||||
"previewFull": "Full timestamp",
|
||||
"previewDate": "Date only",
|
||||
"previewHint": "Timestamps like the event log will look exactly like this."
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user