feat: add TerminalMarker component for feed phase separators (#7)#18
feat: add TerminalMarker component for feed phase separators (#7)#18himax12 wants to merge 1 commit intoclawgreen:mainfrom
Conversation
…en#7) - New `TerminalMarker` component with typed props and JSDoc - Props: label, timestamp?, variant ('info'|'success'|'warning'|'error'|'neutral') - Theme-aware via CSS custom properties (--term-* variables) - Semantic background tint with color-mix for visual hierarchy (consistent with TerminalBadge) - Responsive: min-w-0 + truncate on timestamp prevents overflow on narrow viewports - Export added to components/terminal.tsx (no breaking changes) - Playground demo added to app/playground/page.tsx
There was a problem hiding this comment.
Pull request overview
Adds a new TerminalMarker UI component to provide phase separators in terminal-like feeds (per Issue #7), wires it into the public terminal components export, and demonstrates it in the playground.
Changes:
- Introduces
TerminalMarkercomponent with typed props, variants, and theme-aware styling. - Re-exports
TerminalMarkerfromcomponents/terminal.tsxto make it available via the main terminal entry point. - Adds a playground section showcasing
TerminalMarkerin a deploy pipeline example.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| components/terminal.tsx | Re-export TerminalMarker from the terminal components entry point. |
| components/terminal-marker.tsx | New TerminalMarker component implementation (variants + styling + JSDoc). |
| app/playground/page.tsx | Adds a playground demo section that renders TerminalMarker between feed phases. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| {label} | ||
| </span> | ||
| {timestamp && ( | ||
| <span className={`font-mono text-xs truncate ${cls.timestamp}`}>{timestamp}</span> |
There was a problem hiding this comment.
truncate on the timestamp span won’t reliably prevent overflow in a flex row unless the timestamp element is allowed to shrink (e.g., min-w-0 + a flexible width such as flex-1 or an explicit/max width). As written, the timestamp can still force the row wider on narrow viewports, undermining the responsive goal mentioned in the description.
| <span className={`font-mono text-xs truncate ${cls.timestamp}`}>{timestamp}</span> | |
| <span className={`flex-1 min-w-0 font-mono text-xs truncate ${cls.timestamp}`}>{timestamp}</span> |
TerminalMarkercomponent with typed props and JSDocSummary
[Atomic 07] Add TerminalMarker component for feed phase separators #7
Problem / Motivation
Type of Change
Screenshots / Demo (if UI change)
Before
After
Testing
Checklist
feat: ...,fix: ...)Linked Issues
Closes #
Notes for Reviewers