mirror of
http://10.0.2.1:3031/sauer/claude-code.git
synced 2026-06-30 14:16:58 +10:00
161 lines
19 KiB
TypeScript
161 lines
19 KiB
TypeScript
|
|
import { c as _c } from "react/compiler-runtime";
|
||
|
|
import * as React from 'react';
|
||
|
|
import { type ReactNode, useEffect } from 'react';
|
||
|
|
import { useMainLoopModel } from '../../hooks/useMainLoopModel.js';
|
||
|
|
import { useTerminalSize } from '../../hooks/useTerminalSize.js';
|
||
|
|
import { stringWidth } from '../../ink/stringWidth.js';
|
||
|
|
import { Box, Text } from '../../ink.js';
|
||
|
|
import { useAppState } from '../../state/AppState.js';
|
||
|
|
import { getEffortSuffix } from '../../utils/effort.js';
|
||
|
|
import { truncate } from '../../utils/format.js';
|
||
|
|
import { isFullscreenEnvEnabled } from '../../utils/fullscreen.js';
|
||
|
|
import { formatModelAndBilling, getLogoDisplayData, truncatePath } from '../../utils/logoV2Utils.js';
|
||
|
|
import { renderModelSetting } from '../../utils/model/model.js';
|
||
|
|
import { OffscreenFreeze } from '../OffscreenFreeze.js';
|
||
|
|
import { AnimatedClawd } from './AnimatedClawd.js';
|
||
|
|
import { Clawd } from './Clawd.js';
|
||
|
|
import { GuestPassesUpsell, incrementGuestPassesSeenCount, useShowGuestPassesUpsell } from './GuestPassesUpsell.js';
|
||
|
|
import { incrementOverageCreditUpsellSeenCount, OverageCreditUpsell, useShowOverageCreditUpsell } from './OverageCreditUpsell.js';
|
||
|
|
export function CondensedLogo() {
|
||
|
|
const $ = _c(29);
|
||
|
|
const {
|
||
|
|
columns
|
||
|
|
} = useTerminalSize();
|
||
|
|
const agent = useAppState(_temp);
|
||
|
|
const effortValue = useAppState(_temp2);
|
||
|
|
const model = useMainLoopModel();
|
||
|
|
const modelDisplayName = renderModelSetting(model);
|
||
|
|
const {
|
||
|
|
version,
|
||
|
|
cwd,
|
||
|
|
billingType,
|
||
|
|
agentName: agentNameFromSettings
|
||
|
|
} = getLogoDisplayData();
|
||
|
|
const agentName = agent ?? agentNameFromSettings;
|
||
|
|
const showGuestPassesUpsell = useShowGuestPassesUpsell();
|
||
|
|
const showOverageCreditUpsell = useShowOverageCreditUpsell();
|
||
|
|
let t0;
|
||
|
|
let t1;
|
||
|
|
if ($[0] !== showGuestPassesUpsell) {
|
||
|
|
t0 = () => {
|
||
|
|
if (showGuestPassesUpsell) {
|
||
|
|
incrementGuestPassesSeenCount();
|
||
|
|
}
|
||
|
|
};
|
||
|
|
t1 = [showGuestPassesUpsell];
|
||
|
|
$[0] = showGuestPassesUpsell;
|
||
|
|
$[1] = t0;
|
||
|
|
$[2] = t1;
|
||
|
|
} else {
|
||
|
|
t0 = $[1];
|
||
|
|
t1 = $[2];
|
||
|
|
}
|
||
|
|
useEffect(t0, t1);
|
||
|
|
let t2;
|
||
|
|
let t3;
|
||
|
|
if ($[3] !== showGuestPassesUpsell || $[4] !== showOverageCreditUpsell) {
|
||
|
|
t2 = () => {
|
||
|
|
if (showOverageCreditUpsell && !showGuestPassesUpsell) {
|
||
|
|
incrementOverageCreditUpsellSeenCount();
|
||
|
|
}
|
||
|
|
};
|
||
|
|
t3 = [showOverageCreditUpsell, showGuestPassesUpsell];
|
||
|
|
$[3] = showGuestPassesUpsell;
|
||
|
|
$[4] = showOverageCreditUpsell;
|
||
|
|
$[5] = t2;
|
||
|
|
$[6] = t3;
|
||
|
|
} else {
|
||
|
|
t2 = $[5];
|
||
|
|
t3 = $[6];
|
||
|
|
}
|
||
|
|
useEffect(t2, t3);
|
||
|
|
const textWidth = Math.max(columns - 15, 20);
|
||
|
|
const truncatedVersion = truncate(version, Math.max(textWidth - 13, 6));
|
||
|
|
const effortSuffix = getEffortSuffix(model, effortValue);
|
||
|
|
const {
|
||
|
|
shouldSplit,
|
||
|
|
truncatedModel,
|
||
|
|
truncatedBilling
|
||
|
|
} = formatModelAndBilling(modelDisplayName + effortSuffix, billingType, textWidth);
|
||
|
|
const cwdAvailableWidth = agentName ? textWidth - 1 - stringWidth(agentName) - 3 : textWidth;
|
||
|
|
const truncatedCwd = truncatePath(cwd, Math.max(cwdAvailableWidth, 10));
|
||
|
|
let t4;
|
||
|
|
if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
|
||
|
|
t4 = isFullscreenEnvEnabled() ? <AnimatedClawd /> : <Clawd />;
|
||
|
|
$[7] = t4;
|
||
|
|
} else {
|
||
|
|
t4 = $[7];
|
||
|
|
}
|
||
|
|
let t5;
|
||
|
|
if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
|
||
|
|
t5 = <Text bold={true}>Claude Code</Text>;
|
||
|
|
$[8] = t5;
|
||
|
|
} else {
|
||
|
|
t5 = $[8];
|
||
|
|
}
|
||
|
|
let t6;
|
||
|
|
if ($[9] !== truncatedVersion) {
|
||
|
|
t6 = <Text>{t5}{" "}<Text dimColor={true}>v{truncatedVersion}</Text></Text>;
|
||
|
|
$[9] = truncatedVersion;
|
||
|
|
$[10] = t6;
|
||
|
|
} else {
|
||
|
|
t6 = $[10];
|
||
|
|
}
|
||
|
|
let t7;
|
||
|
|
if ($[11] !== shouldSplit || $[12] !== truncatedBilling || $[13] !== truncatedModel) {
|
||
|
|
t7 = shouldSplit ? <><Text dimColor={true}>{truncatedModel}</Text><Text dimColor={true}>{truncatedBilling}</Text></> : <Text dimColor={true}>{truncatedModel} · {truncatedBilling}</Text>;
|
||
|
|
$[11] = shouldSplit;
|
||
|
|
$[12] = truncatedBilling;
|
||
|
|
$[13] = truncatedModel;
|
||
|
|
$[14] = t7;
|
||
|
|
} else {
|
||
|
|
t7 = $[14];
|
||
|
|
}
|
||
|
|
const t8 = agentName ? `@${agentName} · ${truncatedCwd}` : truncatedCwd;
|
||
|
|
let t9;
|
||
|
|
if ($[15] !== t8) {
|
||
|
|
t9 = <Text dimColor={true}>{t8}</Text>;
|
||
|
|
$[15] = t8;
|
||
|
|
$[16] = t9;
|
||
|
|
} else {
|
||
|
|
t9 = $[16];
|
||
|
|
}
|
||
|
|
let t10;
|
||
|
|
if ($[17] !== showGuestPassesUpsell) {
|
||
|
|
t10 = showGuestPassesUpsell && <GuestPassesUpsell />;
|
||
|
|
$[17] = showGuestPassesUpsell;
|
||
|
|
$[18] = t10;
|
||
|
|
} else {
|
||
|
|
t10 = $[18];
|
||
|
|
}
|
||
|
|
let t11;
|
||
|
|
if ($[19] !== showGuestPassesUpsell || $[20] !== showOverageCreditUpsell || $[21] !== textWidth) {
|
||
|
|
t11 = !showGuestPassesUpsell && showOverageCreditUpsell && <OverageCreditUpsell maxWidth={textWidth} twoLine={true} />;
|
||
|
|
$[19] = showGuestPassesUpsell;
|
||
|
|
$[20] = showOverageCreditUpsell;
|
||
|
|
$[21] = textWidth;
|
||
|
|
$[22] = t11;
|
||
|
|
} else {
|
||
|
|
t11 = $[22];
|
||
|
|
}
|
||
|
|
let t12;
|
||
|
|
if ($[23] !== t10 || $[24] !== t11 || $[25] !== t6 || $[26] !== t7 || $[27] !== t9) {
|
||
|
|
t12 = <OffscreenFreeze><Box flexDirection="row" gap={2} alignItems="center">{t4}<Box flexDirection="column">{t6}{t7}{t9}{t10}{t11}</Box></Box></OffscreenFreeze>;
|
||
|
|
$[23] = t10;
|
||
|
|
$[24] = t11;
|
||
|
|
$[25] = t6;
|
||
|
|
$[26] = t7;
|
||
|
|
$[27] = t9;
|
||
|
|
$[28] = t12;
|
||
|
|
} else {
|
||
|
|
t12 = $[28];
|
||
|
|
}
|
||
|
|
return t12;
|
||
|
|
}
|
||
|
|
function _temp2(s_0) {
|
||
|
|
return s_0.effortValue;
|
||
|
|
}
|
||
|
|
function _temp(s) {
|
||
|
|
return s.agent;
|
||
|
|
}
|
||
|
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlJlYWN0Tm9kZSIsInVzZUVmZmVjdCIsInVzZU1haW5Mb29wTW9kZWwiLCJ1c2VUZXJtaW5hbFNpemUiLCJzdHJpbmdXaWR0aCIsIkJveCIsIlRleHQiLCJ1c2VBcHBTdGF0ZSIsImdldEVmZm9ydFN1ZmZpeCIsInRydW5jYXRlIiwiaXNGdWxsc2NyZWVuRW52RW5hYmxlZCIsImZvcm1hdE1vZGVsQW5kQmlsbGluZyIsImdldExvZ29EaXNwbGF5RGF0YSIsInRydW5jYXRlUGF0aCIsInJlbmRlck1vZGVsU2V0dGluZyIsIk9mZnNjcmVlbkZyZWV6ZSIsIkFuaW1hdGVkQ2xhd2QiLCJDbGF3ZCIsIkd1ZXN0UGFzc2VzVXBzZWxsIiwiaW5jcmVtZW50R3Vlc3RQYXNzZXNTZWVuQ291bnQiLCJ1c2VTaG93R3Vlc3RQYXNzZXNVcHNlbGwiLCJpbmNyZW1lbnRPdmVyYWdlQ3JlZGl0VXBzZWxsU2VlbkNvdW50IiwiT3ZlcmFnZUNyZWRpdFVwc2VsbCIsInVzZVNob3dPdmVyYWdlQ3JlZGl0VXBzZWxsIiwiQ29uZGVuc2VkTG9nbyIsIiQiLCJfYyIsImNvbHVtbnMiLCJhZ2VudCIsIl90ZW1wIiwiZWZmb3J0VmFsdWUiLCJfdGVtcDIiLCJtb2RlbCIsIm1vZGVsRGlzcGxheU5hbWUiLCJ2ZXJzaW9uIiwiY3dkIiwiYmlsbGluZ1R5cGUiLCJhZ2VudE5hbWUiLCJhZ2VudE5hbWVGcm9tU2V0dGluZ3MiLCJzaG93R3Vlc3RQYXNzZXNVcHNlbGwiLCJzaG93T3ZlcmFnZUNyZWRpdFVwc2VsbCIsInQwIiwidDEiLCJ0MiIsInQzIiwidGV4dFdpZHRoIiwiTWF0aCIsIm1heCIsInRydW5jYXRlZFZlcnNpb24iLCJlZmZvcnRTdWZmaXgiLCJzaG91bGRTcGxpdCIsInRydW5jYXRlZE1vZGVsIiwidHJ1bmNhdGVkQmlsbGluZyIsImN3ZEF2YWlsYWJsZVdpZHRoIiwidHJ1bmNhdGVkQ3dkIiwidDQiLCJTeW1ib2wiLCJmb3IiLCJ0NSIsInQ2IiwidDciLCJ0OCIsInQ5IiwidDEwIiwidDExIiwidDEyIiwic18wIiwicyJdLCJzb3VyY2VzIjpbIkNvbmRlbnNlZExvZ28udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdHlwZSBSZWFjdE5vZGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlTWFpbkxvb3BNb2RlbCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZU1haW5Mb29wTW9kZWwuanMnXG5pbXBvcnQgeyB1c2VUZXJtaW5hbFNpemUgfSBmcm9tICcuLi8uLi9ob29rcy91c2VUZXJtaW5hbFNpemUuanMnXG5pbXBvcnQgeyBzdHJpbmdXaWR0aCB9IGZyb20gJy4uLy4uL2luay9zdHJpbmdXaWR0aC5qcydcbmltcG9ydCB7IEJveCwgVGV4dCB9IGZyb20gJy4uLy4uL2luay5qcydcbmltcG9ydCB7IHVzZUFwcFN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUvQXBwU3RhdGUuanMnXG5pbXBvcnQgeyBnZXRFZmZvcnRTdWZmaXggfSBmcm9tICcuLi8uLi91dGlscy9lZmZvcnQuanMnXG5pbXBvcnQgeyB0cnVuY2F0ZSB9IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm1hdC5qcydcbmltcG9ydCB7IGlzRnVsbHNjcmVlbkVudkVuYWJsZWQgfSBmcm9tICcuLi8uLi91dGlscy9mdWxsc2NyZWVuLmpzJ1xuaW1wb3J0IHtcbiAgZm9ybWF0TW9kZWxBbmRCaWxsaW5nLFxuICBnZXRMb2dvRGlzcGxheURhdGEsXG4gIHRydW5jYXRlUGF0aCxcbn0gZnJvbSAnLi4vLi4vdXRpbHMvbG9nb1YyVXRpbHMuanMnXG5pbXBvcnQgeyByZW5kZXJNb2RlbFNldHRpbmcgfSBmcm9tICcuLi8uLi91dGlscy9tb2RlbC9tb2RlbC5qcydcbmltcG9ydCB7IE9mZnNjcmVlbkZyZWV6ZSB9IGZyb20gJy4uL09mZnNjcmVlbkZyZWV6ZS5qcydcbmltcG9ydCB7IEFuaW1hdGVkQ2xhd2QgfSBmcm9tICcuL0FuaW1hdGVkQ2xhd2QuanMnXG5pbXBvcnQgeyBDbGF3ZCB9IGZyb20gJy4vQ2xhd2QuanMnXG5pbXBvcnQge1xuICBHdWVzdFBhc3Nlc1Vwc2VsbCxcbiAgaW5jcmVtZW50R3Vlc3RQYXNzZXNTZWVuQ291bnQsXG4gIHVzZVNob3dHdWVzdFBhc3Nlc1Vwc2VsbCxcbn0gZnJvbSAnLi9HdWVzdFBhc3Nlc1Vwc2VsbC5qcydcbmltcG9ydCB7XG4gIGluY3JlbWVudE92ZXJhZ2VDcmVkaXRVcHNlbGxTZWVuQ291bnQsXG4gIE92ZXJhZ2VDcmVkaXRVcHNlbGwsXG4gIHVzZVNob3dPdmVyYWdlQ3JlZGl0VXBzZWxsLFxufSBmcm9tICcuL092ZXJhZ2VDcmVkaXRVcHNlbGwuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiBDb25kZW5zZWRMb2dvKCk6IFJlYWN0Tm9kZSB7XG4gIGNvbnN0IHsgY29sdW1ucyB9ID0gdXNlVGVybWluYWxTaXplKClcbiAgY29uc3QgYWdlbnQgPSB1c2VBcHBTdGF0ZShzID0+IHMuYWdlbnQpXG4gIGNvbnN0IGVmZm9ydFZhbHVlID0gdXNlQXBwU3RhdGUocyA9PiBzLmVmZm9ydFZhbHVlKVxuICBjb25zdCBtb2RlbCA9IHVzZU1haW5Mb29wTW9kZWwoKVxuICBjb25zdCBtb2RlbERpc3BsYXlOYW1lID0gcmVuZGVyTW9kZWxTZXR0aW5nKG1vZGVsKVxuICBjb25zdCB7IHZlcnNpb24sIGN3ZCwgYmlsbGluZ1R5cGUsIGFnZW50TmFtZTogYWdlbnROYW1lRnJvbVNldHRpbmdzIH0gPSBnZXRMb2dvRGlzcGxheURhdGEoKVxuXG4gIC8vIFByZWZlciBBcHBTdGF0ZS5hZ2VudCAoc2V0IGZyb20gLS1hZ2VudCBDTEkgZmxhZykgb3ZlciBzZXR0aW5nc1xuICBjb25zdCBhZ2VudE5hbWUgPSBhZ2VudCA/PyBhZ2VudE5hbWVGcm9tU2V0dGluZ3NcbiAgY29uc3Qgc2hvd0d1ZXN0UGFzc2VzVXBzZWxsID0gdXNlU2hvd0d1ZXN0UGFzc2VzVXBzZWxsKClcbiAgY29uc3Qgc2hvd092ZXJhZ2VDcmVkaXRVcHNlbGwgPSB1c2VTaG93T3ZlcmFnZUNyZWRpdFVwc2VsbCgpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2hvd0d1ZXN0UGFzc2VzVXBzZWxsKSB7XG4gICAgICBpbmNyZW1lbnRHdWVzdFBhc3Nlc1NlZW5Db3VudCgpXG4gICAgfVxuICB9LCBbc2hvd0d1ZXN0UGFzc2VzVXBzZWxsXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzaG93T3ZlcmFnZUNyZWRpdFVwc2VsbCAmJiAhc2hvd0d1ZXN0UGFzc2VzVXBzZWxsKSB7XG4gICAgICBpbmNyZW1lbnRPdmVyYWdlQ3JlZGl0VXBzZWxsU2VlbkNvdW50KClcbiAgICB9XG4gIH0sIFt
|