finance.crowny.org 초대 바이럴 프론트엔드
개요
크라우니파이낸스 챗(web/)에 초대 바이럴 UI 추가. 전화번호부 동기화 + 가입 알림 토스트/피드 + 1맘 보상 카운터. 백엔드 .한선 무수정, 기존 챗 8단계 흐름 보존.
무엇을 했는지
- chat.js: 초대 모듈(localInvite/inviteCard/inviteSync/rewardCard/localInviteRewards/pollFeed/pushToast/startFeedPolling). referral 단계에 "지인 연락처 등록(초대)" 칩, finishReceived/track에도 초대 칩. 자유입력 intent go_invite. 잔여 폴리시: setChips가 최신 봇 메시지 바로 아래 인라인 칩 앵커링(하단 트레이 보존).
- chat.css: .invite-card / .invite-reward-card / .inv-toast(-stack) / .inline-chips. 디자인토큰 상속(베이지+골드, light/dark), reduced-motion 처리.
- 백엔드 스키마 정확 매칭: feed {feed:[{id,type,message}]}, rewards {momEarned,krw,joinedCount}, sync {registered,rejected}, join {message}. message에 마스킹 이름 포함 → "OOO님이 크라우니에 가입하셨습니다!" 그대로 표시.
- 피드 폴링 20초, 최초 1회는 기준선만 잡고 누적 토스트 미분출. jget/jpost가 /api 프리픽스.
관련 파일
- /Users/ef/crowny-finance/web/assets/chat.js
- /Users/ef/crowny-finance/web/assets/chat.css
잔여 이슈
- :9750 한선씨 백엔드 미기동(별 세션 책임) → 라이브 end-to-end 검증은 백엔드 기동 후. 스키마는 소스(L1282 알림피드JSON 등) 대조 완료.
- source(ai/bank) 피드 변형 렌더는 백엔드가 feed에 source 필드 추가 시 확장 가능(현재 message만).