import React from 'react'
import { Box, Text } from 'ink'
import { theme } from '../theme.js'
export type StatusType = 'success' | 'error' | 'warning' | 'info'
export interface StatusBadgeProps {
/**
* The type of status to display
*/
type: StatusType
/**
* The message to display
*/
message: string
/**
* Optional custom icon (defaults to type-specific icon)
*/
icon?: string
}
/**
* StatusBadge component for displaying status messages with appropriate colors and icons.
* Replaces manual p.log.success/error/warning/info calls.
*
* @example
* ```tsx
*
*
*
*
* ```
*/
export function StatusBadge({
type,
message,
icon,
}: StatusBadgeProps): React.ReactElement {
const config = {
success: {
color: theme.colors.success,
icon: theme.icons.success,
},
error: {
color: theme.colors.error,
icon: theme.icons.error,
},
warning: {
color: theme.colors.warning,
icon: theme.icons.warning,
},
info: {
color: theme.colors.info,
icon: theme.icons.info,
},
}
const { color, icon: defaultIcon } = config[type]
const displayIcon = icon || defaultIcon
return (
{displayIcon} {message}
)
}