Codex Working
brainless/codex-workingFreeComponent
Codex's Working line — a • bullet, grayscale shimmer on Working, and live elapsed/interrupt hint, as an aria-live status region.
Install it
npx shadcn@latest add https://brainless.swerdlow.dev/r/codex-working.jsonSource
1"use client";23import * as React from "react";4import { cn } from "@/lib/utils";56/**7 * CodexWorking — Codex's "Working" line.8 *9 * A static `•` bullet, the word Working with Codex's grayscale shimmer (a10 * bright band drifting left→right), and `(Ns • esc to interrupt)`. Polite11 * live region for screen readers.12 */13const BULLET = "#a7a7a7";14const DIM = "#7a7a7a";15const SHIMMER_DARK = "#808080";16const SHIMMER_LIGHT = "#e7e7e7";1718export function CodexWorking({19 running = true,20 label = "Working",21 className,22}: {23 running?: boolean;24 label?: string;25 className?: string;26}) {27 const prefersReduced = usePrefersReducedMotion();28 const [secs, setSecs] = React.useState(0);2930 React.useEffect(() => {31 if (!running) return;32 const id = setInterval(() => setSecs((s) => s + 1), 1000);33 return () => clearInterval(id);34 }, [running]);3536 if (!running) return null;3738 return (39 <div40 role="status"41 aria-live="polite"42 className={cn(43 "flex items-baseline gap-2 font-mono text-[13px] font-bold",44 className,45 )}46 >47 <style>{`48 .cx-working-shimmer {49 background-image: linear-gradient(50 90deg,51 ${SHIMMER_DARK} 0%,52 ${SHIMMER_DARK} 40%,53 ${SHIMMER_LIGHT} 50%,54 ${SHIMMER_DARK} 60%,55 ${SHIMMER_DARK} 100%56 );57 /* 200% size + 100%→−100% travel = one clean period (no loop hitch) */58 background-size: 200% 100%;59 -webkit-background-clip: text;60 background-clip: text;61 color: transparent;62 -webkit-text-fill-color: transparent;63 animation: cx-working-shine 1.6s linear infinite;64 }65 @keyframes cx-working-shine {66 from { background-position: 100% 0; }67 to { background-position: -100% 0; }68 }69 @media (prefers-reduced-motion: reduce) {70 .cx-working-shimmer {71 animation: none;72 background-image: none;73 color: ${SHIMMER_LIGHT};74 -webkit-text-fill-color: ${SHIMMER_LIGHT};75 }76 }77 `}</style>78 <span aria-hidden style={{ color: BULLET }}>79 •80 </span>81 <span82 className={prefersReduced ? undefined : "cx-working-shimmer"}83 style={prefersReduced ? { color: SHIMMER_LIGHT } : undefined}84 >85 {label}86 </span>87 <span className="font-normal" style={{ color: DIM }}>88// … truncated
Files it writes
More from brainless
All 40 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Claude Diffclaude-diff | brainless | Components | Free | no deps | |
| Claude Headerclaude-header | brainless | Components | Free | no deps | |
| Claude Messageclaude-message | brainless | Components | Free | no deps | |
| Claude Permissionclaude-permission | brainless | Components | Free | no deps | |
| Claude Promptclaude-prompt | brainless | Components | Free | no deps | |
| Claude Slash Menuclaude-slash-menu | brainless | Components | Free | no deps | |
| Claude Thinkingclaude-thinking | brainless | Components | Free | no deps | |
| Claude Todo Listclaude-todo-list | brainless | Components | Free | no deps |
