giga-code
Version:
A personal AI CLI assistant powered by Grok for local development.
46 lines • 3.33 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.McpServerSelection = void 0;
const react_1 = __importDefault(require("react"));
const ink_1 = require("ink");
function McpServerSelection({ servers, selectedIndex, isVisible }) {
if (!isVisible || servers.length === 0) {
return null;
}
return (react_1.default.createElement(ink_1.Box, { flexDirection: "column", paddingX: 2, paddingY: 1 },
react_1.default.createElement(ink_1.Text, { color: "yellow" }, "\uD83D\uDD17 MCP Servers"),
react_1.default.createElement(ink_1.Box, { marginBottom: 1 },
react_1.default.createElement(ink_1.Text, { color: "gray" }, "Available MCP servers:")),
react_1.default.createElement(ink_1.Box, { flexDirection: "column", marginBottom: 1 },
servers.slice(0, 10).map((server, index) => {
const isSelected = index === selectedIndex;
const dateAdded = new Date(server.dateAdded).toLocaleDateString();
return (react_1.default.createElement(ink_1.Box, { key: server.name, borderStyle: "round", borderColor: isSelected ? "blue" : "gray", paddingX: 1, marginBottom: 1 },
react_1.default.createElement(ink_1.Box, { flexDirection: "column" },
react_1.default.createElement(ink_1.Box, null,
react_1.default.createElement(ink_1.Box, { width: 20 },
react_1.default.createElement(ink_1.Text, { color: isSelected ? "blue" : "white" }, server.name)),
react_1.default.createElement(ink_1.Box, { width: 40 },
react_1.default.createElement(ink_1.Text, { color: "cyan" }, server.command)),
react_1.default.createElement(ink_1.Box, { flexGrow: 1 },
react_1.default.createElement(ink_1.Text, { color: "gray", dimColor: true },
"Added ",
dateAdded))),
server.description && (react_1.default.createElement(ink_1.Box, { paddingLeft: 2 },
react_1.default.createElement(ink_1.Text, { color: "gray", dimColor: true }, server.description))))));
}),
servers.length > 10 && (react_1.default.createElement(ink_1.Box, { paddingX: 1 },
react_1.default.createElement(ink_1.Text, { color: "gray", dimColor: true },
"... and ",
servers.length - 10,
" more")))),
react_1.default.createElement(ink_1.Box, { flexDirection: "column", marginTop: 1 },
react_1.default.createElement(ink_1.Text, { color: "gray", dimColor: true }, "\u2022 Use \u2191/\u2193 arrows to navigate"),
react_1.default.createElement(ink_1.Text, { color: "gray", dimColor: true }, "\u2022 Press Enter to view server details"),
react_1.default.createElement(ink_1.Text, { color: "gray", dimColor: true }, "\u2022 Press Esc to close"))));
}
exports.McpServerSelection = McpServerSelection;
//# sourceMappingURL=mcp-server-selection.js.map