mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-11-01 16:15:24 +00:00
fix: redesign session log player controls, fix tooltip overlap and drop dot separators
This commit is contained in:
1 parent
b3c8f37c0d
commit
9015d5dccb
35 files changed
+434
-283
No files matched your search
@@ -79,8 +79,9 @@ export function PanePreview({
|
||||
return (
|
||||
<>
|
||||
<div className="flex items-center gap-3 border-b border-border px-3 py-1.5 text-xs text-muted-foreground">
|
||||
<span className="font-medium text-foreground">
|
||||
{pane.sessionName} · {pane.paneId}
|
||||
<span className="flex gap-2 font-medium text-foreground">
|
||||
<span>{pane.sessionName}</span>
|
||||
<span className="text-muted-foreground">{pane.paneId}</span>
|
||||
</span>
|
||||
{metrics && (
|
||||
<>
|
||||
|
||||
@@ -72,8 +72,9 @@ export function SearchResults({
|
||||
className="flex cursor-pointer items-baseline gap-2 px-3 py-1 text-xs hover:bg-muted/40"
|
||||
onClick={() => onSelect(match)}
|
||||
>
|
||||
<span className="shrink-0 font-medium text-primary">
|
||||
{match.sessionName} · {match.paneId}
|
||||
<span className="flex shrink-0 gap-1.5 font-medium text-primary">
|
||||
<span>{match.sessionName}</span>
|
||||
<span className="text-primary/60">{match.paneId}</span>
|
||||
</span>
|
||||
<span className="truncate font-mono text-muted-foreground">
|
||||
{highlightMatch(match.text, query)}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Session/window/pane tree styled after the VSCode "tmux manager" view.
|
||||
// Each session is a single row: status dot, name, inline tag badges, and a
|
||||
// right-aligned meta label (relative time · cpu · mem) that is overlaid by
|
||||
// right-aligned meta label (relative time, cpu, mem) that is overlaid by
|
||||
// the hover actions (attach, new window, …-menu). The overlay uses a grid
|
||||
// stack with opacity so rows never shift and the actions stay reachable via
|
||||
// keyboard focus.
|
||||
@@ -119,11 +119,17 @@ export function SessionTree({
|
||||
});
|
||||
}
|
||||
|
||||
function metaLabel(session: TmuxSessionOverview): string {
|
||||
function metaLabel(session: TmuxSessionOverview) {
|
||||
const time = formatRelativeTime(session.lastActivity, now, t);
|
||||
const agg = metricsBySession.get(session.name);
|
||||
if (!agg) return time;
|
||||
return `${time} · ${agg.cpu.toFixed(0)}% · ${formatMem(agg.memKb)}`;
|
||||
return (
|
||||
<span className="flex gap-2">
|
||||
<span>{time}</span>
|
||||
<span>{agg.cpu.toFixed(0)}%</span>
|
||||
<span>{formatMem(agg.memKb)}</span>
|
||||
</span>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
Reference in new issue
Block a user