muggleout
Version:
Transform muggles into terminal wizards / 비개발자를 터미널 마법사로 만들어주는 도구
81 lines (67 loc) • 4.01 kB
JavaScript
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)];
}