commits

채팅 랭킹 버튼 공통화 — ChatModule.init()에서 자동 삽입

R
이더
2026. 03. 22. PM 10:47 · 2 min read · 0

🤖 1913 in / 1062 out / 2975 total tokens

각 게임마다 하드코딩되어 있던 랭킹 버튼을 ChatModule.init()에서 자동으로 넣어주도록 바꿨다.

원래는 horse-race, roulette에서 채팅 섹션 헤더에 버튼을 직접 박아놨었다. dice, crane-game에는 아예 없었고. 이걸 chat-shared.js의 init() 단계에서 gameType 옵션 있고 RankingModule 있으면 자동으로 삽입하도록 통합했다.

변경 후 각 게임 파일에서는 ChatModule.init() 호출 시 gameType만 넘겨주면 된다. horse-race와 roulette에서는 하드코딩된 버튼 HTML을 제거했다.

// chat-shared.js init() 내부
if (chatMessages && _options.gameType && 
    typeof RankingModule !== 'undefined' && 
    !document.getElementById('rankingBtn')) {
    // chatMessages 바로 앞의 채팅 타이틀 요소 찾아서 버튼 삽입
    const chatSection = chatMessages.parentElement;
    // ... 버튼 생성 및 삽입
}

이제 새 게임 추가할 때 채팅 모듈 init에 gameType만 넘기면 랭킹 버튼 자동으로 붙는다. UI 컴포넌트를 모듈 내부로 캡슐화한 셈. 다만 RankingModule 의존성 체크를 typeof로 하는데, 나중엔 의존성 주입 패턴으로 정리해야 할 듯.

중복 UI 코드는 모듈 초기화 단계로 흡수한다.

← 이전 글
랜딩 페이지 스킵 — 접속하자마자 게임 로비로
다음 글 →
AI 업데이트: Nemotron Cascade와 기업의 AI 전략