mirror of
http://10.0.2.1:3031/sauer/claude-code.git
synced 2026-06-30 19:26:58 +10:00
137 lines
18 KiB
TypeScript
137 lines
18 KiB
TypeScript
|
|
import { c as _c } from "react/compiler-runtime";
|
||
|
|
// biome-ignore-all assist/source/organizeImports: ANT-ONLY import markers must not be reordered
|
||
|
|
import * as React from 'react';
|
||
|
|
import { Suspense, useState } from 'react';
|
||
|
|
import { useKeybinding } from '../../keybindings/useKeybinding.js';
|
||
|
|
import { useExitOnCtrlCDWithKeybindings } from '../../hooks/useExitOnCtrlCDWithKeybindings.js';
|
||
|
|
import { useTerminalSize } from '../../hooks/useTerminalSize.js';
|
||
|
|
import { useIsInsideModal, useModalOrTerminalSize } from '../../context/modalContext.js';
|
||
|
|
import { Pane } from '../design-system/Pane.js';
|
||
|
|
import { Tabs, Tab } from '../design-system/Tabs.js';
|
||
|
|
import { Status, buildDiagnostics } from './Status.js';
|
||
|
|
import { Config } from './Config.js';
|
||
|
|
import { Usage } from './Usage.js';
|
||
|
|
import type { LocalJSXCommandContext, CommandResultDisplay } from '../../commands.js';
|
||
|
|
type Props = {
|
||
|
|
onClose: (result?: string, options?: {
|
||
|
|
display?: CommandResultDisplay;
|
||
|
|
}) => void;
|
||
|
|
context: LocalJSXCommandContext;
|
||
|
|
defaultTab: 'Status' | 'Config' | 'Usage' | 'Gates';
|
||
|
|
};
|
||
|
|
export function Settings(t0) {
|
||
|
|
const $ = _c(25);
|
||
|
|
const {
|
||
|
|
onClose,
|
||
|
|
context,
|
||
|
|
defaultTab
|
||
|
|
} = t0;
|
||
|
|
const [selectedTab, setSelectedTab] = useState(defaultTab);
|
||
|
|
const [tabsHidden, setTabsHidden] = useState(false);
|
||
|
|
const [configOwnsEsc, setConfigOwnsEsc] = useState(false);
|
||
|
|
const [gatesOwnsEsc, setGatesOwnsEsc] = useState(false);
|
||
|
|
const insideModal = useIsInsideModal();
|
||
|
|
const {
|
||
|
|
rows
|
||
|
|
} = useModalOrTerminalSize(useTerminalSize());
|
||
|
|
const contentHeight = insideModal ? rows + 1 : Math.max(15, Math.min(Math.floor(rows * 0.8), 30));
|
||
|
|
const [diagnosticsPromise] = useState(_temp2);
|
||
|
|
useExitOnCtrlCDWithKeybindings();
|
||
|
|
let t1;
|
||
|
|
if ($[0] !== onClose || $[1] !== tabsHidden) {
|
||
|
|
t1 = () => {
|
||
|
|
if (tabsHidden) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
onClose("Status dialog dismissed", {
|
||
|
|
display: "system"
|
||
|
|
});
|
||
|
|
};
|
||
|
|
$[0] = onClose;
|
||
|
|
$[1] = tabsHidden;
|
||
|
|
$[2] = t1;
|
||
|
|
} else {
|
||
|
|
t1 = $[2];
|
||
|
|
}
|
||
|
|
const handleEscape = t1;
|
||
|
|
const t2 = !tabsHidden && !(selectedTab === "Config" && configOwnsEsc) && !(selectedTab === "Gates" && gatesOwnsEsc);
|
||
|
|
let t3;
|
||
|
|
if ($[3] !== t2) {
|
||
|
|
t3 = {
|
||
|
|
context: "Settings",
|
||
|
|
isActive: t2
|
||
|
|
};
|
||
|
|
$[3] = t2;
|
||
|
|
$[4] = t3;
|
||
|
|
} else {
|
||
|
|
t3 = $[4];
|
||
|
|
}
|
||
|
|
useKeybinding("confirm:no", handleEscape, t3);
|
||
|
|
let t4;
|
||
|
|
if ($[5] !== context || $[6] !== diagnosticsPromise) {
|
||
|
|
t4 = <Tab key="status" title="Status"><Status context={context} diagnosticsPromise={diagnosticsPromise} /></Tab>;
|
||
|
|
$[5] = context;
|
||
|
|
$[6] = diagnosticsPromise;
|
||
|
|
$[7] = t4;
|
||
|
|
} else {
|
||
|
|
t4 = $[7];
|
||
|
|
}
|
||
|
|
let t5;
|
||
|
|
if ($[8] !== contentHeight || $[9] !== context || $[10] !== onClose) {
|
||
|
|
t5 = <Tab key="config" title="Config"><Suspense fallback={null}><Config context={context} onClose={onClose} setTabsHidden={setTabsHidden} onIsSearchModeChange={setConfigOwnsEsc} contentHeight={contentHeight} /></Suspense></Tab>;
|
||
|
|
$[8] = contentHeight;
|
||
|
|
$[9] = context;
|
||
|
|
$[10] = onClose;
|
||
|
|
$[11] = t5;
|
||
|
|
} else {
|
||
|
|
t5 = $[11];
|
||
|
|
}
|
||
|
|
let t6;
|
||
|
|
if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
|
||
|
|
t6 = <Tab key="usage" title="Usage"><Usage /></Tab>;
|
||
|
|
$[12] = t6;
|
||
|
|
} else {
|
||
|
|
t6 = $[12];
|
||
|
|
}
|
||
|
|
let t7;
|
||
|
|
if ($[13] !== contentHeight) {
|
||
|
|
t7 = false ? [<Tab key="gates" title="Gates"><Gates onOwnsEscChange={setGatesOwnsEsc} contentHeight={contentHeight} /></Tab>] : [];
|
||
|
|
$[13] = contentHeight;
|
||
|
|
$[14] = t7;
|
||
|
|
} else {
|
||
|
|
t7 = $[14];
|
||
|
|
}
|
||
|
|
let t8;
|
||
|
|
if ($[15] !== t4 || $[16] !== t5 || $[17] !== t7) {
|
||
|
|
t8 = [t4, t5, t6, ...t7];
|
||
|
|
$[15] = t4;
|
||
|
|
$[16] = t5;
|
||
|
|
$[17] = t7;
|
||
|
|
$[18] = t8;
|
||
|
|
} else {
|
||
|
|
t8 = $[18];
|
||
|
|
}
|
||
|
|
const tabs = t8;
|
||
|
|
const t9 = defaultTab !== "Config" && defaultTab !== "Gates";
|
||
|
|
const t10 = tabsHidden || insideModal ? undefined : contentHeight;
|
||
|
|
let t11;
|
||
|
|
if ($[19] !== selectedTab || $[20] !== t10 || $[21] !== t9 || $[22] !== tabs || $[23] !== tabsHidden) {
|
||
|
|
t11 = <Pane color="permission"><Tabs color="permission" selectedTab={selectedTab} onTabChange={setSelectedTab} hidden={tabsHidden} initialHeaderFocused={t9} contentHeight={t10}>{tabs}</Tabs></Pane>;
|
||
|
|
$[19] = selectedTab;
|
||
|
|
$[20] = t10;
|
||
|
|
$[21] = t9;
|
||
|
|
$[22] = tabs;
|
||
|
|
$[23] = tabsHidden;
|
||
|
|
$[24] = t11;
|
||
|
|
} else {
|
||
|
|
t11 = $[24];
|
||
|
|
}
|
||
|
|
return t11;
|
||
|
|
}
|
||
|
|
function _temp2() {
|
||
|
|
return buildDiagnostics().catch(_temp);
|
||
|
|
}
|
||
|
|
function _temp() {
|
||
|
|
return [];
|
||
|
|
}
|
||
|
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlN1c3BlbnNlIiwidXNlU3RhdGUiLCJ1c2VLZXliaW5kaW5nIiwidXNlRXhpdE9uQ3RybENEV2l0aEtleWJpbmRpbmdzIiwidXNlVGVybWluYWxTaXplIiwidXNlSXNJbnNpZGVNb2RhbCIsInVzZU1vZGFsT3JUZXJtaW5hbFNpemUiLCJQYW5lIiwiVGFicyIsIlRhYiIsIlN0YXR1cyIsImJ1aWxkRGlhZ25vc3RpY3MiLCJDb25maWciLCJVc2FnZSIsIkxvY2FsSlNYQ29tbWFuZENvbnRleHQiLCJDb21tYW5kUmVzdWx0RGlzcGxheSIsIlByb3BzIiwib25DbG9zZSIsInJlc3VsdCIsIm9wdGlvbnMiLCJkaXNwbGF5IiwiY29udGV4dCIsImRlZmF1bHRUYWIiLCJTZXR0aW5ncyIsInQwIiwiJCIsIl9jIiwic2VsZWN0ZWRUYWIiLCJzZXRTZWxlY3RlZFRhYiIsInRhYnNIaWRkZW4iLCJzZXRUYWJzSGlkZGVuIiwiY29uZmlnT3duc0VzYyIsInNldENvbmZpZ093bnNFc2MiLCJnYXRlc093bnNFc2MiLCJzZXRHYXRlc093bnNFc2MiLCJpbnNpZGVNb2RhbCIsInJvd3MiLCJjb250ZW50SGVpZ2h0IiwiTWF0aCIsIm1heCIsIm1pbiIsImZsb29yIiwiZGlhZ25vc3RpY3NQcm9taXNlIiwiX3RlbXAyIiwidDEiLCJoYW5kbGVFc2NhcGUiLCJ0MiIsInQzIiwiaXNBY3RpdmUiLCJ0NCIsInQ1IiwidDYiLCJTeW1ib2wiLCJmb3IiLCJ0NyIsInQ4IiwidGFicyIsInQ5IiwidDEwIiwidW5kZWZpbmVkIiwidDExIiwiY2F0Y2giLCJfdGVtcCJdLCJzb3VyY2VzIjpbIlNldHRpbmdzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBiaW9tZS1pZ25vcmUtYWxsIGFzc2lzdC9zb3VyY2Uvb3JnYW5pemVJbXBvcnRzOiBBTlQtT05MWSBpbXBvcnQgbWFya2VycyBtdXN0IG5vdCBiZSByZW9yZGVyZWRcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgU3VzcGVuc2UsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VLZXliaW5kaW5nIH0gZnJvbSAnLi4vLi4va2V5YmluZGluZ3MvdXNlS2V5YmluZGluZy5qcydcbmltcG9ydCB7IHVzZUV4aXRPbkN0cmxDRFdpdGhLZXliaW5kaW5ncyB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUV4aXRPbkN0cmxDRFdpdGhLZXliaW5kaW5ncy5qcydcbmltcG9ydCB7IHVzZVRlcm1pbmFsU2l6ZSB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZVRlcm1pbmFsU2l6ZS5qcydcbmltcG9ydCB7XG4gIHVzZUlzSW5zaWRlTW9kYWwsXG4gIHVzZU1vZGFsT3JUZXJtaW5hbFNpemUsXG59IGZyb20gJy4uLy4uL2NvbnRleHQvbW9kYWxDb250ZXh0LmpzJ1xuaW1wb3J0IHsgUGFuZSB9IGZyb20gJy4uL2Rlc2lnbi1zeXN0ZW0vUGFuZS5qcydcbmltcG9ydCB7IFRhYnMsIFRhYiB9IGZyb20gJy4uL2Rlc2lnbi1zeXN0ZW0vVGFicy5qcydcbmltcG9ydCB7IFN0YXR1cywgYnVpbGREaWFnbm9zdGljcyB9IGZyb20gJy4vU3RhdHVzLmpzJ1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi9Db25maWcuanMnXG5pbXBvcnQgeyBVc2FnZSB9IGZyb20gJy4vVXNhZ2UuanMnXG5pbXBvcnQgdHlwZSB7XG4gIExvY2FsSlNYQ29tbWFuZENvbnRleHQsXG4gIENvbW1hbmRSZXN1bHREaXNwbGF5LFxufSBmcm9tICcuLi8uLi9jb21tYW5kcy5qcydcblxudHlwZSBQcm9wcyA9IHtcbiAgb25DbG9zZTogKFxuICAgIHJlc3VsdD86IHN0cmluZyxcbiAgICBvcHRpb25zPzogeyBkaXNwbGF5PzogQ29tbWFuZFJlc3VsdERpc3BsYXkgfSxcbiAgKSA9PiB2b2lkXG4gIGNvbnRleHQ6IExvY2FsSlNYQ29tbWFuZENvbnRleHRcbiAgZGVmYXVsdFRhYjogJ1N0YXR1cycgfCAnQ29uZmlnJyB8ICdVc2FnZScgfCAnR2F0ZXMnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTZXR0aW5ncyh7XG4gIG9uQ2xvc2UsXG4gIGNvbnRleHQsXG4gIGRlZmF1bHRUYWIsXG59OiBQcm9wcyk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IFtzZWxlY3RlZFRhYiwgc2V0U2VsZWN0ZWRUYWJdID0gdXNlU3RhdGU8c3RyaW5nPihkZWZhdWx0VGFiKVxuICBjb25zdCBbdGFic0hpZGRlbiwgc2V0VGFic0hpZGRlbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgLy8gVHJ1ZSB3aGlsZSBDb25maWcncyBvd24gRXNjIGhhbmRsZXIgaXMgYWN0aXZlIChzZWFyY2ggbW9kZSB3aXRoIGNvbnRlbnRcbiAgLy8gZm9jdXNlZCkuIFNldHRpbmdzIG11c3QgY2VkZSBFc2Mgc28gc2VhcmNoIGNhbiBjbGVhci9leGl0IGZpcnN0LlxuICBjb25zdCBbY29uZmlnT3duc0VzYywgc2V0Q29uZmlnT3duc0VzY10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2dhdGVzT3duc0VzYywgc2V0R2F0ZXNPd25zRXNjXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAvLyBGaXhlZCBjb250ZW50IGhlaWdodCBzbyBzd2l0Y2hpbmcgdGFicyBkb2Vzbid0IHNoaWZ0IHRoZSBwYW5lIGhlaWdodC5cbiAgLy8gT3V0c2lkZSBtb2RhbHMgY2FwIGF0IG1pbig4MCUgdmlld3BvcnQsIDMwKS4gSW5zaWRlIGEgTW9kYWwgdGhlIG1vZGFsJ3NcbiAgLy8gaW5uZXJTaXplLnJvd3MgSVMgdGhlIFNjcm9sbEJveCB2aWV3cG9ydCDigJQgdGhlIDAuOCBtdWx0aXBsaWVyIG92ZXItXG4gIC8vIHNocmlua3MsIGxlYXZpbmcgZW1wdHkgcm93cyB3aGlsZSBDb25maWcgc2hvd3MgXCLihpMgTiBtb3JlIGJlbG93XCIuXG4gIC8vXG4gIC8vIEluc2lkZS1tb2RhbCBtYXRoOiBDb25maWcncyBwYW5lQ2FwLTEwIGNocm9tZSBlc3RpbWF0ZSB3YXMgdHVuZWQgZm9yXG4gIC8vIG1hcmdpblk9ezF9ICgyIHJvd3MpIHdoaWNoIGlzIHN0cmlwcGVkIGluc2lkZSBtb2RhbHMg4oaSICsyIHRvIHJlY292ZXIuXG4gIC8vIFRoZW4gLTIgZm9yIFRhYnMnIGhlYWRlciByb3cgKyBpdHMgbWFyZ2luVG9wPTEuIFBsdXMgKzEgb2JzZXJ2ZWQgZ2FwXG4gIC8vIGZyb20gdGhlIHBhbmVDYXAtMTAgZXN0aW1hdGUgYmVpbmcgc2xpZ2h0bHkgZ2VuZXJvdXMuIE5ldDogcm93cyArIDEuXG4gIGNvbnN0IGluc2lkZU1vZGFsID0gdXNlSXNJbnNpZGVNb2RhbCgpXG4gIGNvbnN0IHsgcm93cyB9ID0gdXNlTW9kYWxPclRlcm1pbmFsU2l6ZSh1c2VUZXJtaW5hbFNpemUoKSl
|