Some checks failed
Build App / compute-version (push) Successful in 3s
Build App / build-macos (push) Failing after 7s
Build App / build-windows (push) Failing after 19s
Build App / build-linux (push) Failing after 1m57s
Build App / create-tag (push) Has been skipped
Build App / sync-to-github (push) Has been skipped
When the user highlights text in the terminal, a "Ctrl+Shift+C to copy" hint appears in the status bar next to the project/terminal counts. The hint disappears when the selection is cleared. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
import { useShallow } from "zustand/react/shallow";
|
|
import { useAppState } from "../../store/appState";
|
|
|
|
export default function StatusBar() {
|
|
const { projects, sessions, terminalHasSelection } = useAppState(
|
|
useShallow(s => ({ projects: s.projects, sessions: s.sessions, terminalHasSelection: s.terminalHasSelection }))
|
|
);
|
|
const running = projects.filter((p) => p.status === "running").length;
|
|
|
|
return (
|
|
<div className="flex items-center h-6 px-4 bg-[var(--bg-tertiary)] border border-[var(--border-color)] rounded-lg text-xs text-[var(--text-secondary)]">
|
|
<span>
|
|
{projects.length} project{projects.length !== 1 ? "s" : ""}
|
|
</span>
|
|
<span className="mx-2">|</span>
|
|
<span>
|
|
{running} running
|
|
</span>
|
|
<span className="mx-2">|</span>
|
|
<span>
|
|
{sessions.length} terminal{sessions.length !== 1 ? "s" : ""}
|
|
</span>
|
|
{terminalHasSelection && (
|
|
<>
|
|
<span className="mx-2">|</span>
|
|
<span className="text-[var(--accent)]">Ctrl+Shift+C to copy</span>
|
|
</>
|
|
)}
|
|
</div>
|
|
);
|
|
}
|