// Animate.css 기반 팝업 효과 export const POPUP_EFFECTS = [ { label: '없음', value: '' }, // Attention Seekers { label: 'Bounce', value: 'bounce' }, { label: 'Flash', value: 'flash' }, { label: 'Pulse', value: 'pulse' }, { label: 'Rubber Band', value: 'rubberBand' }, { label: 'Shake X', value: 'shakeX' }, { label: 'Shake Y', value: 'shakeY' }, { label: 'Head Shake', value: 'headShake' }, { label: 'Swing', value: 'swing' }, { label: 'Tada', value: 'tada' }, { label: 'Wobble', value: 'wobble' }, { label: 'Jello', value: 'jello' }, { label: 'Heart Beat', value: 'heartBeat' }, // Bouncing Entrances { label: 'Bounce In', value: 'bounceIn' }, { label: 'Bounce In Down', value: 'bounceInDown' }, { label: 'Bounce In Left', value: 'bounceInLeft' }, { label: 'Bounce In Right', value: 'bounceInRight' }, { label: 'Bounce In Up', value: 'bounceInUp' }, // Fading Entrances { label: 'Fade In', value: 'fadeIn' }, { label: 'Fade In Down', value: 'fadeInDown' }, { label: 'Fade In Left', value: 'fadeInLeft' }, { label: 'Fade In Right', value: 'fadeInRight' }, { label: 'Fade In Up', value: 'fadeInUp' }, // Flippers { label: 'Flip', value: 'flip' }, { label: 'Flip In X', value: 'flipInX' }, { label: 'Flip In Y', value: 'flipInY' }, // Rotating Entrances { label: 'Rotate In', value: 'rotateIn' }, { label: 'Rotate In Down Left', value: 'rotateInDownLeft' }, { label: 'Rotate In Down Right', value: 'rotateInDownRight' }, // Zoom Entrances { label: 'Zoom In', value: 'zoomIn' }, { label: 'Zoom In Down', value: 'zoomInDown' }, { label: 'Zoom In Left', value: 'zoomInLeft' }, { label: 'Zoom In Right', value: 'zoomInRight' }, { label: 'Zoom In Up', value: 'zoomInUp' }, // Sliding Entrances { label: 'Slide In Down', value: 'slideInDown' }, { label: 'Slide In Left', value: 'slideInLeft' }, { label: 'Slide In Right', value: 'slideInRight' }, { label: 'Slide In Up', value: 'slideInUp' } ]; // 텍스트 효과 (반복 애니메이션) export const TEXT_EFFECTS = [ { label: '없음', value: '' }, // Flippers { label: 'Flip', value: 'flip' }, // Common { label: 'Bounce', value: 'bounce' }, { label: 'Flash', value: 'flash' }, { label: 'Pulse', value: 'pulse' }, { label: 'Rubber Band', value: 'rubberBand' }, { label: 'Shake', value: 'shakeX' }, { label: 'Swing', value: 'swing' }, { label: 'Tada', value: 'tada' }, { label: 'Wobble', value: 'wobble' }, { label: 'Jello', value: 'jello' }, { label: 'Wiggle', value: 'headShake' }, ]; // 폰트 옵션 (무료 한국어 웹폰트) export const FONT_OPTIONS = [ { label: '기본', value: '' }, { label: '맑은 고딕', value: 'Malgun Gothic' }, { label: 'Spoqa Han Sans', value: 'Spoqa Han Sans Neo' }, // 나눔 글꼴 { label: '나눔고딕', value: 'Nanum Gothic' }, { label: '나눔고딕 Eco', value: 'Nanum Gothic Eco' }, { label: '나눔고딕코딩', value: 'Nanum Gothic Coding' }, { label: '나눔명조', value: 'Nanum Myeongjo' }, { label: '나눔명조 Eco', value: 'Nanum Myeongjo Eco' }, { label: '나눔손글씨 붓', value: 'Nanum Brush Script' }, { label: '나눔손글씨 펜', value: 'Nanum Pen Script' }, { label: '나눔바른펜', value: 'NanumBarunpen' }, // 제주 서체 { label: '제주고딕', value: 'Jeju Gothic' }, { label: '제주명조', value: 'Jeju Myeongjo' }, { label: '제주한라산', value: 'Jeju Hallasan' }, // 서울 서체 { label: '서울남산 M', value: 'Seoul Namsan M' }, { label: '서울남산 B', value: 'Seoul Namsan B' }, { label: '서울한강 M', value: 'Seoul Hangang M' }, { label: '서울한강 B', value: 'Seoul Hangang B' }, // 배달의민족 서체 { label: '기랑해랑', value: 'KirangHaerang' }, { label: '한나', value: 'Black Han Sans' }, { label: '한나 Air', value: 'Black And White Picture' }, { label: '한나는 11살', value: 'Hanna 11yrs old' }, { label: '주아', value: 'Jua' }, { label: '연성', value: 'Yeon Sung' }, { label: '도현', value: 'Do Hyeon' }, // 고도 서체 { label: '고도', value: 'Godo' }, { label: '고도 라운드', value: 'Godo Rounded' }, { label: '고도 마음', value: 'Godo Maum' }, // 기타 { label: 'KoPub 바탕', value: 'KoPub Batang' }, { label: 'Noto Sans KR', value: 'Noto Sans KR' }, { label: '야놀자 야체', value: 'Yanolja Yache' }, { label: '미생', value: 'Misaeng' }, { label: '코마콘', value: 'Komacon' }, { label: 'G마켓 산스 L', value: 'GmarketSans Light' }, { label: 'G마켓 산스 M', value: 'GmarketSans Medium' }, { label: 'G마켓 산스 B', value: 'GmarketSans Bold' }, { label: '고양', value: 'Goyang' }, { label: '빙그레', value: 'Binggrae' }, { label: '스웨거', value: 'Swagger' } ]; // 매치 타입 export const MATCH_TYPES = [ { label: '이상', value: 0 }, { label: '해당 금액', value: 1 } ]; // 기본값 export const ALERT_DEFAULTS = { title: '', amount: 100, matchType: 0, message: '', playDelaySec: 0, displayDurationSec: 10, popupEffect: null as string|null, textEffect: null as string|null, nicknameFontFamily: null as string|null, nicknameFontSize: 24, nicknameFontColor: '#FFD700', amountFontFamily: null as string|null, amountFontSize: 24, amountFontColor: '#FF6B35', messageFontFamily: null as string|null, messageFontSize: 18, messageFontColor: '#FFFFFF', templateFontFamily: null as string|null, templateFontSize: 24, templateFontColor: '#FFFFFF', enableImage: false, imageUrl: null as string|null, enableSound: false, soundUrl: null as string|null, isActive: true };