agent-ecosystem/src/renderer/components/team/schedule/ScheduleEmptyState.tsx
iliya 1d3080f0f9 feat: add scheduled tasks with cron execution and rich log viewer
- Cron-based task scheduling with SchedulerService (create, pause, resume, delete)
- One-shot executor using `claude -p` with stream-json output for rich log display
- CLAUDECODE env var stripped to prevent nested session detection
- JsonScheduleRepository for persistent schedule/run/log storage
- Full IPC pipeline: handlers, preload bridge, API types, HttpClient stubs
- ScheduleSection UI with create/edit dialog, run history, status badges
- ScheduleRunLogDialog with CliLogsRichView (thinking blocks, tool cards, markdown)
- Real-time run status updates via store subscription
- Retry logic with configurable max retries and auto-pause on consecutive failures
- CronScheduleInput with human-readable descriptions via cronstrue
- 3 test suites: SchedulerService, ScheduledTaskExecutor, JsonScheduleRepository
2026-03-08 00:58:07 +02:00

15 lines
591 B
TypeScript

import React from 'react';
import { Calendar } from 'lucide-react';
export const ScheduleEmptyState = (): React.JSX.Element => (
<div className="flex flex-col items-center justify-center gap-2 py-8 text-center">
<Calendar className="size-8 text-[var(--color-text-muted)]" />
<div className="space-y-1">
<p className="text-xs font-medium text-[var(--color-text-secondary)]">No schedules yet</p>
<p className="text-[11px] text-[var(--color-text-muted)]">
Create a schedule to run Claude tasks automatically on a cron schedule.
</p>
</div>
</div>
);