UNPKG

eslint-remote-tester

Version:
22 lines (21 loc) 816 B
import React, { useEffect, useReducer } from 'react'; import { Text } from 'ink'; import ProgressLogger from '../../progress-logger/index.js'; function reducer(messages, newMessage) { return [...messages, newMessage]; } /** * List of `ProgressLogger`'s messages * - Displayed only on CLI mode */ const Messages = ({ wrapper: Wrapper = React.Fragment, }) => { const [messages, addMessage] = useReducer(reducer, []); useEffect(() => { ProgressLogger.on('message', addMessage); return () => { ProgressLogger.off('message', addMessage); }; }, []); return (React.createElement(Wrapper, null, messages.map((message, index) => (React.createElement(Text, { key: index, color: message.color, wrap: 'truncate-end' }, message.content))))); }; export default Messages;