Skip to content

feat: add TerminalNotification component#63

Open
clawgreen wants to merge 1 commit intoOpenKnots:mainfrom
clawgreen:feat/terminal-notification
Open

feat: add TerminalNotification component#63
clawgreen wants to merge 1 commit intoOpenKnots:mainfrom
clawgreen:feat/terminal-notification

Conversation

@clawgreen
Copy link
Copy Markdown
Contributor

What does this PR do?

Adds a new TerminalNotification component for displaying toast-style notifications in terminal aesthetic.

Features

  • Auto-dismiss timer: Configurable duration with progress bar
  • 5 variants: neutral, success, error, warning, info
  • Position options: 4 corners (top-right, top-left, bottom-right, bottom-left)
  • Close button: Optional manual dismissal
  • Animations: Smooth fade-in, slide-in, fade-out
  • Icons: Contextual icons for each variant (✓, ✗, ⚠, ℹ)
  • Progress indicator: Visual timer countdown
  • Interactive demo: Playground with trigger buttons

Example Usage

<TerminalNotification
  message="Build successful!"
  variant="success"
  duration={3000}
  onDismiss={() => console.log("dismissed")}
/>

<TerminalNotification
  message="Error: Connection failed"
  variant="error"
  duration={0}
  position="bottom-right"
/>

Type of Change

  • 📦 New component
  • ✨ Enhancement (interactive playground demo)

Checklist

  • Component created in components/terminal-notification.tsx
  • TypeScript interface with JSDoc
  • Exported from components/terminal.tsx
  • Interactive playground demo with trigger buttons
  • Auto-dismiss timer with progress bar
  • Build passes (pnpm run build)
  • Follows project patterns
  • Uses existing lucide-react icons (no new dependencies)

Screenshots

See playground at /playground for live interactive demo with all variants.


Part of NEW_COMPONENTS_PLAN.md (Phase 3)

- Toast-style notifications with auto-dismiss
- Variants: neutral, success, error, warning, info
- Auto-dismiss timer with progress bar
- Configurable position (4 corners)
- Close button (optional)
- Animations (fade in/out, slide in)
- Interactive playground demo with trigger buttons
- Follows project patterns, uses existing lucide-react icons
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 2, 2026

@clawgreen is attempting to deploy a commit to the 0xBuns Team on Vercel.

A member of the Team first needs to authorize it.

@BunsDev BunsDev added blocked-infra Blocked by external tooling or integration setup component New component work labels Mar 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blocked-infra Blocked by external tooling or integration setup component New component work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants