Something went wrong. Try again.
fork of prime agent with changes i want but are not upstreamable probqbly (and some fixes)
Something went wrong. Try again.
1.7 kB · 56 lines
TypeScript
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657import { Box, Markdown, type MarkdownTheme, Spacer, Text } from "@earendil-works/pi-tui";import type { BranchSummaryMessage } from "../../../core/messages.js";import { getMarkdownTheme, theme } from "../theme/theme.js";import { expandCollapseHint } from "./keybinding-hints.js";
/** * Component that renders a branch summary message with collapsed/expanded state. * Uses same background color as custom messages for visual consistency. */export class BranchSummaryMessageComponent extends Box { private expanded = false; private message: BranchSummaryMessage; private markdownTheme: MarkdownTheme;
constructor(message: BranchSummaryMessage, markdownTheme: MarkdownTheme = getMarkdownTheme()) { super(1, 1, (t) => theme.bg("customMessageBg", t)); this.message = message; this.markdownTheme = markdownTheme; this.updateDisplay(); }
setExpanded(expanded: boolean): void { this.expanded = expanded; this.updateDisplay(); }
override invalidate(): void { super.invalidate(); this.updateDisplay(); }
private updateDisplay(): void { this.clear();
const label = theme.fg("customMessageLabel", `\x1b[1m[branch]\x1b[22m`); this.addChild(new Text(label, 0, 0)); this.addChild(new Spacer(1));
if (this.expanded) { const header = "**Branch Summary**\n\n"; this.addChild( new Markdown(header + this.message.summary, 0, 0, this.markdownTheme, { color: (text: string) => theme.fg("customMessageText", text), }), ); } else { this.addChild( new Text( `${theme.fg("customMessageText", "Branch summary")} ${expandCollapseHint("app.tools.expand", false)}`, 0, 0, ), ); } }}