UNPKG

@nanocollective/nanocoder

Version:

A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter

17 lines 1.69 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { Box, Text, useInput } from 'ink'; import Spinner from 'ink-spinner'; import React from 'react'; import { DevelopmentModeIndicator } from '../components/development-mode-indicator.js'; import { useTheme } from '../hooks/useTheme.js'; export const SchedulerView = React.memo(({ activeJobCount, queueLength, isProcessing, currentJobCommand, developmentMode, contextPercentUsed, onExit, }) => { const { colors } = useTheme(); useInput((_input, key) => { if (key.escape) { onExit(); } }); return (_jsxs(Box, { flexDirection: "column", children: [_jsx(DevelopmentModeIndicator, { developmentMode: developmentMode, colors: colors, contextPercentUsed: contextPercentUsed }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: colors.info, children: _jsx(Spinner, { type: "dots" }) }), _jsxs(Text, { color: colors.secondary, children: [' ', "\u2014 ", activeJobCount, " cron job", activeJobCount !== 1 ? 's' : '', ' ', "registered"] })] }), isProcessing && currentJobCommand && (_jsxs(Box, { marginTop: 1, children: [_jsxs(Text, { color: colors.primary, children: ["Running: ", currentJobCommand] }), queueLength > 0 && (_jsxs(Text, { color: colors.secondary, children: [" (", queueLength, " queued)"] }))] })), !isProcessing && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.secondary, children: "Waiting for next scheduled job..." }) })), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "Press Escape to exit scheduler mode" }) })] })); }); SchedulerView.displayName = 'SchedulerView'; //# sourceMappingURL=scheduler-view.js.map