@mrquake/quakecode-cli 0.64.3 → 0.64.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -297,11 +297,12 @@ export class InteractiveMode {
|
|
|
297
297
|
const cwd = this.sessionManager.getCwd();
|
|
298
298
|
const owner = os.userInfo().username;
|
|
299
299
|
const title = `${DISPLAY_NAME} v${this.version}`;
|
|
300
|
-
const leftInner =
|
|
301
|
-
const maxTotalWidth = Math.max(
|
|
300
|
+
const leftInner = 34;
|
|
301
|
+
const maxTotalWidth = Math.max(118, Math.min(this.ui.terminal.columns - 6, 168));
|
|
302
302
|
const rightInner = maxTotalWidth - leftInner - 7;
|
|
303
303
|
const totalWidth = leftInner + rightInner + 7;
|
|
304
304
|
const border = (s) => theme.fg("borderAccent", s);
|
|
305
|
+
const accent = (s) => theme.bold(theme.fg("accent", s));
|
|
305
306
|
const fit = (text, width) => {
|
|
306
307
|
let out = text;
|
|
307
308
|
while (visibleWidth(out) > width && out.length > 0) {
|
|
@@ -316,19 +317,28 @@ export class InteractiveMode {
|
|
|
316
317
|
return out + " ".repeat(remaining);
|
|
317
318
|
};
|
|
318
319
|
const row = (left, right) => `${border("│")} ${fit(left, leftInner)} ${border("│")} ${fit(right, rightInner)} ${border("│")}`;
|
|
319
|
-
const top =
|
|
320
|
+
const top = `╭── ${title} ${"─".repeat(Math.max(0, totalWidth - title.length - 5))}╮`;
|
|
320
321
|
const bottom = `╰${"─".repeat(totalWidth - 2)}╯`;
|
|
321
|
-
const
|
|
322
|
-
const
|
|
323
|
-
const
|
|
322
|
+
const logo1 = accent(" ██████╗ ██╗ ██╗ █████╗ ██╗ ██╗███████╗ ");
|
|
323
|
+
const logo2 = accent("██╔═══██╗██║ ██║██╔══██╗██║ ██╔╝██╔════╝ ");
|
|
324
|
+
const logo3 = accent("██║ ██║██║ ██║███████║█████╔╝ █████╗ ");
|
|
325
|
+
const logo4 = accent("██║▄▄ ██║██║ ██║██╔══██║██╔═██╗ ██╔══╝ ");
|
|
326
|
+
const logo5 = accent("╚██████╔╝╚██████╔╝██║ ██║██║ ██╗███████╗ ");
|
|
327
|
+
const logo6 = accent(" ╚══▀▀═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ");
|
|
328
|
+
const quick = theme.fg("muted", "/login") + " · " + theme.fg("muted", "/model") + " · " + theme.fg("muted", "/resume") + " · " + theme.fg("muted", "/agents");
|
|
329
|
+
const tips = `${theme.bold("Quick start")} ${quick}`;
|
|
330
|
+
const status = `${theme.bold("Model")} ${theme.fg("borderAccent", currentModel)} · ${theme.bold("User")} ${owner}`;
|
|
331
|
+
const workspace = `${theme.bold("Workspace")} ${cwd}`;
|
|
332
|
+
const note = theme.fg("dim", "Built for terminal-native coding, sessions, tools, and fast iteration.");
|
|
324
333
|
const dashboard = [
|
|
325
334
|
border(top),
|
|
326
|
-
row(
|
|
327
|
-
row(
|
|
328
|
-
row(
|
|
329
|
-
row(
|
|
330
|
-
row(
|
|
331
|
-
row(
|
|
335
|
+
row(logo1, `${theme.bold("Welcome back")} ${owner}`),
|
|
336
|
+
row(logo2, tips),
|
|
337
|
+
row(logo3, "Run /init to generate AGENTS.md for this repo."),
|
|
338
|
+
row(logo4, "Use Tab for completion, Ctrl+R to resume, and /settings to tune Quake."),
|
|
339
|
+
row(logo5, status),
|
|
340
|
+
row(logo6, workspace),
|
|
341
|
+
row(theme.fg("dim", " "), note),
|
|
332
342
|
border(bottom),
|
|
333
343
|
].join("\n");
|
|
334
344
|
this.builtInHeader = new Text(dashboard, 1, 0);
|