UNPKG

muggleout

Version:

Transform muggles into terminal wizards / 비개발자를 터미널 마법사로 만들어주는 도구

81 lines (67 loc) 4.01 kB
import chalk from 'chalk'; // Muggleout 로고 (작은 버전) export const muggleoutLogo = ` ${chalk.cyan('███╗ ███╗██╗ ██╗ ██████╗ ██████╗ ██╗ ███████╗ ██████╗ ██╗ ██╗████████╗')} ${chalk.cyan('████╗ ████║██║ ██║██╔════╝ ██╔════╝ ██║ ██╔════╝██╔═══██╗██║ ██║╚══██╔══╝')} ${chalk.cyan('██╔████╔██║██║ ██║██║ ███╗██║ ███╗██║ █████╗ ██║ ██║██║ ██║ ██║')} ${chalk.cyan('██║╚██╔╝██║██║ ██║██║ ██║██║ ██║██║ ██╔══╝ ██║ ██║██║ ██║ ██║')} ${chalk.cyan('██║ ╚═╝ ██║╚██████╔╝╚██████╔╝╚██████╔╝███████╗███████╗╚██████╔╝╚██████╔╝ ██║')} ${chalk.cyan('╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝')} `; // 간단한 로고 export const simpleLogo = ` ${chalk.cyan('╭─────────────────────────────────────╮')} ${chalk.cyan('│')} ${chalk.bold.white('🪄 MUGGLEOUT')} ${chalk.gray('v1.1.4')} ${chalk.cyan('│')} ${chalk.cyan('│')} ${chalk.gray('머글들을 위한 마법같은 터미널')} ${chalk.cyan('│')} ${chalk.cyan('╰─────────────────────────────────────╯')} `; // 환영 메시지 export const welcomeBanner = ` ${chalk.yellow('✨')} ${chalk.bold('환영합니다!')} ${chalk.yellow('✨')} ${chalk.gray('터미널이 처음이신가요? 걱정하지 마세요!')} ${chalk.gray('함께 하나씩 설정해 나가겠습니다.')} `; // 진행률 바 export function createProgressBar(current, total, width = 30) { const percentage = Math.round((current / total) * 100); const filled = Math.round((current / total) * width); const empty = width - filled; const bar = chalk.green('█').repeat(filled) + chalk.gray('░').repeat(empty); return `[${bar}] ${percentage}%`; } // 카테고리 헤더 export function categoryHeader(title, icon) { return chalk.bold(`\n${icon} ─── ${title} ${'─'.repeat(40 - title.length)}\n`); } // 툴 상태 표시 export function toolStatus(installed) { return installed ? chalk.green('✓ 설치됨') : chalk.gray('○ 미설치'); } // 난이도 표시 export function difficultyStars(level) { const stars = '⭐'.repeat(level); const emptyStars = '☆'.repeat(3 - level); return stars + emptyStars; } // 완료 축하 메시지 export const completionMessages = [ '🎉 축하합니다! 성공적으로 완료했어요!', '🌟 멋져요! 잘 하고 계세요!', '🚀 훌륭해요! 한 단계 더 성장했네요!', '💪 대단해요! 계속 이대로만 하시면 됩니다!', '🎊 완벽해요! 정말 잘하셨어요!' ]; export function getRandomCompletionMessage() { return completionMessages[Math.floor(Math.random() * completionMessages.length)]; } // 로딩 메시지 export const loadingMessages = [ '☕ 커피 한 잔 하고 오셔도 됩니다...', '🍿 팝콘 가져오실 시간이에요...', '🎵 좋아하는 음악 들으면서 기다려주세요...', '📱 잠시 휴대폰 확인하고 오세요...', '🍪 쿠키라도 하나 드시고 오세요...' ]; export function getRandomLoadingMessage() { return loadingMessages[Math.floor(Math.random() * loadingMessages.length)]; }