UNPKG

fnglish-notebook

Version:

A cross-platform CLI tool for English learning with translation, voice pronunciation, and Notion integration. Supports Windows, macOS, and Linux.

23 lines 1.83 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { useState, useEffect } from 'react'; import { Text, Box } from 'ink'; const RAINBOW_COLORS = ['red', 'yellow', 'green', 'cyan', 'blue', 'magenta']; const LOGO_LINES = [ ' ███████╗███╗ ██╗ ██████╗ ██╗ ██╗███████╗██╗ ██╗', ' ██╔════╝████╗ ██║██╔════╝ ██║ ██║██╔════╝██║ ██║', ' █████╗ ██╔██╗ ██║██║ ███╗██║ ██║███████╗███████║', ' ██╔══╝ ██║╚██╗██║██║ ██║██║ ██║╚════██║██╔══██║', ' ██║ ██║ ╚████║╚██████╔╝███████╗██║███████║██║ ██║', ' ╚═╝ ╚═╝ ╚═══╝ ╚═════╝ ╚══════╝╚═╝╚══════╝╚═╝ ╚═╝' ]; export const Logo = () => { const [colorOffset, setColorOffset] = useState(0); useEffect(() => { const interval = setInterval(() => { setColorOffset(prev => (prev + 1) % RAINBOW_COLORS.length); }, 300); return () => clearInterval(interval); }, []); return (_jsxs(Box, { flexDirection: "column", alignItems: "center", children: [LOGO_LINES.map((line, lineIndex) => (_jsx(Text, { color: RAINBOW_COLORS[(lineIndex + colorOffset) % RAINBOW_COLORS.length], children: line }, lineIndex))), _jsx(Text, { color: "gray", dimColor: true, children: "\uD83D\uDCDA Your English Learning Companion" })] })); }; //# sourceMappingURL=Logo.js.map