mirror of
https://github.com/Dvorinka/Dash.git
synced 2026-10-28 07:41:27 +00:00
P5a: 24h uptime bar strip + latency chart on monitor detail, iframe
embed widget, generic JSON-path widget, accent/wallpaper/custom CSS
settings, PWA manifest + service worker, demo GIF.
P5b: transport picker + per-transport fields + test button in
settings; per-monitor alert-rule fields in dialogs.
P5c: container cpu/mem columns, SMART/ZFS/GPU sections on system
detail, subdomains section on domain detail.
P5d: login/setup page + auth middleware client handling, board
switcher + /b/:slug routes, full string extraction to typed t() keys
with {param} interpolation, complete cs locale, language select.
Authored By: TDvorak <[email protected]>
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
23 lines
815 B
TypeScript
23 lines
815 B
TypeScript
import type { WidgetData } from "@/widgets";
|
|
import type { Item } from "@/types";
|
|
|
|
// JSON value — renders the scalar the backend extracted at config.path.
|
|
export function JsonPathWidget({ item, data, error }: {
|
|
item: Item;
|
|
data: WidgetData | undefined;
|
|
error: string | undefined;
|
|
}) {
|
|
const label = typeof data?.label === "string" && data.label ? data.label : item.name;
|
|
const value = data?.value;
|
|
return (
|
|
<div className="flex min-w-0 flex-col justify-center gap-0.5">
|
|
<span className="truncate text-[10.5px] uppercase tracking-[0.1em] text-text-faint">
|
|
{label}
|
|
</span>
|
|
<span className="truncate font-mono text-[18px] font-medium leading-tight">
|
|
{error ? "err" : value === undefined ? "…" : typeof value === "object" ? JSON.stringify(value) : String(value)}
|
|
</span>
|
|
</div>
|
|
);
|
|
}
|