mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-01 04:42:10 +03:00
Adiciona dashboard TUI com 7 abas (Overview, Combos, Providers, Keys, Logs, Health, Cost) via Ink, 13 componentes reutilizáveis em tui-components/, menu interativo ao iniciar sem subcomando, e flag --tui no comando dashboard.
16 lines
568 B
JavaScript
16 lines
568 B
JavaScript
import React from "react";
|
|
import { Text } from "ink";
|
|
|
|
const BARS = ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"];
|
|
|
|
export function Sparkline({ data = [], color = "cyan", width = 10 }) {
|
|
const slice = data.slice(-width);
|
|
if (slice.length === 0) return <Text dimColor>{"─".repeat(width)}</Text>;
|
|
const max = Math.max(...slice, 1);
|
|
const chars = slice.map((v) => {
|
|
const idx = Math.round((v / max) * (BARS.length - 1));
|
|
return BARS[Math.min(Math.max(idx, 0), BARS.length - 1)];
|
|
});
|
|
return <Text color={color}>{chars.join("")}</Text>;
|
|
}
|