constants.ts 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. // Animate.css 기반 팝업 효과
  2. export const POPUP_EFFECTS = [
  3. { label: '없음', value: '' },
  4. // Attention Seekers
  5. { label: 'Bounce', value: 'bounce' },
  6. { label: 'Flash', value: 'flash' },
  7. { label: 'Pulse', value: 'pulse' },
  8. { label: 'Rubber Band', value: 'rubberBand' },
  9. { label: 'Shake X', value: 'shakeX' },
  10. { label: 'Shake Y', value: 'shakeY' },
  11. { label: 'Head Shake', value: 'headShake' },
  12. { label: 'Swing', value: 'swing' },
  13. { label: 'Tada', value: 'tada' },
  14. { label: 'Wobble', value: 'wobble' },
  15. { label: 'Jello', value: 'jello' },
  16. { label: 'Heart Beat', value: 'heartBeat' },
  17. // Bouncing Entrances
  18. { label: 'Bounce In', value: 'bounceIn' },
  19. { label: 'Bounce In Down', value: 'bounceInDown' },
  20. { label: 'Bounce In Left', value: 'bounceInLeft' },
  21. { label: 'Bounce In Right', value: 'bounceInRight' },
  22. { label: 'Bounce In Up', value: 'bounceInUp' },
  23. // Fading Entrances
  24. { label: 'Fade In', value: 'fadeIn' },
  25. { label: 'Fade In Down', value: 'fadeInDown' },
  26. { label: 'Fade In Left', value: 'fadeInLeft' },
  27. { label: 'Fade In Right', value: 'fadeInRight' },
  28. { label: 'Fade In Up', value: 'fadeInUp' },
  29. // Flippers
  30. { label: 'Flip', value: 'flip' },
  31. { label: 'Flip In X', value: 'flipInX' },
  32. { label: 'Flip In Y', value: 'flipInY' },
  33. // Rotating Entrances
  34. { label: 'Rotate In', value: 'rotateIn' },
  35. { label: 'Rotate In Down Left', value: 'rotateInDownLeft' },
  36. { label: 'Rotate In Down Right', value: 'rotateInDownRight' },
  37. // Zoom Entrances
  38. { label: 'Zoom In', value: 'zoomIn' },
  39. { label: 'Zoom In Down', value: 'zoomInDown' },
  40. { label: 'Zoom In Left', value: 'zoomInLeft' },
  41. { label: 'Zoom In Right', value: 'zoomInRight' },
  42. { label: 'Zoom In Up', value: 'zoomInUp' },
  43. // Sliding Entrances
  44. { label: 'Slide In Down', value: 'slideInDown' },
  45. { label: 'Slide In Left', value: 'slideInLeft' },
  46. { label: 'Slide In Right', value: 'slideInRight' },
  47. { label: 'Slide In Up', value: 'slideInUp' }
  48. ];
  49. // 텍스트 효과 (반복 애니메이션)
  50. export const TEXT_EFFECTS = [
  51. { label: '없음', value: '' },
  52. // Flippers
  53. { label: 'Flip', value: 'flip' },
  54. // Common
  55. { label: 'Bounce', value: 'bounce' },
  56. { label: 'Flash', value: 'flash' },
  57. { label: 'Pulse', value: 'pulse' },
  58. { label: 'Rubber Band', value: 'rubberBand' },
  59. { label: 'Shake', value: 'shakeX' },
  60. { label: 'Swing', value: 'swing' },
  61. { label: 'Tada', value: 'tada' },
  62. { label: 'Wobble', value: 'wobble' },
  63. { label: 'Jello', value: 'jello' },
  64. { label: 'Wiggle', value: 'headShake' },
  65. ];
  66. // 폰트 옵션 (무료 한국어 웹폰트)
  67. export const FONT_OPTIONS = [
  68. { label: '기본', value: '' },
  69. { label: '맑은 고딕', value: 'Malgun Gothic' },
  70. { label: 'Spoqa Han Sans', value: 'Spoqa Han Sans Neo' },
  71. // 나눔 글꼴
  72. { label: '나눔고딕', value: 'Nanum Gothic' },
  73. { label: '나눔고딕 Eco', value: 'Nanum Gothic Eco' },
  74. { label: '나눔고딕코딩', value: 'Nanum Gothic Coding' },
  75. { label: '나눔명조', value: 'Nanum Myeongjo' },
  76. { label: '나눔명조 Eco', value: 'Nanum Myeongjo Eco' },
  77. { label: '나눔손글씨 붓', value: 'Nanum Brush Script' },
  78. { label: '나눔손글씨 펜', value: 'Nanum Pen Script' },
  79. { label: '나눔바른펜', value: 'NanumBarunpen' },
  80. // 제주 서체
  81. { label: '제주고딕', value: 'Jeju Gothic' },
  82. { label: '제주명조', value: 'Jeju Myeongjo' },
  83. { label: '제주한라산', value: 'Jeju Hallasan' },
  84. // 서울 서체
  85. { label: '서울남산 M', value: 'Seoul Namsan M' },
  86. { label: '서울남산 B', value: 'Seoul Namsan B' },
  87. { label: '서울한강 M', value: 'Seoul Hangang M' },
  88. { label: '서울한강 B', value: 'Seoul Hangang B' },
  89. // 배달의민족 서체
  90. { label: '기랑해랑', value: 'KirangHaerang' },
  91. { label: '한나', value: 'Black Han Sans' },
  92. { label: '한나 Air', value: 'Black And White Picture' },
  93. { label: '한나는 11살', value: 'Hanna 11yrs old' },
  94. { label: '주아', value: 'Jua' },
  95. { label: '연성', value: 'Yeon Sung' },
  96. { label: '도현', value: 'Do Hyeon' },
  97. // 고도 서체
  98. { label: '고도', value: 'Godo' },
  99. { label: '고도 라운드', value: 'Godo Rounded' },
  100. { label: '고도 마음', value: 'Godo Maum' },
  101. // 기타
  102. { label: 'KoPub 바탕', value: 'KoPub Batang' },
  103. { label: 'Noto Sans KR', value: 'Noto Sans KR' },
  104. { label: '야놀자 야체', value: 'Yanolja Yache' },
  105. { label: '미생', value: 'Misaeng' },
  106. { label: '코마콘', value: 'Komacon' },
  107. { label: 'G마켓 산스 L', value: 'GmarketSans Light' },
  108. { label: 'G마켓 산스 M', value: 'GmarketSans Medium' },
  109. { label: 'G마켓 산스 B', value: 'GmarketSans Bold' },
  110. { label: '고양', value: 'Goyang' },
  111. { label: '빙그레', value: 'Binggrae' },
  112. { label: '스웨거', value: 'Swagger' }
  113. ];
  114. // 매치 타입
  115. export const MATCH_TYPES = [
  116. { label: '이상', value: 0 },
  117. { label: '해당 금액', value: 1 }
  118. ];
  119. // 기본값
  120. export const ALERT_DEFAULTS = {
  121. title: '',
  122. amount: 100,
  123. matchType: 0,
  124. message: '',
  125. playDelaySec: 0,
  126. displayDurationSec: 10,
  127. popupEffect: null as string|null,
  128. textEffect: null as string|null,
  129. nicknameFontFamily: null as string|null,
  130. nicknameFontSize: 24,
  131. nicknameFontColor: '#FFD700',
  132. amountFontFamily: null as string|null,
  133. amountFontSize: 24,
  134. amountFontColor: '#FF6B35',
  135. messageFontFamily: null as string|null,
  136. messageFontSize: 18,
  137. messageFontColor: '#FFFFFF',
  138. templateFontFamily: null as string|null,
  139. templateFontSize: 24,
  140. templateFontColor: '#FFFFFF',
  141. enableImage: false,
  142. imageUrl: null as string|null,
  143. enableSound: false,
  144. soundUrl: null as string|null,
  145. isActive: true
  146. };